タグ

haskellに関するdealforestのブックマーク (2)

  • BeInteractive! [HaskellHackathon2008に参加してきた]

    参加者全員がHaskellの処理系を実装するという狂気のイベントHaskellHackathon2008に参加してきました。 当日日付が変わってからHaskellを勉強し始めたため、かろうじてHaskellのソースが読めるようなレベルだったことと、ActionScriptでの参加だったことで、かなりのアウェー感。周り凄そうな人ばっかりだったよ!(実際凄い) まずもって、構文解析をしようにも、俺自身がソースを適当にしか読めないため、どこがどう解析されるのが正しい姿なのかすら分からず(ここがかなりの敗因)、とりあえずHugs98のyaccファイルをASでも動きそうな感じに移植するところからはじめる。ひたすらkmyaccと格闘し、終わった(なんとなく構文解析出来るようになった)のが既に16時か17時ぐらい。構文解析できたはいいものの、出てきた構文木が意外と複雑でどう処理したもんかと悩み、結局

  • Haskell のリストと遅延評価が少し分かった - IT戦記

    いろいろ試行錯誤をしていて JavaScript の関数を作って呼び出すのと Haskell のそれとの決定的な違いを見つけた。 それは、たぶんものすっごい単純で当たり前なことだけど、これが分かったとたんに僕の周りのピースが一気に繋がったので、恥をしのんで書く。 僕は以下のように脳内変換していて Haskell a = 1 iszero i = if (i == 0) then True else False Javascript a = function() { return 1 } iszero = function(i) { return i()/*評価は関数呼出し*/ == 0 ? True : False } // True False はこう True = function() { return true } False = function() { return false

    Haskell のリストと遅延評価が少し分かった - IT戦記
  • 1