jonwa@ida.liu.se (Jonas Wallgren) (09/18/90)
What is unification? How would you describe or explain unification in a simple way, with as few technicalities as possible? Is "equation solving" a good candidate? Well, what do you mean by equation solving? Does it have to result in a number of variable bindings (a unifier)? Or could I say that a=b is solved if I can construct a c that is the result of trying to get a and b equal? My specific problem has to do with types: If I have a=int and b=X (a type variable) I can solve a=b by letting X=int and substitute that on both sides to get int=int. But if I also allow sum types (e.g. overloading) I could have a=int and b=bool and then solve a=b by saying that the resulting type c should be int+bool. Would you call this equation solving? Would you call it unification? If not, what would you call it? ------------------------------------------------------------------------------- Jonas Wallgren | jwc@ida.liu.se Department of Computer and Information Science | Linkoping University |------------------------------- SE-581 83 Linkoping | Sweden |(\x.xx)(\x.x):(forall a.(a->a)) -------------------------------------------------------------------------------