
On Mon, Oct 04, 2010 at 08:24:33AM +0200, Lafras Uys wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On 02/10/2010 23:35, Brent Yorgey wrote:
On Fri, Oct 01, 2010 at 01:18:29PM +0200, Lafras Uys wrote:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
I can now find explicit bindings for apply and curry, however not for uncurry. The type signature for uncurry introduces a new type constructor (<=>),
uncurry :: <= a (Exp <= b c) -> <= (Product <=> a b) c
I'm not sure what the meaning of (<=>) is? If someone could provide some pointers, I would be much obliged.
Where did you get these type signatures from? It seems most likely to me that the <=> is just a typo.
- From the categories package,
Aha, you're right, it does have (<=>) there, doesn't it? It's definitely a typo. The reason it compiles at all is that (<=>) is just treated as a universally quanitified type variable. But this means it's going to be very difficult to implement uncurry, since you have to yield an arrow from the product of a and b in ANY category, to c. Not only is it impossible to implement, it doesn't even make sense. =) I sent a message to edwardk telling him of the error. In the meantime if you still want to play with this class in the categories package, you can get the source code with cabal unpack categories then edit the code yourself and recompile/install with cabal install in the root of the categories-0.54.1 directory. -Brent