Hi Andy,

> I also think we should have `library' and `import' in the basic
> environment. In order to do this I would like for them in boot-9.scm,
> not in a separate module, and implemented in terms of syntax-case.
>
> Implementing `library' in terms of syntax-case will allow `library' to
> expand out to (begin (define-module (foo) #:pure) (import a ...) ...),
> which allows imports to be processed only in the `import' macro. The
> `import' macro will be resolved in `(guile)' even though the module is
> pure, due to hygiene. No toplevel-defined helper functions will be
> necessary.
>
> Does this sound sensible to you?

It sure does.  (Sorry about the delay in replying -- I haven't had a
lot of time for Guile this week, plus I wanted to let everyone resolve
their thinking about boot-9.)  Just a warning, though: I may need some
syntax-case hand-holding.


> If so, can you make a git branch that (1) adds `library' and `import' to
> boot-9, then adds the other modules, one-by-one with tests? I've got my
> finger on the merge trigger :)

Will do.


Regards,
Julian


Reply via email to