On Sat, Apr 18, 2009 at 11:39 AM, Abdulaziz Ghuloum <[email protected]> wrote: >> but for mere mortals such a document would be pretty useful. > > Very useful if you can give an unbiased informative account of the > similarities as well as the differences.
Well, I am as opinionated and biased as everybody else in the Scheme community ! ;-) > I mean, one could write > such article and make it sound so grim that no library could ever > be written and shared between implementations. I see why one would be tempted to do so. > This is obviously not the case. The portability problems are most visible > when one > performs side effects, e.g., reading from stdin, printing, set!ing, > in times when the report does not mandate one specific behavior. > [FWIW, I don't think the report should have nailed each and every > such behavior; some of the issues are better left underspecified > as is done in every language specification.] Indeed. I think a comprehensive document is beyond my forces (also because R6RS implementations are a moving target) but at least I can document the difficulties I encountered when porting a library involving nontrivial macros across different implementations. I can give some advice about what is portable and what is not, describe the differences between implementations with phase separation and without, discuss some issues with side effects and other such things.
