On Wed, 7 Feb 2007, Dan Weston wrote:
 A way to categorify elements of objects in a cartesian closed category
 (such as that that sufficiently restricted Haskell takes place in) are
 to view entities of type A as maps () -> A.Mikael Johansson wrote:

This rather inconveniently clashes with the fact that A and () -> A are two distinct types in Haskell. A is just the "curried" counterpart to () -> A, just as A -> B is the curried counterpart to OneTuple A -> B and A B -> -> C is the (fully) curried counterpart to (A,B) -> C

I take it by your argument that curried and uncurried functions, being isomorphic, are represented by the same object in your category?


They probably would be -- which'd end up displaying the category (and thus the way I think about Haskell) as a quotient category of the Haskell98 category.

I think though, still, that my argument carries content to the discussion: regardless of whether we handle currying or not (note that any function has a completely curried normal form) we still end up with the original argument separating things that doesn't necessarily make sense to separate -- in the argument 0-ary functions from n-ary functions.

Dan



--
Mikael Johansson                 | To see the world in a grain of sand
[EMAIL PROTECTED]            |  And heaven in a wild flower
http://www.mikael.johanssons.org | To hold infinity in the palm of your hand
                                 |  And eternity for an hour
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to