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

Roel Wuyts Roel.Wuyts at ulb.ac.be
Mon Mar 26 08:36:14 UTC 2007


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 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
>
>
> _______________________________________________
> Beginners mailing list
> Beginners at lists.squeakfoundation.org
> http://lists.squeakfoundation.org/mailman/listinfo/beginners



More information about the Beginners mailing list