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

T -> Scheme



    Date: Wednesday, 22 August 1984  15:20-EDT
    From: rees at decwrl.ARPA (Jonathan Rees)

    But in T (and in Scheme 311), it does [create bindings visible
    outside the LET], and sometimes you want that.  The problem is how
    to express the same thing in MIT Scheme.

I guess that I tried to respond to that in my (erroneous) message.
The key is to divorce the definitions from the assignments that supply
their values (A kind of "single-assignment" model).  Then the
definitions appear in whatever environment is appropriate.

In fact, we commonly export names using

(define x)
(define y)
(let ... (set! x ...) ... (set! y ...) ...)

and this general method gives fairly good expressive power.  The main
problem is that the syntax is not very good, but we're working on
that.  In fact, the major problem seems to be the development of a
module system (like John is working on) that provides for
import/export behaviour, some independence of loading order, etc.