Which other Scheme and Lisp implementations have environments similar to S7?
I don't know of any that are similar to s7, but the underlying ideas are not new.
Both Common Lisp and Scheme have rudimentary support for environments. I believe r5rs scheme had null-environment and scheme-report-environment (the top-level?), but they are immutable. CL had augment-environment (or was this ACL?). MIT Scheme had a way to make a new environment, and probably a way to pass it to eval. I think in Guile you can pass a module to eval, treating it as an environment. I think you mentioned earlier that Clojure had name spaces -- I don't know if they can be used by the evaluation process. Anyway, it seemed to me that lets, environments, name-spaces, dictionaries, etc are all the same thing and it would be interesting to make it possible for the programmer to use them (as first class environments) during evaluation. A let then becomes what other schemes call a module or library. In hygienic macros the implementor no longer has to intuit what environment a given name comes from. A lot of things become simpler. _______________________________________________ Cmdist mailing list [email protected] https://cm-mail.stanford.edu/mailman/listinfo/cmdist
