This is the mail archive of the
guile@sourceware.cygnus.com
mailing list for the Guile project.
Re: nested modules / anonymous modules
- To: Jost Boekemeier <jostobfe at calvados dot zrz dot TU-Berlin dot DE>
- Subject: Re: nested modules / anonymous modules
- From: Miroslav Silovic <silovic at zesoi dot fer dot hr>
- Date: 16 Oct 1999 01:20:27 +0200
- Cc: Mikael Djurfeldt <djurfeldt at nada dot kth dot se>, Craig Brozefsky <craig at red-bean dot com>, Klaus dot Schilling at home dot ivm dot de, Marius Vollmer <mvo at zagadka dot ping dot de>, guile at sourceware dot cygnus dot com
- References: <199909131751.RAA12898@linux.zrz.TU-Berlin.DE> <xy7671ee89x.fsf@mdj-pc.nada.kth.se> <oflna9sxyo.fsf@chl.tbit.dk> <xy7k8pty0l3.fsf@mdj-pc.nada.kth.se> <m2ogf5mqkm.fsf@magnus.bothner.com> <xy7iu5ds8w9.fsf@mdj-pc.nada.kth.se> <xy77llng8t7.fsf@thalamus.nada.kth.se> <879063lowi.fsf@zagadka.ping.de> <m11ShfH-000H40C@debian> <87n1uiswly.fsf@sanpietro.red-bean.com> <xy73dwaladu.fsf@thalamus.nada.kth.se> <87k8plqvcq.fsf@sanpietro.red-bean.com> <xy7ogevahq9.fsf@thalamus.nada.kth.se> <199910152151.VAA06072@linux.zrz.TU-Berlin.DE>
Jost Boekemeier <jostobfe@calvados.zrz.TU-Berlin.DE> writes:
> 3. No global state variable and a "meta" module which describes the state
> of all modules and carries their signatures.
>
> ;; in the "meta" module (let's call it `config-module'):
>
> (define some-value 1)
> (define mod-signature1
> (module (ice-9 test)
> (open (ice-9 debug))
> (export ...)
> (begin
> (define a 12)
> some-value ; -> error
^^^^^^^^^^^^^^^^^^^^^
This semantics breaks lexical scoping and is clearly unacceptable in
Scheme. 1 actually handles this better (and please explain why it's
the same as having no modules at all - modules are about what goes
out, not what comes in).
> (module ...; -> error
> ))))
>
> some-value -> 1
>
> (define mod-signature2
> (module (ice-9 test2))
> (export ...)
> (file ...))
>
>
>
--
How to eff the ineffable?