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

Chris Wright chris.wright at southernhealth.org.au
Fri Feb 16 05:34:20 UTC 2007


I would like to play around with some classes which require
unification (I know about Prolog/V etc...). I am not sure where to
"put" the unification algorithm.

It might look like:

anObject unifiesWith: anotherObject in: anEnvironment

? does that seem like the right sort of selector?

So, to I put that in Number, Strings, Array, (and a class I've made - LogicVar)?

Is it "OK" to extend the functionality of the built-in classes this
way, or should I derive my own Number, String, Array --- I want to use
the parser/compiler that Squeak already has, so I want to be able to
enter:

5 unifiesWith: 5 in: emptyEnv

On the subject of return values, what's the best way to return more
than one value? Should I create my own class (UnificationReturnValue)
(then I could tell it how to respond to ifTrue/ifFalse etc), or should
I return a collection with indexes for the success-value and the
environment-value?

Thanks!

Cheers

Chris

-- 
A/Prof Chris Wright FJFICJ FRACP MBBS
Medical Director, ICU
Monash Medical Centre
Clayton, VIC


More information about the Beginners mailing list