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