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

(define x)

    From: Jonathan A Rees <JAR@AI.AI.MIT.EDU>

    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.

I would like to support the proposal as a perspicuous way to introduce a
variable whose purpose in life is to be side-effected.    -Bert Halstead