
25 Oct
2013
25 Oct
'13
4:12 p.m.
On Sat, Oct 26, 2013 at 12:26 AM, Nicholas Vanderweit < nick.vanderweit@gmail.com> wrote:
Or, alternatively, using fix from Data.Function:
fix NotVoid
Yes, and all of them are indistinguishable from bottom or 'undefined :: forall a. a', the ghost that inhabits all types, including the empty one: Void. What trips up beginners is the interpretation of indistinguishable-ness. At the level of denotational design, 'undefined' and 'error "(sadface)"' are to be treated as equal, although beginners would point out: "hey look, I get different output!" Call it denotational design, or call it beautiful FP modelling, this stuff is really where it's at. -- Kim-Ee