Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!think.com!snorkelwacker.mit.edu!ai-lab!zurich.ai.mit.edu!markf From: markf@zurich.ai.mit.edu (Mark Friedman) Newsgroups: comp.lang.scheme Subject: Re: Making programs out of modules in Scheme Message-ID: Date: 24 Jun 91 15:01:38 GMT References: <6384@goanna.cs.rmit.oz.au> <507@data.UUCP> Sender: news@ai.mit.edu Reply-To: markf@zurich.ai.mit.edu Organization: M.I.T. Artificial Intelligence Lab. Lines: 45 In-reply-to: kend@data.UUCP's message of 21 Jun 91 16:28:22 GMT In article <507@data.UUCP> kend@data.UUCP (Ken Dickey) writes: >markf@zurich.ai.mit.edu (Mark Friedman) writes: >The question is whether the standard language has sufficient >capabilities to build a module system. Without LOAD or EVAL I >don't see how to do it. I think that you can lighten up a bit here Mark. I certainly didn't mean to be heavy, in fact, I am not particularly upset about not having LOAD or EVAL in the standard. I was just making a technical response to Richard O'Keefe's claim of being able to write a file oriented module system. It would be very nice if some future version of the RnRS and thence the IEEE standard specified such a beast. PS: As to doing a module system without LOAD, you can always take the maximalist approach: ... (define suzie-module (let () (define (fact n) (let loop ((n n)(a 1)) (if (< n 2) a (loop (- n 1) (* n a)))) ) (define moby-quux ...) ... (module fact moby-quux ...) ) ) ... (define fact (suzie-module 'fact)) I thought that Richard's claim was about a file oriented module system. The file loading is the hard part without LOAD or EVAL. -Mark -- Mark Friedman MIT Artificial Intelligence Lab 545 Technology Sq. Cambridge, Ma. 02139 markf@zurich.ai.mit.edu