[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