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: [EMAIL PROTECTED]
url: http://www.cs.kuleuven.be/~toms/
_______________________________________________
Haskell-Cafe mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/haskell-cafe