John Cowan wrote:
> Eliminating the distinction between library bodies and toplevel bodies
> also allows a simplification in both description and understanding.
Why not go further: relax ordering constraint on *all* bodies?
Why can't I do:
(define (f x)
(define y (use x))
(display y)
(define z (use x y))
(display z)
(use x y z))
Kawa allows this, so there is prior art. Java, C++, the current
C standard and C# all (I believe) allow this. (Though they don't
support recursive definitions in the same way.) This is useful to
avoid cluttering up the program and indentation with extra nesting.
Making this change simplifies section 8 "Expansion process",
Allowing arbitrary interleaving is described in the last
paragraph; just merge that process into the main body.
--
--Per Bothner
per_at_bothner.com http://per.bothner.com/
Received on Mon Jan 22 2007 - 12:30:16 UTC