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

Re: (define x)

	From: David Bartley <bartley@mips.csc.ti.com>
	Subject: (define x)
	I think internal (DEFINE X) has much less justification than top-level
	ones, so I'd rather avoid the mess of allowing (LETREC ((X) (Y)) ...).

I disagree.  If it is going to be allowed at top-level, and it probably
should be, then it should be allowed internally.  We can show the
expansion as "(letrec ((x <undefined>)) ...)", if we want, as with the
derived expansion for letrec in the formal semantics section.  It makes
no sense to have a different syntax for internal defines from that of
external defines.  I would use "(define x)" internally just as much as
I would use it externally, and for the same reasons.