[Newbies] where to "put" a unification algorithm...
grondin at ensm-douai.fr
Fri Mar 23 11:58:50 UTC 2007
I need a unification algorithm in Squeak to solve simple constraint
What is the current state of your project for implementing a unification
BTW, does anybody known whether or not the SOUL package on squeaksource
Thanks a lot.
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
> I would be very interested in your work on this subject.
> Thanks again for the help.
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
More information about the Beginners