On Sun, 2009-04-26 at 05:42 +0200, Michele Simionato wrote: > On Sun, Apr 26, 2009 at 4:28 AM, Derick Eddington > <[email protected]> wrote: > > Is that your intent? Why overload them with unnecessary info? Why not > > only talk about what they need to know to write portable code -- phase > > separation requires putting non-internally-defined macro helpers in > > separate libraries; library expressions are for initializing a library > > and should not cause visible side-effects nor depend on external mutable > > state. They can learn about the implementation-specific alternatives > > if/when they're advanced macro users. > > Well, my motivation for writing the Adventures was to learn macros. > After the episodes on the module system, I have a bunch of episodes > about about advanced macros. Explaining the subtleties of > the module system is essential for that.
Explaining implementation-specific subtleties is not at all necessary for explaining *portable* macros, no mater how advanced. What I meant was: they can learn about implementation-specific differences if/when they care to know and are able to understand in relation to what they really need to know: portability. Explaining the differences isn't going to help them understand what I think they want to understand: how to make portable macros. > Also, I feel there is > a need for a "serious" document describing the module system, > even independently from the Adventures. Moreover, I will give > a talk about the R6RS module system here > http://www.european-lisp-symposium..org/ > therefore I need to write out all this. And anyway, I do not think > Schemers are scared of being overloaded by excessive info ;-) I would be angry at you if I learned you wasted my time with explanations of implementation differences which I don't need to know to make portable macros so that you could advance your understanding and practice your writing. I'd just want to know: there is not consensus about the entirety of library semantics and implementations have different extended semantics, but the portable semantics is enough to make many useful real-world things and that semantics is this and that. -- : Derick ----------------------------------------------------------------
