[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

duplicated formals



Proposed:

The list of formal variables in LAMBDA, LET, LETREC, and DO (but not
LET*) should not contain duplications.  E.g. (LAMBDA (X Y X) ...) is
illegal.

In the case of named LET, the formals in the initial bindings list
should be distinct, but it's OK (useless, however) if the "name"
is also a formal.  E.g., (LET FOO ((X 1) (FOO 2)) ...) is legal.

Rationale: the constraints on the derived expression types should all
derive from the primitive expression type (namely LAMBDA) from which
they derive.