I&#39;ve got nothing to offer right now but encouragement.&nbsp; There are so many problems that are much easier to express as constraints that we really should have a simple framework for that available right out of the box so to speak.&nbsp; There have been several different implementations of constraint systems over the years in Smalltalk, but they all seemed to have various issues with them (neglect, lack of docs, not integrated with normal objects, etc).&nbsp; I think it would also be worthwhile to construct a small tutorial that shows how to use it.&nbsp; Maybe a scheduling example would be good (i.e. employees that have constraints on when they are available to work).<br>
<br>- Stephen<br><br><div class="gmail_quote">On Fri, Jun 20, 2008 at 7:25 AM, Stéphane Rollandin &lt;<a href="mailto:lecteur@zogotounga.net">lecteur@zogotounga.net</a>&gt; wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
hello list,<br>
<br>
the latest version of Prolog I just uploaded on SqueakMap features major changes (in my view improvements :) and is now seriously departing from the original Mike Teng code; it is backward compatible though.<br>
<br>
main points:<br>
<br>
* refactored the core code for clarity<br>
* fixed the semantics of or() and and() which are now exactly equivalent to the standard ; and , operators<br>
* defined three levels of database scoping: global, class-local and instance-local (global is still the default)<br>
* cached the mapping from prolog predicates (symbols) to their actual implementors (selectors) for faster evaluation<br>
* implemented an API for calling Prolog from Smalltalk directly, bypassing LParser/LCompiler. this is similar to the way LispKit interpreters handle code written in Array syntax and makes it possible to populate Prolog databases (which can now be class-local as stated above) with facts about live Smalltalk objects<br>

* enabled easy redirection of printed output (to Transcript or to an arbitrary WriteStream)<br>
* improved the GUI<br>
* added tests<br>
<br>
<br>
feedback, criticism, suggestions, etc. welcomed as usual<br>
<br>
<br>
Stef<br>
<br>
<br>
</blockquote></div><br>