2009-07-01から1ヶ月間の記事一覧

末尾再帰最適化

F#

末尾再帰がちゃんと最適化されるのかどうか気になったので、出来上がった実行ファイルを逆アセンブルして眺めていました。いちごオレを飲みながら。予想通りですが以下のような結果に。(VS2010βまだ入れてないので、例のごとくF#CTP) 書いたコード: #ligh…

make-concatenated-stream

めもめも。 make-concatenated-streamを使うと、 複数のストリームを連結して1つのストリームとして扱うことが出来る。 CL-USER> (let* ((s1 (make-string-input-stream "hello")) (s2 (make-string-input-stream ", ")) (s3 (make-string-input-stream "wor…

F#でTwitter

F#

.NET Frameworkがあるから簡単! タイムラインを表示するだけの簡単なプログラムです。 #light open System open System.Net open System.Xml let userName = "nobuhisa_k" let pass = "ひみつ☆" let uri = "http://twitter.com/statuses/friends_timeline.x…

コンパイル時計算

以下のようなものも一応コンパイル時計算といっていいんだろうか? On Lispにもコンパイル時計算について書かれているけど、それは実行時のリストのコンシングを避けたり、式の変形を工夫したり etc・・・といった感じだった。 ;; 階乗計算関数 CL-USER> (de…