[r6rs-discuss] [Formal] defer lambda rather than define rhs when
expanding body
Abdulaziz Ghuloum
aghuloum at cs.indiana.edu
Mon Mar 12 04:10:25 EDT 2007
On Mar 12, 2007, at 3:54 AM, Per Bothner wrote:
>> What's so special about expanding a lambda anyways? What about
>> case-lambda,
>> delay, forms that expand to some occurrence of lambda (e.g. let,
>> cond, etc.),
>> lambdas embedded in other expressions, e.g. (cons (lambda ()
>> (MAC)) 12),
>> etc.? What does your proposal say about these?
>
> I believe there are all derived forms, defined in terms of lambda.
> (Or at least they can be, and were in R5RS.)
So, according to your proposal, should the following examples be
allowed or
disallowed to come before a (define-syntax MAC ---):
1. (define t1 (cons (MAC) #f))
2. (define t2 (cons (lambda () (MAC)) #f))
3. (define t3 (let ([x (MAC)]) x))
4. (define t4 (let () (MAC)))
5. (define t5 (cond [foo => (MAC)]))
6. (define t6 (if #f (MAC)))
Aziz,,,
More information about the r6rs-discuss
mailing list