[squeak-dev] [ANN] new release of Prolog

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

[squeak-dev] [ANN] new release of Prolog

Stéphane Rollandin
hello list,

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.

main points:

* refactored the core code for clarity
* fixed the semantics of or() and and() which are now exactly equivalent
to the standard ; and , operators
* defined three levels of database scoping: global, class-local and
instance-local (global is still the default)
* cached the mapping from prolog predicates (symbols) to their actual
implementors (selectors) for faster evaluation
* 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
* enabled easy redirection of printed output (to Transcript or to an
arbitrary WriteStream)
* improved the GUI
* added tests


feedback, criticism, suggestions, etc. welcomed as usual


Stef


Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] new release of Prolog

Stephen Pair
I've got nothing to offer right now but encouragement.  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.  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).  I think it would also be worthwhile to construct a small tutorial that shows how to use it.  Maybe a scheduling example would be good (i.e. employees that have constraints on when they are available to work).

- Stephen

On Fri, Jun 20, 2008 at 7:25 AM, Stéphane Rollandin <[hidden email]> wrote:
hello list,

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.

main points:

* refactored the core code for clarity
* fixed the semantics of or() and and() which are now exactly equivalent to the standard ; and , operators
* defined three levels of database scoping: global, class-local and instance-local (global is still the default)
* cached the mapping from prolog predicates (symbols) to their actual implementors (selectors) for faster evaluation
* 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
* enabled easy redirection of printed output (to Transcript or to an arbitrary WriteStream)
* improved the GUI
* added tests


feedback, criticism, suggestions, etc. welcomed as usual


Stef





Reply | Threaded
Open this post in threaded view
|

Re: [squeak-dev] [ANN] new release of Prolog

Stéphane Rollandin
Stephen Pair a écrit :
> I think it would also be worthwhile to construct a small tutorial
> that shows how to use it.  Maybe a scheduling example would be good (i.e.
> employees that have constraints on when they are available to work).

yes, this is right to the point. I am actually in the process of writing
documentation and finding some good, non-trivial examples to provide,
notably for me to better understand this logic programming thingy.

I was thinking about some automatic "intelligent" windows arrangement
manager for morphic. could be fun :)

Stef