[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