On 6 Jan 2008, at 3:55 AM, Yitzchak Gale wrote:

I wrote:
What goes wrong with finite coproducts? The obvious thing to
do would be to take the disjoint union of the sets representing the
types, identifying the copies of _|_.

Jonathan Cast wrote:
This isn't a coproduct.  If we have f x = 1 and g y = 2, then there
should exist a function h such that h . Left = f and h . Right = g...
But by your rule, Left undefined = Right undefined...
Which is a contradiction...

OK, thanks.

Unless, of course,
your require your functions to be strict --- then both f and g above
become illegal, and repairing them removes the problem.

You don't have to make them illegal - just not part
of your notion of "coproduct".

We're talking past each other --- what is the distinction you are making?


Haskell-Cafe mailing list

Reply via email to