Hi Julian, Julian Graham <jool...@gmail.com> 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'.