タグ

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

  • 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

    lizy
    lizy 2009/01/11
  • 『ソフトウェア品質のジレンマ』という錯覚 - Inemuri nezumi diary(2008-06-04)

    lizy
    lizy 2008/06/04
    似たようなネタをどこかで見たような気がするけど、どこだろ
  • Inemuri nezumi diary(2008-04-15)

    _ RSpec にますます期待する 私は Gerald M. Weinberg (通称 jerry)の著作が大好きである。 ワインバーグは、1956 年からソフトウエアコンサルタントをやっているというから、私からみたら大先輩にあたる人である。彼の文体はアメリカ人らしいジョークにあふれており、挿絵もぶったまげたものが多いので読んでいて楽しい。中でも『ライト、ついてますかー問題発見の人間学』は傑作である。このは、タイトルにもあるように「問題」に関するである。このの挿絵はサイコーである。特に、「目をつぶって両足でピョン」は名文である(「問題」について深く考察する前に、「自分の知っている方法で問題を解こうとしてしまう心理」を指す)。 『ライトついてますか』は、コンピュータに限らず、あらゆる生活の知恵を生み出すと思う。私の母は生真面目で素直に考え込んでしまう性格なので、このプレゼントした。

  • Purely testing Inemuri nezumi diary(2008-03-14) - Purely testing

    _ Purely testing Type-driven testing in Haskell (Simon Peyton Jones)より。 Simon の主張はいつもすばらしいのだけど、この発表に関しては Summary に首をかしげる人もいるかもしれない(わたしもその一人): Over the next 10 years, the software battleground will be the control of effects To succeed, we must shift programming perspective from imperative-by-default to functional-by-default A concrete example: testing Functional programs are far easier to test A fu

    lizy
    lizy 2008/03/15
    academicとpragmaticの意識の違い?
  • Inemuri nezumi diary(2008-01-03) : Ruby on Rails の注文の多い料理店に入ってしまった話

    _ Ming/Ruby 0.1.9 has been shipped 去年のクリスマスに Pawel Karwowski からありがたいメールが来て、Pawel がメンテナに加わってくれました。0.1.8 が 155 KB, 0.1.9 が 1.72 MB です。どんだけがんばってくれたか、Pawel には感謝でいっぱいです。 僕自身は Ming/Ruby に愛想をつかしています。今後は Pawel とその後の仲間たちにおまかせしようと思っています。ChangeLog 読んだら "Kazuki" さんが重要な仕事をしてくださったみたいで、 Kazuki さんにも感謝しています。って Kazuki さんって誰? もともと Ming の Ruby ラッパを作ろうと思ったのは、博士後期課程の研究がうまくいかなかったときの逃避行動でした。当時、SWF は出来たてほやほやのテクノロジで将来を感じさせ

    lizy
    lizy 2008/01/04
    「僕をくだらないプログラミングから現実の研究に引き戻した」 人によっては"プログラミング"と"研究"を入れ替えてもしっくりきたりして
  • Inemuri nezumi diary(2007-08-23)

    _ 独りで始める Concrete and Specific Programming (CSP) 実践 昨日のエントリから引き続いて。設計とテストスイーツを先に書き、実装を後に書く Concrete and Specific Programming を実際に行ってみます。ただ、私も人に教えた経験がないものですから、何を対象にすればいいものやら、わかりません。 そこで、プログラマの誰もが馴染んでいる単純な「データ構造とアルゴリズム」から具体例を取りたいと思います。 _ 具体例その1. Stack 一つ目の具体例としてスタックを取り上げます。 まず、夢メモを書きます。 Stack 夢メモ 日付:2007-08-23 作るもの: スタック(メソッドはnew, pop, pushのみ)。 どのように作るのか: 読者層に配慮して Ruby で。 Ruby についてくる Array を一つインスタンス

    lizy
    lizy 2007/08/23
    実装が満たすべき形式仕様を記述し、それをランダムなデータでテストする
  • いまさらTDDを見直す - Inemuri nezumi diary(2007-07-25)

    _ いまさらTDDを見直す いまさら「フェルマーの最終定理 (新潮文庫) 著:Simon Singh 訳:青木 薫」を読んだ*1。このはすごくいい。 このが指し示していることのひとつは、皆、汗かいて土木作業してたってことだ。ピタゴラス、ユークリッド、…、オイラー、ガウス、…、ソフィー・ジェルマン、…、志村=谷山…。 綺麗な命題/予想を産み出した彼/彼女らは、手を動かす計算をむちゃくちゃな量やってる。 型理論によれば、型は命題で、実装は証明にそれぞれ対応する。そして、テストは、実装の仕様記述の一部に対応する。具体例を計算することはテストすることだ、と言える。 つまり、XPとかTDDとか誰かが言い始めた2000年前から、数学家はひたすらテストファーストだったってこと。証明/予想を言い終えた後は、テストの結果は焼いて捨てたから残っていない。 反論もありそうなことを敢えて言うが、私自身、テスト

    lizy
    lizy 2007/07/27
    関数の形式仕様記述を元に自動的にテストさせる。現状のやり方は「境界条件にバグが多い」などの経験的統計的?手法といえるかも。まあtest量によってはrandomよりも効率がよいのかもしれない。
  • 1