2011-09-01から1ヶ月間の記事一覧

HaskellでBTree書いてQuickCheckでテストしてみた

Haskellが得意なことのひとつに木構造の操作がありますね。 ということでBTree書いてみました。 初め二分木書こうと思っていたんだけど、あまりにも簡単すぎたのでB木に変更。 そしたら思ったより難しくなってしまい。 参考:http://pfp7.cc.yamaguchi-u.ac.…

リテラルが多相的であること、もしくは値コンストラクタの要らないデータ構造

本を適当に開いて読んでみるということをたまにする。 Real World Haskell(RWH)のデータ構造の章。 ghci> 3 * 2 + 4 10 ghci> prettyShow $ 3 * 2 + 4 "3 * 2 + 4" こんな感じのものが書いてあった訳だ。 僕には何が起こっているか全然分からなくて、一体ど…

Enumでシーザー暗号、もしくは既知の型のインスタンス一部変更

Enumクラスのメソッドsucc, pred使うとシーザー暗号簡単に書けそうですよね。 succはsuccessorの略で、次に続く値を返してくれます。 数値の場合はインクリメントした値を返します。 predはpredesessorですね。数値ではデクリメントした値を返します。 caesa…

Template Haskell入門

Template Haskell(以下TH)超入門です。 まあ入門するのは僕ですが。 Haskellの易しいエントリがあまり見あたらないため、僕が書いていくことにしようとか考えたり。 続き よかったらこちらもどうぞ。 続・Template Haskell入門 -- QuasiQuotes編 - think and…