著者が運営する『オブジェクト指向でなぜつくるのか 第2版』のサポートページです。
|
トップ | 正誤表 | 関連情報 | 関数型言語でなぜつくるのか |
今回の改訂第2版では、「第13章 関数型言語でなぜつくるのか」と題して関数型言語を解説する文章を書きました。
関数型言語は当初2-4ページぐらいのコラムで解説するつもりでしたが、実際に書いてみるとその程度のボリュームでは具体的なことはほとんど伝えられなかったため、専用の章を立てて本格的に解説することにしました。
ここでは、第13章を記述するに当たって作成した資料を掲載します。
Haskellには代数データ型と型クラスという仕組みがあります。モナドはこの2つの仕組みを利用しているため、モナドを理解するためにはこの2つを理解する必要があります。
「UMLモデリングレッスン」風に、概念モデルで表現すると次のようになります。
以下に示すのは代数データ型の概念モデルです。
型クラスは、アドホック多相を実現するための仕組みです。
インスタンス、メソッド、継承、スーパークラス、サブクラスといったオブジェクト指向でおなじみの用語が使われています。
ただ、オブジェクト指向とは仕組みが微妙に違います。
トップ | 正誤表 | 関連情報 | 関数型言語でなぜつくるのか |