タグ

2008年2月2日のブックマーク (3件)

  • 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, ("[]",)) かな。
  • gooIDについて - 池田信夫 blog

    当ブログも、アクセスが月間100万PVを超え、個人で管理できる限界に近づいています。特に、多いときは1つの記事に100以上くるコメントの処理に時間と手間をとられるようになったので、今後はgooIDでログインしないとコメントできない仕様にしました。その代わり、事前承認はしません。もちろん公開後に不適切と判断したコメントは削除し、常習犯のIDは書き込み禁止にします。 すでにgooIDをもっている人は、何もしなくてもコメントでき、ただちに公開されます。IDは表示されませんが、私には通知されるので、名前としてIDを書いてください(*)。"Unknown"は削除します。gooIDはYahoo!Googleに次いで多く、新たに取得するのも容易です。これによって口汚ないコメントをしたら自分のIDが汚れるというreputationを意識するようになるでしょうが、確信犯は防げないので、どの程度、効果があ

    SiroKuro
    SiroKuro 2008/02/02
    ばかっていうなーヽ(´Д`;)ノ >id:ekken/けど goo ブログだと表記される id は自己申告なんだよね/池田先生が悪質クレーマー化した件について。利用規約はちゃんと読みましょう。http://tinyurl.com/3ddrb8