Haskellの⊥型
これは型ではなく値
HaskellのDocs内でしばしば出てくるmrsekut.icon
Haskell内の関数が持つ以下のような性質を⊥として表す
計算が停止しないこと
エラーを引き起こすこと
遅延評価のHaskellでは、これらを区別をしていない
つまり、部分関数であることを⊥で表す
Haskellの型はすべて⊥を持っている
Haskell内の全ての関数(a -> b)は、上記のような性質を持ち合わす
つまり、Int -> Intだからと言って全域関数になるとは限らない e.g.
型Intに含まれる値は、⊥, 0, ±1, ±2, ...
型()に含まれる値は、⊥, ()
⊥を直接的に引き起こす関数
error
undefined
参考