SICP

1.1.3 Evaluating Combinations #2

(続き)次に 1. 結合の副次式 (subexpression) を評価する を繰り返すときの応用について考えてみる。 →結合を評価するのではなく、プリミティブな式(e.g. 数字、ビルトイン演算子, その他の名前)を評価する場合について。 数字の「値」は名付けられた数…

1.1.3 Evaluating Combinations #1

結合を評価する話。この章でのゴールの一つは、手続き的に考える上での複数の問題をばらばらにすることだ。【結合の評価手順】 結合の副次式 (subexpression) を評価する 最左の副次式(演算子(operator))の値を、残りの副次式(オペランド(operands))の値…

1.1.2 Naming and the Environment

(原書の要約というかメモ) ※誤訳・勘違いがあるかもしれないので、もしあればお気づきの箇所をお知らせください 名前は「変数」で、その「値」はオブジェクト Scheme で名前を定義するには define を使う ex. gosh> (define size 2) size gosh> size 2 gos…

Instructor's Manual to accompany "Structure and Interpretation of Computer Programs"で気になった所の覚書き

1.1 について Scheme を数学的なシステムであるかのように考える(ex. 代数) 次のような説明をしないように注意! ex. (square (+ x 1)) を評価するには、x をインクリメント(+1)してから square を呼ぶ」 式は常に左側から評価される Basic, Pascal, C の…

1.1.1 の例を DrScheme でも動かしてみる

DrScheme (PLT-Scheme) は MacOS X 上でも動く。昨日のエントリで gosh を使って試した式をDrScheme (Textual) で試してみる。 > 486 486 > (+ 137 349) 486 > (- 1000 334) 666 > (* 5 99) 495 > (/ 10 5) 2 > (+ 2.7 10) 12.7 > (+ 21 35 12 7) 75 > (* 25…

1.1.1 Expressions

(原書のまとめ)とりあえず Scheme で典型的なものを試してみるのが早道。 数値 (number) (ここでは10進数で入力) プリミティブな手続き (+, *, etc.) 例: $ gosh gosh> 486 486 gosh> (+ 137 349) 486 gosh> (- 1000 334) 666 gosh> (* 5 99) 495 gosh>…

1.1 The Elements of Programming

(原書のまとめ)強力な言語は次の3種類のメカニズムを持っている。 プリミティブな式 (primitive expressions) 結合 (combination) の手段 (means) 抽象化 (abstraction) の手段 プログラミングにおいて、自分たちが相手にするのは「データ(data)」と「手…

Gauche をインストールする

SICP の演習問題で使う Scheme の環境として Gauche を使う。(他にDrSchemeも使う)Gauche (ゴーシュ) A Scheme Interpreter http://practical-scheme.net/gauche/index-j.htmlMacOS X 10.5 (Leopard) へのインストールは簡単だった。Gauche のパッケージ…

1. Build Abstractions with Procedures

現在、日本語版(計算機プログラムの構造と解釈)がどこかに隠れてしまっているので、用語の日本語訳がおかしいかもしれません。その際には是非ご一報ください。よろしくお願いします。1. Build Abstractions with ProceduresStructure and Interpretation o…

勉強の方針

id:higeponさんにならって、勉強の方針も決めておく。 基本は原著(英語第二版)ベースで進める。ときどき日本語版を参照する 環境はDrSchemeまたはgaucheを使用する 演習問題にはまじめに取り組む ページ数は特に決めないが、目安として一回につき 10 pages…

SICP 勉強会のリスト

すでに多くの人々がSICPに挑戦しておられるので、まずはそれをリスト。 ひげぽん OSとか作っちゃうかMona- |SICP関数型言語の勉強に「計算機プログラムの構造と解釈」を読もう 奈良先端科学技術大学院大学/情報科学研究科/松本研究室/SICP勉強会 はてなリン…

もう一度勉強し直すSICP

id:dankogaiさんのエントリを読んで、もやもやとした気分が少し晴れた。そこで、なけなしの勇気をはたいてもう一回SICP(Structure and Interpretation of Computer Programs (Mit Electrical Engineering and Computer Science Series.))に挑戦することにし…