[Haskell-cafe] IO is not a monad (and seq, and in general _|_)

Brandon S. Allbery KF8NH allbery at ece.cmu.edu
Tue Jan 23 15:11:48 EST 2007

On Jan 23, 2007, at 14:58 , Seth Gordon wrote:

> The only catch I see to that POV is that the way `seq` is defined,
> "undefined `seq` 42" *must* return an error.  If this were  
> analogous to
> "(p^~p)->q", then "undefined `seq` 42" would be allowed to return any
> value whatsoever.

That's not quite what I was trying to say.  (p^~p)->q is equivalent  
to _|_ in the sense that once you derive/compute (respectively) it,  
the "world" in which it exists breaks.  (I don't think formal logic  
can have a Haskell-like _|_, but deriving (p^~p)->q is close to it in  

brandon s. allbery    [linux,solaris,freebsd,perl]     allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university    KF8NH

More information about the Haskell-Cafe mailing list