[Haskell-cafe] Monad laws in presence of bottoms

wren ng thornton wren at freegeek.org
Wed Feb 22 09:36:11 CET 2012

On 2/22/12 2:20 AM, wren ng thornton wrote:
> On 2/22/12 1:45 AM, Miguel Mitrofanov wrote:
>>> However, there is no free ordering on:
>>> { (a0,b) | b <- B } \cup { (a,b0) | a <- A }
>> What? By definition, since, a0 <= a and b0 <= b, we have (a0, b0)
>> <= (a0,b) and (a0, b0) <= (a0, b0), so, (a0, b0) is clearly the
>> bottom of A\times B.
> Sorry, the ordering relation on domain products is defined by:
> (a1,b1) <=_(A,B) (a2,b2) if and only if a1 <=_A a2 and b1 <=_B b2

Sorry, I misread what you wrote. Yes, of course you're correct. I can't 
recall off-hand why it is that domain products break things; I'll have 
to look it up.

Live well,

More information about the Haskell-Cafe mailing list