logo       

Re: where to "put" a unification algorithm...: msg#00157

lang.smalltalk.squeak.beginners

Subject: Re: where to "put" a unification algorithm...

Sorry, I just noticed your mail.

The SOUL package on squeakource is normally stable, but very old. But the unification algorithm there should not give you problems. If you need any help, you can post messages on the SOUL mailinglist (see http://prog.vub.ac.be/SOUL/index.html ); clearly mention that you have a question about the Squeak version, since all recent work has been done for VisualWorks.

On 23 Mar 2007, at 23 March/12:58, Guillaume Grondin wrote:

Hello Chris.

I need a unification algorithm in Squeak to solve simple constraint problems.
What is the current state of your project for implementing a unification algorithm ?

BTW, does anybody known whether or not the SOUL package on squeaksource is stable.

Thanks a lot.

Guillaume Grondin

Chris Wright wrote:
On 2/16/07, Roel Wuyts <Roel.Wuyts@xxxxxxxxx> wrote:
You can put it there, yes.

But there is an important design question lurking there. If you put
the unification method on these classes, what you are really saying
is: this Smalltalk object can be unified with that Smalltalk object.
So you are then extending the Smalltalk language with unification.

That's exactly right

The alternative is to only have unification methods un your own
'unifiable objects' hierarchy. In that hierarchy you will probably
have a class called: CWNumber, which represents numbers in your
language and which will hold a Smalltalk number.

Which alternative to choose depends on whether, and how deep, you
want to integrate Smalltalk and your own language. Unless you really
want to mingle Smalltalk objects within your language, or want
unification directly accessible at the Smalltalk level without having
to pass through your language, I would advise the second option.

I understand. If I did choose the second option (make my own classes -
CWNumber, CWString, CSList etc), would I then have to use a tool like
SmaCC to construct instances. The advantage of extending the existing
classes ("extending the language") seems to me that no parsing /
compiling is required to make

5 unifiesWith: 5 in: emptyEnv

work.

I would be very interested in your work on this subject.

Thanks again for the help.


--
Guillaume Grondin
Ph.D candidate in Computer Science
===========================================
Département IA, École des Mines de Douai
941, rue Charles Bourseul - BP 10838
59508 Douai Cedex
Tel : (+33) (0) 3 27 71 24 53
Fax : (+33) (0) 3 27 71 29 17
Email: grondin@xxxxxxxxxxxxx
http://csl.ensm-douai.fr/grondin


_______________________________________________
Beginners mailing list
Beginners@xxxxxxxxxxxxxxxxxxxxxxxxxx
http://lists.squeakfoundation.org/mailman/listinfo/beginners


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise