Bottom in Haskell described here is said to be any computation that have errors, is unterminated, or involves infinite loop, is of any type... is this specific to Haskell? W
Indeed there is an order of definedness, where bottom is the least defined value. Have a look at this page about denotational semantics in Haskell for a more thorough explanation.
Here is a lattice for the values of Maybe Bool
taken from the wiki page. It shows that Just True
is more defined than Just ⊥
which is more defined than ⊥
.