駆け足で読む『プログラミングHaskell』3 型とクラス

  • 型とクラス
    • 型とクラスはHaskellの基本概念である
  • 型とは
    • 型とは互いに関連する値の集合である
      • 集合であるから、全体があって、要素があって、要素同士にオーバーラップはない
      • 値が集合をなすとき、型を定義できる
  • クラスとは
    • 複数の型があるとき、型がある特徴を持つか否かにより、複数の型を2分できる
    • このように型を特徴保有群とそれ以外の群(集合と補集合の2群)に分けるのがクラスである
  • 複数の型と複数のクラスとの関係を表現するための用語
    • 多重に定義された型(多重定義型)
      • ある型は複数のクラスの要素かもしれない。そのとき、この型は「多重に定義された型」であるという
    • 多相性
      • クラスは複数の型を要素として取るので、複数の型をひとまとめにして、「あるクラスの要素である型は…」と、取り扱いたくなる
      • このようなとき、複数の型をひとまとめにして、型aは、と言ったりする。このような型aは「多相性がある」という
      • また、複数の型に対応する関数は、「多相性がある型」に対応しているとか「多相的である」とか言う
    • 型とクラスを新たに定義して作るには第10章(こちら)を
    • 標準的な型とクラスについての雑多なメモはこちら