
Jonathan Cast wrote:
The normal view taken by Haskellers is that the denotations of Haskell types are CPPOs. So: (1) Must be monotone (2) Must be continuous (Needn't be strict, even though that messes up the resulting category substantially).
I wrote:
I'm not convinced that the category is all that "messed up".
Well, no coproducts (Haskell uses a lifted version of the coproduct from CPO).
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 _|_. What is the lifted version you are referring to?
Of course, Haskell makes things even worse by lifting the product and exponential objects,
OK, what goes wrong there, and what is the lifting? Thanks, Yitz