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

Re: module questions



> Date: Wed, 2 Jan 2002 14:20:33 -0700 (MST)
> From: Matthew Flatt <mflatt@cs.utah.edu>
> Cc: plt-scheme@fast.cs.utah.edu
> 
> Quoting Michael Vanier:
> > What I want to do would look something like this:
> > 
> > (module foo mzscheme
> >   (provide all)
> > 
> >   (define (func1 x y z) ...)
> >   (define (func2 x y) ...)
> > 
> >   ...
> > 
> > )
> > 
> > or (more often):
> > 
> > (module foo mzscheme
> >   (provide all-but func1 func10 func99)
> > 
> >   (define (func1 x y z) ...)
> >   (define (func2 x y) ...)
> > 
> >   ...
> > 
> > )
> > 
> > This seems fully in keeping with the current syntax.
> 
> Yes. You mean `all-defined', right? (As oppposed to
> `all-defined-and-imported'?)

Yes.

> 
> > On a completely unrelated note, I've been going through the unit
> > documentation, and this question occurred to me: how do you invoke a unit
> > that is located in a different file?
> 
> I'm not sure I understand the question, but I expect that the answer is
> the same as for the question "how do you call a function that is
> located in a different file?"
> 
> Matthew
> 

By using "load" or the module system, right?  If the latter, then how does
one use units to avoid the mutual-recursion-between-modules problem
described previously if the units are in different modules?  I may be
missing something obvious here, so be gentle :-)

Mike