2008-09-01から1ヶ月間の記事一覧

夏休みも終わって・・・

長かった夏も終わり、学校に向けて生活リズムを戻してるはずが・・・。 はいはい、戻りませんでしたっと。 ちょっとProject Eulerやってみるはずがもうこんな時間だよ!!。 ちなみに現在解いたのは20問。まだ簡単。 振り返ってみると結局SICPの4章も終わら…

記事のタイトル変更

ex○○、とexercise○○の形式がごっちゃになっていたので統一。 同時に過去のコードを振り返ったりもした。そろそろ夏休みも終わる。短い2ヶ月だったけど何か身につくものはあったのだろうか・・・

exercise 4.35~37

ambの実装に対しての理解も進んだ(はず)なので問題に戻る。 exercise 4.35 (define (an-integer-between a b) (require (not (> a b))) (amb a (an-integer-between (+ a 1) b))) 実行してみると、 ;;; Amb-Eval input: (a-pythagorean-triple-between 1 15)…

Reading ch4.3

ambの実装のあたりを現在読み終わった。 言ってることは分かるのだが実際に動いてるイメージがつかみにくい。 理解しきるまであと一歩という感覚。久々だなぁ。 とりあえず紙にでも書いてみるか。 読んでて思ったんだが、call/ccとは一文字も書いてないけど…

タイトル変更

blogのタイトルを変更してみた。 元にしたのはサークル内でのハンドル名とか。

exercise 4.32~34

最近進行が遅いorz。 まさに光陰なんとら。・・・ていうか、このままだと4章終わんないよ(泣) 予定が潰れた一番の原因は某ゲームだが、そんなこと言っても始まらん。 それにゲームはゲームで楽しめたのだから、それを否定したくは無いしね。 exercise 4.32 c…

exercise 4.29~31

exercise 4.29 (square (id 10)) はメモ化に関わらず100 countはメモ化有りだと1、無しだと2。 squareの中で(* x x)ってなってるので、メモ化しないと(id 10)が2回計算されるんです な。 exercise 4.30 a.うまく説明できないけど、newlineもdisplayもprimiti…

やっと終わった。

ようやくリトバスEXのCGコンプリート。 最後の4枚は攻略サイト使いましたとも、ええ。 ちなみに自分は「せかいのひみつ」を全く知らない状態で初めたので、Refrainルートは非常に楽しめた。ありがとう、貸してくれた友達。そしてネタバレしないでヒントくれ…

exercise 4.27~28

exercise 4.27 なんか似たようなのを3章でやったなぁ・・・、と思ったらfootnoteにかいて あったか。とりあえず結果は ;;; L-Eval input: count ;;; L-Eval value: 1 ;;; L-Eval input: w ;;; L-Eval value: 10 ;;; L-Eval input: count ;;; L-Eval value: 2…

再びダイクストラ

本日はサークルの勉強会でICPC勉強会でした。 お題ははダイクストラ法。なぜか俺がコードを書いて(しかもプロジェクタに写して)他が突っ込む形式に。全然ICPCの練習なんぞしとらんかったが*1、3人ツッコミというネタ体制はさすが。なんか解けましたよ。思…

exercise 4.25~26

はいはい気付いたらリトバスしてましたよ、っと。とは言えそろそろ一区切りついた感じなので、今度こそSICP再開。 exercise 4.25 applicative-order -> 無限ループ。unlessの条件判定と一緒に(* n (factorial (- n 1)))も計 算しちゃうので、 とまらずに fac…

「……さようなら、mzscheme」

4章のサンプルが上手く動かなかったので、演習にmzschemeを使っていたのだが、 先日のid:SaitoAtsushiさんのアドバイス*1のおかげで再びgaucheへ・・・ これで今までの環境に戻れる。感謝 *1:http://d.hatena.ne.jp/k0ncha/20080915#c1221578828

ゆっくりしていった結果が(ry

まったりリトバスやってたらこんな時間。 もう少し生産的に生きたいと思った瞬間であった・・・。

exercise 4.22~24

ex4.22 analyzeにlet->combninationを加えるだけ (define (let? exp) (tagged-list? exp 'let)) (define (let->combination exp) (let ((bindings (cadr exp))) (cons (make-lambda (map car bindings) (cddr exp)) (map cadr bindings)))) ;;analyzeに以下…

夏休みが終わる前に・・・

今のペースだと4章はどうにかならんこともなさそうだが、5章は無理ゲーすぎる。 というか他にもなんかやりたいし、あと後期に向けて語学の復習とか数学とかもしたい。でもってバイトも考えたい。 とか考えるとやってられんのだが、とりあえず今はリトバスをs…

exercise 4.19~21

ex4.19 ・・・実行順序、というかdefineの書く順番を変えれば、それっぽく動かすことも時にはできるだろうが、一般的な手法は私にはさぱーりです・・・。 ex4.20 a (define (letrec-bindings exp) (cadr exp)) (define (letrec-body exp) (cddr exp)) (defin…

exercise 4.18

続き ex4.18 やってみる前に解答。 4.18の例だと、dyの定義時にyが*unassigned*でエラー。 ようするに、この例だと、内部定義を相互に行えないというかなんというか。まぁということで実行してみるか。 まず、delayとかの準備 (define (delay-exp exp) (cadr…

exercise 4.11~4.12

むー。書き貯めてたのをいっぺんにうpするのはめんどい・・・ まぁここ最近ネット環境が無かったので仕方ないか。 あと、明日(というか今日)は下宿に帰ってリトバス三昧な予定なので、今うpらないと・・・ ex4.11 (define (make-frame variables values) (…

exercise 4.5~4.10

ex4.5 こんな機能もあったのか、condよ・・・。 (define (cond-recipient-clause? clause) (eq? (cadr clause) '=>)) (define (cond-recipient clause) (caddr clause)) (define (expand-clauses clauses) (if (null? clauses) 'false ; no else clause (let…

exercise 4.1~4.4

4章開始。 gaucheだとうまく実行出来ないので、mzschemeに変えてみた。なんだか悔しい・・・。ちなみにgaucheだと ;;; M-Eval input: (+ 1 1) gosh: "error": invalid application: ((primitive #<subr +>) 1 1) とエラー・・・。promitiveなprocedureを呼ぶと揉める</subr>…

静岡から帰還

LDRがすごいことになってた・・・。 9月の後半は暇っぽいので、そろそろSICP再開するか。 あと、それ以外にもなんかチャレンジしてみたくなってきたが、まぁそれは別の話。

雑感

自己紹介にもあるように最近はSICPばっかりなのだが、 (正確にはあとリトb(ry) 「俺って成長してるのかなぁ・・・」とふと思った。 とはいえSICPはおもしろいので止めて他の勉強するのも気が引ける。むー。 悩むのは読み終わってからにするべきかなと思っ…

高知にて

友達の家で東方+リトバス 何しに高知に来たんだろう・・・

旅行

ということで今からそろそろ青春18で高知に出発。 さぁてどのラノベを持っt(ry

SICPの外側?

ここのところずっとSICPのターン!な訳であったが、たまには気分転換ということでマクロ、入出力、継続、それにYコンビネーターだの今まで気になってたけど後回しにしていた部分を覗いてみた。(あぁそういえば多値は見てなかったなぁ) 参考にしたのは主に …