12/04/07 20:49:35.60
モナドね。Haskell ね。いまや、圏論は常識?
URLリンク(ja.wikipedia.org)(%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0)
モナド (プログラミング)
計算機科学におけるモナドとは、計算機科学者のEugenio Moggiによって提案されたモジュール性を持たせた表示的意味論の枠組みを言う。
プログラムとはクライスリ圏の射である、という要請からクライスリトリプル(Kleisli triple)というモナドと等価なものが使われる。プログラミング言語のHaskellで用いられるものがよく知られている。
モナドの名称は、圏論のモナド(モノイド+トライアド)に基づいており、ライプニッツのモナド(単子論)とは無関係である。
URLリンク(ja.wikipedia.org)
Haskell は高階関数や静的多相型付け、定義可能な演算子、例外処理といった多くの言語で採用されている現代的な機能に加え、パターンマッチングやカリー化、リスト内包表記、ガードといった多くの特徴的な機能を持っている。
また、遅延評価や再帰的な関数や代数的データ型もサポートしているほか、独自の概念として圏論のアイデアを利用し参照透過性を壊すことなく副作用のある操作(例えば 代入、入出力、配列など)を実現するモナドを含む。