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

(define x)

I think I agree with Kent Dybvig that if (define x) is allowed at top
level, then it should be allowed internally.

I would hate to see some functionality become available through define
that was not available through letrec, so I would advise adopting
(define x) ONLY if letrec is also extended so that
  (letrec ((x) ...) ...)
  (letrec ((x <unassigned>) ...) ...).

For orthogonality's sake, this should also, I believe, require
  (let ((x) ...) ...)
to mean
  (let ((x <unassigned>) ...) ...),
and similarly for let*, named let (?), and do (??).  Consider this proposed,
and please talk me out of this madness.