[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: r6rs libraries
From: |
Ludovic Courtès |
Subject: |
Re: r6rs libraries |
Date: |
Wed, 04 Mar 2009 09:39:50 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.90 (gnu/linux) |
Hi Julian,
Julian Graham <address@hidden> writes:
> * I'm pleased to report that both the balloons example and the
> quotient+remainder macro example are working, which I'm going to take
> as more or less a vindication of the module environment-based implicit
> phasing approach I've been using. (I didn't quite trust it at first,
> but it turns out that when you call `syncase' in the right context, it
> does exactly what you want it to, even when it comes to modules!)
Good news!
> * The on-disk directory organization I've been using for the interim
> (and around which I've written a rudimentary library load mechanism)
> prefixes version numbers with periods. E.g., `(foo bar baz (6))' ->
> foo/bar/.6/baz.scm.
But dot files are traditionally "hidden" on Unices. Why not go with
`foo/bar/6/baz.scm'?
> (foo bar baz (6))
>
> ...would be live in
>
> $GUILE_LOAD_PATH/ice-9/r6rs-libraries/foo/bar/baz-6.scm
>
> ...and could be imported using either `(import (foo bar baz (6))' or
> `(use-modules (ice-9 r6rs-libraries foo bar baz-6))'. What do people
> think? (Of course, this still leaves open the question of how to
> handle version-matching...)
The `r6rs-libraries' part of the module name is just a matter of load
path. The important thing here is that both `import' and `use-modules'
do the right thing. Then I would not force R6RS module writers to store
them under `ice-9/r6rs-libraries' as this is inconvenient and doesn't
provide any advantage (AFAICS).
Thanks!
Ludo'.