タグ

2009年12月25日のブックマーク (2件)

  • モナドで悟りをひらきたいのなら - 図でわかる(?)モナド - Pixel Pedals of Tomakomai

    圏論の最大の武器はダイアグラムなので、モナドで悟りをひらきたいのならダイアグラムを使えばいいんじゃないでしょうか。 ダイアグラムの書き方 例えば、「 f :: a -> b 」とか「length :: [a] -> Int」は以下のように書きます。型を点で、関数を矢印で書きます。 ダイアグラムの利点は、fやlengthの中身を忘れて簡略化することができることです。人間の脳ができることには限りがあるので、注目する情報が少ない方が理解しやすくなるってスンポーです。 なお、 合成 g . f は図示する時に順が逆になるので気をつけて下さい。これは、合成関数の適用が g ( f x ) と書けることに由来してます。まずfを適用し、次にgを適用するということです。 return と >>= の図示 今回のダイアグラムの約束として、元となる型(Bool, Char, Int 等)は最下段に書きます。そ

    モナドで悟りをひらきたいのなら - 図でわかる(?)モナド - Pixel Pedals of Tomakomai
    ytoku
    ytoku 2009/12/25
    これは式を整理するのに優秀な道具だと思う
  • Prolog入門 Introduction to Prolog (in Japanese)

    Prolog の概要 PROgramming in LOGic (論理プログラミング)の省略. AI 用言語 (AI プログラムの記述・開発に適している言語)の一種. 1974 年に仏国の Colmerauer らにより開発された. 通産省の第五世代コンピュータプロジェクトの核言語として採用された. Prolog の特徴 記号処理言語,リスト処理言語: データとして,記号(シンボル)を取り扱うことができる. また,リストと呼ばれる可変長のデータの列を取り扱うことができる. 論理型言語: Prolog では新たな述語を論理式で定義することによってプログラムを 作り上げていく. すなわち, Prolog のプログラムは論理式の集まりである. Prolog や LISP は, FORTRAN や BASIC などの手続き型言語とは異なり, 非手続き型言語と呼ばれる. 対話的使用,会話的使用: P