From: Ray Dillinger <[email protected]>
Subject: Re: [r6rs-discuss] Proposed features for small Scheme, part 9: modules
Date: Mon, 12 Oct 2009 09:49:32 -0700

> On Mon, 2009-10-12 at 00:31 -1000, Shiro Kawai wrote:
> 
> > (1) make import form recognized after macro expansion, or
> > (2) lift cond-expand to the module-level syntax.  
> 
> can be restated as a case of 
> 
> (1) Removing a restriction or limitation that has made  
>     additional features appear necessary, or 
> (2) Piling feature upon feature to overcome a restriction
>     or limitation. 
>
> In the spirit of scheme, I would propose "import" as a binding
> form that is fully part of the language, which can be used 
> wherever binding forms are legal and which establishes bindings
> that respect the lexical scope in which the "import" form is 
> evaluated.  And, yes, which is not limited or restricted by 
> requiring a "before macroexpansion" or "after macroexpansion" 
> condition.

That's fine as far as we know what we are trading.  What we
gain is a simple language.   What we lose is the ability to
find out what depends on which without actually running the
program. 

We need that information in *some* way, though---like in
package manager, in dependency description in makefile,
or in a separate meta-language such as srfi-7, etc.
(You may argue that you don't need it yourself, but I guess
you can't deny that there are situations that need such
information.  I personally need it to ensure that the
program I installed on a client machine includes everything
it needs).

We can decide to exclude the meta info from the language, but
then I think it is still worth to discuss how we should
represent such meta information that complements the lack
of such info in the source code.

--shiro




_______________________________________________
r6rs-discuss mailing list
[email protected]
http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss

Reply via email to