Path: utzoo!utgpu!water!watmath!clyde!bellcore!faline!scherzo!allegra!princeton!udel!rochester!neal From: neal@rochester.UUCP Newsgroups: comp.lang.scheme Subject: is make-environment really necessary for packages? Keywords: make-environment environment eval access Message-ID: <6722@sol.ARPA> Date: 11 Feb 88 19:09:35 GMT Organization: U of Rochester, CS Dept., Rochester, NY Lines: 42 Posted: Thu Feb 11 14:09:35 1988 I do not understand the need for an explicit environment type in scheme. It seems that lambda could serve the same purpose. Suppose there were not an explicit environment type. In this case, the procedure "eval" would take only a single parameter: the expression to be evaluated (in the current environment). Packages, which are currently created this way: (define foo (make-environment (define x ...) (define y ...) ... )) and used this way: (eval '(expression) foo) Could still be created this way: (define foo (let () (define x ...) (define y ...) ... (lambda (_x) (eval _x)) )) and used this way: (foo '(expression)) It would appear that environments are unnecessary. The Revised^3 report does not include any description of "make-environment", "eval", or "access". Neal Gafter -- Arpa: neal@cs.rochester.edu (Neal Gafter) UUCP: ...{rocksvax|allegra|decvax}!rochester!neal USnail: Department of Computer Science, U. of Rochester, N.Y. 14627 phone: (716) 275 - 1348 (office) or (716) 473 - 2361 (home)