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

Re: Numbers Committee Report

Three comments (of #I10e10):

***** I certainly hope there are fewer than that!

1.  (/ z1 ... zi) ==> ((z1 / z2) ... / zi)
-- since / is not associative, the order of operation should be
specified explicitly.  This is probably just an editing issue.

***** I agree and I have already fixed that.

2. Are formats list structures or some other kind of object? That is
do you write

(let ((format (cons 'FLO '(13))))
     (number->string z format))

or is FLO some kind of functional object?  

***** My initial response is that formats are simple list structures -- 
      there may be some format interpreter, but it should not be part of 
      Scheme.  Presumably this can be later generalized and simplified, if
      someone wants to go through the trouble, but I would be happy with
      the dumb idea.

3.  In paragraph K, are real, integer, etc supposed to be functions or
keywords?  That is, can you write

(let ((range real))
     ((range sqrt) x)) ?

In either case, this proposal ties up those identifiers in a pretty
complicated way.  I am not sure how bad this is, but it deserves

***** The type-restriction operations are intended to be scheme procedures
      which take procedures as arguments and which produce procedures as
      values.  They are bound in the initial environment to the operator
      symbols REAL, INTEGER, etc.  They may be passed as arguments, etc.
      Thus, this does not tie up the identifiers at all, and the example
      you give shows that.