[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Comments and some bugs

This page is part of the web mail archives of SRFI 54 from before July 7th, 2015. The new archives for SRFI 54 contain all messages, not just those from before July 7th, 2015.



The idea of a SRFI for easy formatting of numbers
are good.


Comments
--------

  - the name OBJECT->STRING is more "Schemy"
    (it's pretty long though)

  - I find the name of the parameter DEPTH in the documentation
    confusing. (It makes me think in two dimensional output)

  - An way to get a hard limit on the width of numbers would be
    convenient.

    > (fmt -1.3333 5 4 'hard-width)
    "-1.33"

  - The
        [[<width>] [<depth>] [<char>] [<radix>] [<plus>] [<exactness>]]
    should probably be
        [<width>] [[<depth>] [[<char>] [[<radix>] [[<plus>]
        [<exactness>]]]]]]

  - I think the exactness parameter is underspecified.
    E.g. what happens if I use 'e with an inexact number?

  - I find the specification of the (FMT <others>) a little too short


BUGS
----

1. There appears to be a problem in the case
   where a negative number is truncated:

     > (fmt -1.55555 3 2)
     "-1.54"

   My TI-83 writes "-1.56".


2.

   I don't understand this behaviour:

    > (fmt -5.0 0 #\space 10 + 'e)
    . fmt: exact number cannot have a decimal point 10 depth

    > (fmt -5 0 #\space 10 + 'e)
    . fmt: exact number cannot have a decimal point 10 depth

3.

    ; DrScheme prints exact rationals as p/q
    > (fmt 1/2 0 #\space 10 +)
    "+1/2.0000000000"

    > (fmt 1/2)
    "1/2"
    > (fmt 1/2 5)
    "  1/2"
    > (fmt 1/2 5 0)

    ; The period should be there when depth is 0
    " 1/2."
    > (fmt 1/2 5 2)
    "1/2.00"

    ; my fault forgot #\space, but strange error
    > (fmt 1/2 5 2 10)
    . fmt: bad argument (10) (null? (10))

     ; An error saying that radix should be 'b 'd 'o or 'x would
     ; be more helpful
    > (fmt 1/2 5 2 #\space 10)
    . fmt: bad argument (10) (null? (10))

--
Jens Axel Søgaard