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

Re: IEEE Standard




| At  2:51 PM 8/8/94 -0400, dak@sq.com wrote:
| >The R4RS has a minor bug in 7.1.5, "Programs and definitions" in that:
| ...
| >
| >doesn't allow:
| >
| >(define (foo . args) ...)
| 
| 
| This is correct.
|   (define foo (lambda ( . args) ...))
| is also disallowed.
| 
| This is a feature, not a bug.  It is the same in R^4RS.  If you "fix" this,
| by definition you are non-standard.
| 
| -Ken

R4RS, 5.2, "Definitions" states:

[third form]

	(define (<variable> . <formal>) <body>)

	This syntax is not essential.  <Formal> should be a single variable.
	This form is equivalent to

	  (define <variable>
	    (lambda <formal> <body>)).


There doesn't appear to be an equivalent production or derivation in 7.1.5., 
therefore the R^4RS has a (very minor) bug.  Changing the + to a * doesn't
work, as you note above; I suppose that a production which mirrors the text
of the report makes the most sense.

Best wishes,
Dak