[r6rs-discuss] [Formal] Relax ordering constraint on library bodies

Per Bothner per at bothner.com
Mon Jan 22 12:30:16 EST 2007


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/



More information about the r6rs-discuss mailing list