(missing)
Re: [Scheme-reports] library at file level Per Bothner (13 May 2013 16:54 UTC)
Re: [Scheme-reports] library at file level (was: Ratification vote for R7RS Small) Aaron W. Hsu (13 May 2013 19:58 UTC)
Re: [Scheme-reports] library at file level Andy Wingo (15 May 2013 19:05 UTC)
Re: [Scheme-reports] library at file level John Cowan (15 May 2013 19:14 UTC)
Re: [Scheme-reports] library at file level taylanbayirli@gmail.com (15 May 2013 20:12 UTC)
Re: [Scheme-reports] library at file level John Cowan (15 May 2013 21:07 UTC)

Re: [Scheme-reports] library at file level (was: Ratification vote for R7RS Small) Aaron W. Hsu 13 May 2013 19:55 UTC
On Mon, 2013-05-13 at 10:19 -0400, John Cowan wrote:

> The two libraries must import each other, which is banned by R6RS;
> what is more, probably most compilers can't handle this because they
> only compile one library at a time.

It is sometimes necessary to compile libraries independently.
Introducing a simple, clean, syntactic module system that controls
binding visibility while leaving "libraries" as compile time units whose
dependencies form a DAG simplifies matters. [Undoubtedly, my experiences
with using Chez Scheme greatly influence my opinions here.]
When a module form is just another binding construct, you get a number
of benefits:

  * You can easily write mutually recursive modules;
  * You get fine-grained control of binding visibility with local
    imports and local module definitions;
  * You eliminate the need for complicated semantics of a LET-SYNTAX
    and family, since all the syntax binders can be replaced by
    module definitions, which give you better control over scoping
    and visibility.

You lose the ability to separately compile modules, so they do not
replace compilation units like `define-library`, but they excel at
replacing `let-syntax` or for modularizing circularly dependent code.
Thus, have them both, use them for the right tasks, profit.

	Yours truly,

		Aaron W. Hsu

--
Aaron W. Hsu | arcfide@sacrideo.us | http://www.sacrideo.us

_______________________________________________
Scheme-reports mailing list
Scheme-reports@scheme-reports.org
http://lists.scheme-reports.org/cgi-bin/mailman/listinfo/scheme-reports