2010-03-01から1ヶ月間の記事一覧

第二回PyJongに参加してきました

さきほど土曜日もYコンビネータでうんうん悩んでたとか書きましたが、ウソでした。麻雀やって頭のリフレッシュしてたんですねはい。第二回PyJongに参加していました。三年ぶりくらいに麻雀やって、点計はちょっと鈍くなってました*1が、腕前は落ちていません…

Y combinator cont'd cont'd

先日のY combinatorの記事が間違っているわけではないがせっかく型付けが弱いんだから再帰なしで書いたらいいじゃないとの指摘を受けて、土日からうーんと悩んでいた。理論的な根拠付けとしては再帰を使わないでラムダ式で定義したYこんびねーた Y = λf.(λx.…

地上デジタル放送のはなし

Reblogはしたけど、賛成してるわけではないのでフォローしておく。 このニュースを見て、Twitterで私に「衛星で全部カバーできるなら、なぜ最初から衛星でやらなかったんですか?」という質問が来た。もっとも な疑問である。通信衛星ならもっと多くのチャン…

Y combinator con'd (wrong, continues more)

頑張って書いて動いた!と思ったら、指摘をいただいて問題アリアリなことに気付いたので let rec y f x = f (y f) x;;を意識して書き直してみた。Erlangで高階関数書くのめんどい。funのタイプが速くなったけどfunctionは相変わらずうまくタイプできない。 -…

メモ - OCaml vs Erlang

さっきのY combinatorのfactorialで遊んでいたときのこと OCamlでやると $ ocaml Objective Caml version 3.11.2 # let f fact x = if x=1 then 1 else x*fact(x-1);; val f : (int -> int) -> int -> int = <fun> # let rec y f x = f (y f) x;; val y : (('a -></fun>…

メモ - Y combinator (追記アリ - というか本エントリに載っているのはちょと違う)

@camlspotterさんありがとうございました。私が悪い頭をグルグル回している間も@_2F_1は沈黙を守っていました。きっかけはPythonで書かれたやつでした。これ使えば全てのループ処理がcall/ccみたいなので書けてスタック気にしなくてよくなるとかそういう世界…

メモ - Tail Recursive Fibonacci in OCaml

let fib = let rec f x y n = if n=1 then x else f (x+y) x (n-1) in f 1 1;; けっこう時間かかってくやしい。ふつうに fib(n) = fib(n-1)+fib(n-2)みたいなノリで書くと計算量が 2^n で増えていくからいろいろよろしくない。かといってHaskellみたいに遅延…

博士について

博士に進学したら就職できない・かろうじて一流企業に就職できたらラッキー・周りは教員やその仲間も霞を食ってかろうじて食いつないぢる、といった分野や大学ならば理解できなくもない。しかしながら、これだけの成功体験・機会・およびその情報があるのに…

ついカッとなってヘンなビルドツールを作った

信じられないことが起こった…。始めは、OMake使おうとしてたんだ。一生懸命。Erlang.omってなんだろうとか思いながら。でも気付いたら、本当に便利だと思ったのはOMake -Pだけだったんだ。.erlを解析して依存ヘッダを抽出するとか、やってみたけどできなかっ…

MC id:ymotongpoo 's talk on Ustream

id:ymotongpoo のUstreamラジオ番組の放送が先程終わりました。妻と二人で腹が捩れるほど笑いました。はてなはUstreamのEmbedコード貼れないのね。残念。 今日仕事しているときのなんか眠いなぁと思っていたのですが、昨日の放送のせいだと分かりました。明…

東京Ruby会議03に参加してきました

東京Ruby会議03に参加してきました。もともと並カンで宣伝してたのが縁というかきっかけで、ここ最近Rubyに手こずっていたので、何かのきっかけになればと思って参加しました。最近疲れ気味だったので午前中のメタプログラミングの話はちょっと失礼して、午…