[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
PROG* and related forms
- To: KMP at MIT-MC
- Subject: PROG* and related forms
- From: Alan Bawden <ALAN at MIT-AI>
- Date: Sat ,10 Nov 79 02:09:00 EDT
cc: BUG-LISPM at MIT-AI, BUG-LISP at MIT-AI, NIL at MIT-MC
Date: 10 NOV 1979 0048-EST
From: KMP at MIT-MC (Kent M. Pitman)
Could we introduce a LAMBDA* operator which did bindings sequentially?
Consider the following form, which returns the value 4.
((LAMBDA* (A A A) (1+ A)) 1 (1+ A) (1+ A))
Are you serious? You must be kidding. You can't really mean this.
Consider: what does (LAMBDA* (A A A) (1+ A)) mean under your scheme?
It would have to be the equivalent to:
(LAMBDA ("E X Y Z)
(SETQ A (EVAL X))
(SETQ A (EVAL Y))
(SETQ A (EVAL Z))
(1+ A))
Surely this ugly thing cannot be considered usefull. Clearly what you
have in mind is that LAMBDA* only be used in places like the one you
gave as an example: "((LAMBDA*", in which case What you want is LET*.