[Newbies] where to "put" a unification algorithm...

Guillaume Grondin grondin at ensm-douai.fr
Fri Mar 23 11:58:50 UTC 2007


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 at ulb.ac.be> 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 at ensm-douai.fr
http://csl.ensm-douai.fr/grondin




More information about the Beginners mailing list