[bitc-dev] Moose, rugs, and separate compilation
Gelf Mrogen
gelfmrogen at yahoo.com
Fri Mar 6 16:16:36 EST 2009
>typeclass Foo 'a 'b where
> testFoo: 'a -> 'b -> bool
>let doFoo: 'b -> bool =
> fun b -> testFoo 3 b
Answer: No, instance selection should always be done based on the apparent
types of things, never on the actual types. In this case, if there isn't an instance
for (testFoo Int a) in scope at the time, it's an error. If you want otherwise, add a
typeclass constraint to doFoo.
Matt
--- On Fri, 3/6/09, Sandro Magi <naasking at higherlogics.com> wrote:
From: Sandro Magi <naasking at higherlogics.com>
Subject: Re: [bitc-dev] Moose, rugs, and separate compilation
To: "Discussions about the BitC language" <bitc-dev at coyotos.org>
Date: Friday, March 6, 2009, 9:06 PM
Are you referring to a multi-parameter type class where some type
parameters are unknown? In this case, the instance would need to be
selected from the set of possible choices once the type is supplied.
typeclass Foo 'a 'b where
testFoo: 'a -> 'b -> bool
let doFoo: 'b -> bool =
fun b -> testFoo 3 b
Hmm, have to think about that.
Sandro
_______________________________________________
bitc-dev mailing list
bitc-dev at coyotos.org
http://www.coyotos.org/mailman/listinfo/bitc-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.coyotos.org/pipermail/bitc-dev/attachments/20090306/0eeff130/attachment.html
More information about the bitc-dev
mailing list