[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
NAMED-LAMBDA, REC, DEFINE
Date: Sat, 29 Mar 1986 16:53 EST
From: CPH%OZ.AI.MIT.EDU at XX.LCS.MIT.EDU
So I would like to retract my earlier statement in support of the
simpler semantics.
One man's simple is another's complex... could you be more precise?
Which one do you like now?
Alternative A (Norman's and mine and S&ICP's):
(define (foo . rest) . body)
means the same thing as
(define foo (lambda rest . body))
Alternative B (RRRS's and MIT Scheme's):
(define (foo . rest) . body)
means the same thing as
(define foo (letrec ((foo (lambda rest . body))) ;or any equivalent syntax
foo))
if foo is an identifier, and means the same as
(define foo (lambda rest . body))
if foo is of the form (bar . rest).
Alternative C:
<fill in the blank>
- Jonathan