Hi Attila,<br><br><div class="gmail_quote">2011/12/7 Attila Lendvai <span dir="ltr"><<a href="mailto:attila.lendvai@gmail.com">attila.lendvai@gmail.com</a>></span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


so, my first question: what's the situation with r6rs? my impression<br>
is that the scheme crowd is not too keen on jumping the bandwagon...</blockquote><div><br></div><div>Indeed.</div><div><br></div><div>Go with R5RS and check out R7RS more as it progresses. You have the R7RS core spec out there already, ought be all you need.</div>

<div><br></div><div>R5RS and R7RS core code are compliant with each other, save for some easy to implement yourself procedures and forms introduced by the latter.</div><div><br></div><div>The procedures R7RS core adds to R5RS, is things most R5RS impls have already; now they're just taken into the standard.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">is the situation something like this: having a portable swank-scheme</blockquote><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">


*based* on r6rs is a good thing to pursue on the long term (with<br>
backend specific extensions ala official slime on various CL's), but I<br>
should expect bugs and headaches along the way due to r6rs<br>
immaturities of various scheme VM's?<br></blockquote><div><br></div><div>R7RS is the long term thing as it stands, and you already have a mature draft of the core spec out for it. Afaik the great majority of Scheme implementations today are R5RS.</div>

<div><br></div><div>For an implementation-portable app you'd need to sit down and look at exactly what language and runtime functionality you need, and then keep your code to use exactly that only. I'd advise you to do this originating from the R5RS spec.</div>

<div><br></div><div>Availability of unicode/char encoding, binary data handling and theading, numeric tower, and how to do networking and run external OS processes would be examples of differences in the runtime, availability of namespaces, DSSSL and what macro facilities there are would be examples of things that differ language-wise.</div>

<div><br></div><div>In case you really want to squeeze your code into just about any environment out there, you might want to make your own code preprocessor (that processes away macro-specific things i.e. macro expansion and any kind of cond-expands or alike you have to produce different code for different impls, and code handling specific things i.e. includes) that produces code runnable for respective Scheme impls.</div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">if the above holds, then i'd go that way and hunt down and/or<br>
workaround the bugs i meet along the way.<br>
<div><div></div><div class="h5"><br>
--<br>
 attila<br></div></div></blockquote><div> </div><div>Mikael</div><div><br></div></div>