タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

*javascriptと*haskellに関するSiroKuroのブックマーク (2)

  • 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戦記
    SiroKuro
    SiroKuro 2008/02/02
    amachang が凄まじい勢いで Haskell を実装している件。このままだと3月1日には amachang haskell がリリースしちゃうw
  • Haskell のリストが分からない。遅延評価も分からない。 - IT戦記

    Haskell のリストはシンタックスシュガーだらけ a = [] b = [1] c = [1,2] d = [1..10] e = [1..] f = [1,3..] g = [ x * x | x <- f ] 逆に分かりにくいので書き直す a = [] b = (:) 1 [] c = (:) 1 ((:) 2 []) d = ff 10 where ff 0 = [] ff i = (:) 1 (map (+1) (ff ((-) i 1))) e = (:) 1 (map (+1) e) f = (:) 1 (map ((+) ((-) 3 1) f) g = map (\x->x*x) f うん、なるほど ついでに map と同じ事をする関数 mymap を作ってみる mymap f [] = [] mymap f ((:) x xs) = (:) (f x) (mymap

    Haskell のリストが分からない。遅延評価も分からない。 - IT戦記
    SiroKuro
    SiroKuro 2008/02/02
    自分の得意言語に置き換えるのは正当な勉強方法だと改めて感じた/データ構築詞は関数じゃないっスよ。「(:) 1 []」 の値は 「(:) 1 []」 ですし。Python で言うならば (":", 1, ("[]",)) かな。
  • 1