<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Nov 20, 2019 at 3:55 PM Marc Feeley <<a href="mailto:feeley@iro.umontreal.ca">feeley@iro.umontreal.ca</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">With all the changes to Gambit recently it is time to think about Gambit v5.0.0 which will probably be released in the next 6-12 months and include some backward incompatible changes due to the evolution of the linking model for the new module system.<br>
<br></blockquote><div><br></div><div>Can you elaborate on these changes and how they will affect existing code?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Another backward incompatible change would be switching to multithreaded VMs by default, and the SMP scheduler.  But this will require community involvement to weed out the issues and make sure it is rock solid.<br>
<br></blockquote><div><br></div><div>This will need quite a bit more testing and debugging! But I am dreaming about the day when this becomes rock solid :)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
One backward incompatible change that could also happen at that point is a change of the default character encoding to UTF-8 (currently Gambit defaults to ISO-8859-1, aka latin-1, for all I/O unless configured otherwise with --enable-default-runtime-options=...).  The nice thing about the ISO-8859-1 encoding is the 1-to-1 mapping between characters and bytes, so a program can do character I/O to read/write binary files, which was the only way to do binary I/O in the old days of Scheme (so some programs might depend on that).  Nowadays many environments support UTF-8 well.<br>
<br></blockquote><div><br></div><div>+1 for this.<br></div><div> </div><div>-- vyzo<br></div></div></div>