タグ

ブックマーク / madscientist.jp/~ikegami (4)

  • Inemuri nezumi diary(2006-09-06)

    _ RushCheck - a lightweight random testing tool for Ruby Ruby のランダムテストライブラリ RushCheck を公開している。これは3年前からつくり出したもので、PC で眠っていたものを今年の夏休みに公開したものである。Haskell の QuickCheck を Ruby でも使いたいなあと思ったのがきっかけであった。 ランダムテストというのはテスト手法のひとつである。テストケースに入力するデータをテストインスタンスと言うことにしよう。このとき、テストインスタンスを自動生成するというのがランダムテストの特徴である。たとえば文字列を入力とするテストならば、ランダムテストではその入力文字列をランダムに生成する。いくつもの異なった入力をランダムに生成して、同じテストケースを自動的に何度も実行するというテストの考え方である。 _ ラン

  • Inemuri nezumi diary(2009-01-08) - _ unsafePerformIO の使用は限定されています。ご利用は計画的に。

    _ unsafePerformIO の使用は限定されています。ご利用は計画的に。 いたるところで、 unsafePerformIO を見かけるようになったのでひとこと言うといたるわ。「Unsafe やって書いてある」やろ。おっと、地が出てしもた。 unsafePeformIO はもともと Haskell の規格 Haskell98 にはありません。初めて現れたのは、 "The Haskell 98 Foreign Function Interface 1.0 An Addendum to the Haskell 98 Report" の 5節 Marshalling についての、5.1 節 Foreign モジュールが提供するインターフェースについてです。 unsafePerformIO :: IO a -> a Return the value resulting from execut

  • Inemuri nezumi diary(2011-02-17)

    _ GHC interactive debugger GHCi を補強する GOA package IRC上のHaskell対話bot:Lambdabot をローカルに端末の上で動かし、GHCiと対話するパッケージ GOA というものがあります。 が、GOA は cabal ではすんなりはいらないんですよね。手元にちいさなミスを修正したものを作っていたのですが、今日もらった機会に Github で公開しました。 lambdabot は導入に困らないと思うので(困るのでしたら連絡を)、lambdabot をインストールした後で、GOA も試してみてはいかがでしょうか。 % git clone git://github.com/IKEGAMIDaisuke/goa で、ソースが手に入ります。build やインストールのしかたは README をお読みください。できることの一例を下に示します:

  • Inemuri nezumi diary(2009-05-29)

    _ ふつうでない Haskell の学び方:なぜ「遅延する」関数型言語は重要か John Hughes の書いた "Why Functional Programming Matters" という、とても魅力的な文章があります(邦訳は nobsun がしてくださいました 『なぜ関数プログラミングは重要か』)。 この文書のなかで、 John は「遅延評価」がプログラムのモジュール化に貢献することを述べています。また、アルゴリズムを遅延的に書くことで実行効率があがることもあるということを指摘しています。 ところで、一方でこういう有名なプログラミングに関するジョーク(にしては、とても気合が入っている)をご存知の方もいることでしょう : "The Evolution of a Haskell Programmer", Fritz Ruehr, Willamette University,2001-0

  • 1