2012-01-01から1年間の記事一覧

多相関数のprintfデバッグをGHCiで

Haskellでのデバッグといえばprintfデバッグなのではないかと思う。printfデバッグは大抵の場合うまくいくが、多相的な関数を書いているときは不便なことがある。表示したい値を文字列にする手段がない場合だ。 import Debug.Trace import Data.List mysort …

後からフィールドを追加できるレコード

通常のレコード型は一旦定義したらフィールドを追加したりはできないが、Template Haskellを使えば似たようなことができるのに気付いたので書いてみた。次のように使う。 {-# LANGUAGE TemplateHaskell, TypeFamilies, DeriveDataTypeable #-} import OpenPr…

induceBackwardを高速化しようとした

Haskell vs F# - Life Goes Onが気になったのでやってみた。手元にF#の実行環境がないので、元のコードを2倍高速化することを目標にしてみる。環境はLinux x64, GHC 7.0.4.最初のコード。 import Data.Array.Unboxed data Node = Node { df :: Double, branc…