2009年6月3日のブックマーク (3件)

  • Parsing expressions and statements - HaskellWiki

    We use the Parsec library to parse a small grammar of expressions and statements. The main purpose is to showcase makeTokenParser and buildExpressionParser, which cover a large class of common applications. We will use these modules: > import Control.Applicative((<*)) > import Text.Parsec > import Text.Parsec.String > import Text.Parsec.Expr > import Text.Parsec.Token > import Text.Parsec.Language

    tmed
    tmed 2009/06/03
  • 第15回 Haskellでのデバッグのコツをつかむ

    プログラムが思った通りに動かないとき,あるいは他の人が書いたプログラムを理解したいときには,プログラムの挙動を調べてみるでしょう。例えば,「入力」に対する「出力」を調べたり,プログラムが保持する「状態」を確認することで,挙動を理解しようとするはずです。そうしたときに使う手法が,プログラム動作中の変数の値といった情報を適宜出力する,いわゆるトレース(trace)です。C言語では情報の表示によくprintfを利用することから,printfデバッグとも呼ばれます。 Haskellでトレースを使うには,二つの問題があります。一つは,Haskellの型は必ずしも値を表示できるものばかりではない点です。これは回避が容易なので,さほど問題ではないでしょう。より深刻なのは「Haskellでは,副作用によるバグの発生を防ぐために,I/Oの扱いに対して制約がある」という点です。この結果,Haskellではトレ

    第15回 Haskellでのデバッグのコツをつかむ
    tmed
    tmed 2009/06/03
  • エクストリームリーディングのノウハウ - My Life Between Silicon Valley and Japan

    PICSY blog 1/14/05 http://blog.picsy.org/archives/000192.html 【やり方】 ・日語だと5ページ単位、英語なら2ページ単位くらいを全員が黙々と読みます。単位が節ごとなど、の著者が設定した単位であるほうが好ましいです。読み始める前に、ここまで読みましょうと合意をとります。 ・読んでいる途中に分からないことがあったらいつでも互いに聞いて構いません。 ・読み終わった人は、「終わった」と宣言します。早く読み終わった人は、次を読んだり、自分なりに内容をまとめたりしておきます。 ・読み終わったら、内容を誰かがまとめます。まとめるときにはホワイトボードとプロジェクターを用います。ホワイトボードにプロジェクターで投影するとよいでしょう。 【議論の仕方】 ・重要な文の切り出し 各人が重要だと思う文を切り出して、その意義を議論する。 ・言葉の定義

    エクストリームリーディングのノウハウ - My Life Between Silicon Valley and Japan
    tmed
    tmed 2009/06/03