
On Fri, 25 Apr 2008, Hans Aberg wrote:
On 25 Apr 2008, at 14:20, Tom Schrijvers wrote:
Prolog works under the assumption of a closed world. That's contrary to the open world view of regular type classes. So these aren't the intended semantics.
By which I gather you mean the interpretation of ":-" as logical connective "=>" rather than provability "|-"?
What I meant was that when Prolog says "there are no more solutions", it doesn't know of any more. In realtiy it means "there no more solutions under the closed world assumption". That means there could be more solutions if you haven't told Prolog everything. In this context, there may be more class instances (you simply haven't told the system yet).
My point, though, was to interpret class a b | a -> b as a functional dependency b = b(a) rather than as D a b, D a c ==> b=c Thus trying to eliminate the use of "=".
I don't follow you here. Tom -- Tom Schrijvers Department of Computer Science K.U. Leuven Celestijnenlaan 200A B-3001 Heverlee Belgium tel: +32 16 327544 e-mail: tom.schrijvers@cs.kuleuven.be url: http://www.cs.kuleuven.be/~toms/