めもめも

このブログに記載の内容は個人の見解であり、必ずしも所属組織の立場、戦略、意見を代表するものではありません。

2010-06-01から1ヶ月間の記事一覧

Haskell の Monad を圏論の Monad と対比する (2)

前回定義した圏論の Monad となるトリプレット (T, η, μ)から逆に、Haskell の Monad を構成するとこうなります。(Monad 則をつかってごにょごにょ計算すると分かります。) x >>= f := (μ.Tf)(x) return x := η(x) f:a->T a (Haskell的に言うと f:a->m a)…

Haskell の Monad を圏論の Monad と対比する (1)

定義 Haskell 圏 : H Objects O := "Haskell で定義される type の集合" = {Int, Char, String, (Int -> Int), ....} Morphisms M := "Haskell で定義される全ての関数の集合" Haskell の Monad m から誘導される Endofunctor T Object mapping T_O: Type ->…

Hine Sweeper

はてなダイアリーのシンタックス・ハイライトが Haskell に対応してると聞きました。。。hscurses ライブラリを入れてコンパイルしたら、TTY コンソールからこんな感じでお楽しみください。(移動:hjkl、マーク:x、開く:スペース) #################### # 1…

ゲーデルの対角化定理の厳密な証明を対角線論法と対比する

前原昭二「数学基礎論入門」「8.5ゲーデルの対角化定理-定理8.3」の証明を対角線論法との対比を明確にしようとがんばった結果。 (1) *n* :自然数nに対応する対象式(論理記号としてのn) 『A』 :論理式Aのゲーデル数に対応する対象式(論理記号) An(ξ) :…