タグ

ブックマーク / katona.hatenadiary.org (2)

  • チャーチ数の加減乗除 - MEMO:はてな支店

    型推論を無効にする方法を発見。 型推論をごまかす Y コンビネータ L の定義は、当は L x y = x (y y) です。(y y)の部分が自己言及になって、GHC ではこの部分の型をうまく処理できません。そこで、unsafeCoerce で型推論をごまかしています。 http://d.hatena.ne.jp/kazu-yamamoto/20100519/1274240859 おかげで、断念していたHaskell版のチャーチ数の引き算とYコンビネータを使った割り算(と剰余)が作れた。 これで加減乗除の基演算がそろった。感謝。 import Unsafe.Coerce m x = x (unsafeCoerce x) y f = m (\x -> f (m x)) true x y = x false x y = y not' p = p false true and' p q =

    チャーチ数の加減乗除 - MEMO:はてな支店
  • Haskell mode for Vim - MEMO:はてな支店

    omni補完、ヘルプ、デバッグなどお便利機能満載。 Haskell mode for Vim いい感じかも。 激しく使えそうなコマンドが、 :GHCi main ghciで関数mainを作用させられる。 http://d.hatena.ne.jp/tanakaBox/20071018/1192653919 良さそうなのでインストールしてみる。 インストール方法 http://www.cs.kent.ac.uk/people/staff/cr3/toolbox/haskell/Vim/ からhaskellmode-20071105.vbaをダウンロード vbaファイルをvimで開いて :source % でこのファイル自身を実行 .vimrcに以下を追加(ブラウザは適宜変更) au Bufenter *.hs compiler ghc let g:haddock_browser = "C:/

    Haskell mode for Vim - MEMO:はてな支店
  • 1