- 序文
- 1 手続きによる抽象の構築
- 1.1 プログラムの要素
- 1.1.1 式
- 1.1.2 名前と環境
- 1.1.3 組合せの評価
- 1.1.4 合成手続き
- 1.1.5 手続き作用の置換えモデル
- 1.1.6 条件式と述語
- 問題 1.1
- 問題 1.2
- 問題 1.3
- 問題 1.4
- 問題 1.5
- 1.1.7 例: Newton法による平方根
- 問題 1.6
- 問題 1.7
- 問題 1.8
- 1.1.8 ブラックボックス抽象としての手続き
- 1.2 手続きとその生成するプロセス
- 1.2.1 線形再帰と反復
- 問題 1.9
- 問題 1.10
- 1.2.2 木構造再帰
- 問題 1.11
- 問題 1.12
- 問題 1.13
- 1.2.3 増加の程度
- 問題 1.14
- 問題 1.15
- 1.2.4 べき乗
- 問題 1.16
- 問題 1.17
- 問題 1.18
- 問題 1.19
- 1.2.5 最大公約数
- 問題 1.20
- 1.2.6 例: 素数性のテスト
- 問題 1.21
- 問題 1.22
- 問題 1.23
- 問題 1.24
- 問題 1.25
- 問題 1.26
- 問題 1.27
- 問題 1.28
- 1.2.1 線形再帰と反復
- 1.3 高階手続きによる抽象
- 1.3.1 引数としての手続き
- 問題 1.29
- 問題 1.30
- 問題 1.31
- 問題 1.32
- 問題 1.33
- 1.3.2 lambdaを使う手続きの構築
- 問題 1.34
- 1.3.3 一般的方法としての手続き
- 問題 1.35
- 問題 1.36
- 問題 1.37
- 問題 1.38
- 問題 1.39
- 1.3.4 値として返される手続き
- 問題 1.40
- 問題 1.41
- 問題 1.42
- 問題 1.43
- 問題 1.44
- 問題 1.45
- 問題 1.46
- 1.3.1 引数としての手続き
- 1.1 プログラムの要素
- 2 データによる抽象の構築
- 2.1 データ抽象入門
- 2.1.1 例: 有理数の算術演算
- 問題 2.1
- 2.1.2 抽象の壁
- 問題 2.2
- 問題 2.3
- 2.1.3 データとは何か
- 問題 2.4
- 問題 2.5
- 問題 2.6
- 2.1.4 拡張問題: 区間算術演算
- 問題 2.7
- 問題 2.8
- 問題 2.9
- 問題 2.10
- 問題 2.11
- 問題 2.12
- 問題 2.13
- 問題 2.14
- 問題 2.15
- 問題 2.16
- 2.1.1 例: 有理数の算術演算
- 2.2 階層データ構造と閉包性
- 2.2.1 並びの表現
- 問題 2.17
- 問題 2.18
- 問題 2.19
- 問題 2.20
- 問題 2.21
- 問題 2.22
- 問題 2.23
- 2.2.2 階層構造
- 問題 2.24
- 問題 2.25
- 問題 2.26
- 問題 2.27
- 問題 2.28
- 問題 2.29
- 問題 2.30
- 問題 2.31
- 問題 2.32
- 2.2.3 公認インターフェースとしての並び
- 問題 2.33
- 問題 2.34
- 問題 2.35
- 問題 2.36
- 問題 2.37
- 問題 2.38
- 問題 2.39
- 問題 2.40
- 問題 2.41
- 問題 2.42
- 問題 2.43
- 2.2.4 例: 図形言語
- 問題 2.44
- 問題 2.45
- 問題 2.46
- 問題 2.47
- 問題 2.48
- 問題 2.49
- 問題 2.50
- 問題 2.51
- 問題 2.52
- 2.2.1 並びの表現
- 2.3 記号データ
- 2.3.1 クォート
- 問題 2.53
- 問題 2.54
- 問題 2.55
- 2.3.2 例: 記号微分
- 問題 2.56
- 問題 2.57
- 問題 2.58
- 2.3.3 例: 集合の表現
- 問題 2.59
- 問題 2.60
- 問題 2.61
- 問題 2.62
- 問題 2.63
- 問題 2.64
- 問題 2.65
- 問題 2.66
- 2.3.4 例: Huffman符号化木
- 問題 2.67
- 問題 2.68
- 問題 2.69
- 問題 2.70
- 問題 2.71
- 問題 2.72
- 2.3.1 クォート
- 2.4 抽象データの多重表現
- 2.4.1 複素数の表現
- 2.4.2 タグつきデータ
- 2.4.3 データ主導プログラミングと加法性
- 問題 2.73
- 問題 2.74
- 問題 2.75
- 問題 2.76
- 2.5 汎用演算のシステム
- 2.5.1 汎用算術演算
- 問題 2.77
- 問題 2.78
- 問題 2.79
- 問題 2.80
- 2.5.2 異る型のデータの統合
- 問題 2.81
- 問題 2.82
- 問題 2.83
- 問題 2.84
- 問題 2.85
- 問題 2.86
- 2.5.3 例: 記号代数
- 問題 2.87
- 問題 2.88
- 問題 2.89
- 問題 2.90
- 問題 2.91
- 問題 2.92
- 問題 2.93
- 問題 2.94
- 問題 2.95
- 問題 2.96
- 問題 2.97
- 2.5.1 汎用算術演算
- 2.1 データ抽象入門
- 3 標準部品化力, オブジェクトおよび状態
- 3.1 代入と局所状態
- 3.1.1 局所状態変数
- 問題 3.1
- 問題 3.2
- 問題 3.3
- 問題 3.4
- 3.1.2 代入を取り入れた利点
- 問題 3.5
- 問題 3.6
- 3.1.3 代入を取り入れた代価
- 問題 3.7
- 問題 3.8
- 3.1.1 局所状態変数
- 3.2 評価の環境モデル
- 3.2.1 評価の規則
- 3.2.2 単純な手続きの作用
- 問題 3.9
- 3.2.3 局所変数の入れ物としてのフレーム
- 問題 3.10
- 3.2.4 内部定義
- 問題 3.11
- 3.3 可変データでのモデル化
- 3.3.1 可変リスト構造
- 問題 3.12
- 問題 3.13
- 問題 3.14
- 問題 3.15
- 問題 3.16
- 問題 3.17
- 問題 3.18
- 問題 3.19
- 問題 3.20
- 3.3.2 キューの表現
- 問題 3.21
- 問題 3.22
- 問題 3.23
- 3.3.3 表の表現
- 問題 3.24
- 問題 3.25
- 問題 3.26
- 問題 3.27
- 3.3.4 ディジタル回路のシミュレータ
- 問題 3.28
- 問題 3.29
- 問題 3.30
- 問題 3.31
- 問題 3.32
- 3.3.5 制約の拡散
- 問題 3.33
- 問題 3.34
- 問題 3.35
- 問題 3.36
- 問題 3.37
- 3.3.1 可変リスト構造
- 3.4 並列性: 時が本質的
- 3.4.1 並列システムでの時
- 問題 3.38
- 3.4.2 並列性の制御機構
- 問題 3.39
- 問題 3.40
- 問題 3.41
- 問題 3.42
- 問題 3.43
- 問題 3.44
- 問題 3.45
- 問題 3.46
- 問題 3.47
- 問題 3.48
- 問題 3.49
- 3.4.1 並列システムでの時
- 3.5 ストリーム
- 3.5.1 ストリームは遅延リスト
- 問題 3.50
- 問題 3.51
- 問題 3.52
- 3.5.2 無限ストリーム
- 問題 3.53
- 問題 3.54
- 問題 3.55
- 問題 3.56
- 問題 3.57
- 問題 3.58
- 問題 3.59
- 問題 3.60
- 問題 3.61
- 問題 3.62
- 3.5.3 ストリームパラダイムの開発
- 問題 3.63
- 問題 3.64
- 問題 3.65
- 問題 3.66
- 問題 3.67
- 問題 3.68
- 問題 3.69
- 問題 3.70
- 問題 3.71
- 問題 3.72
- 問題 3.73
- 問題 3.74
- 問題 3.75
- 問題 3.76
- 3.5.4 ストリームと遅延評価
- 問題 3.77
- 問題 3.78
- 問題 3.79
- 問題 3.80
- 3.5.5 関数的プログラムの部品化度とオブジェクトの部品化度
- 問題 3.81
- 問題 3.82
- 3.5.1 ストリームは遅延リスト
- 3.1 代入と局所状態
- 4 超言語的抽象
- 4.1 超循環評価器
- 4.1.1 評価器の中核
- 問題 4.1
- 4.1.2 式の表現
- 問題 4.2
- 問題 4.3
- 問題 4.4
- 問題 4.5
- 問題 4.6
- 問題 4.7
- 問題 4.8
- 問題 4.9
- 問題 4.10
- 4.1.3 評価器のデータ構造
- 問題 4.11
- 問題 4.12
- 問題 4.13
- 4.1.4 評価器をプログラムとして走らせる
- 問題 4.14
- 4.1.5 プログラムとしてのデータ
- 問題 4.15
- 4.1.6 内部定義
- 問題 4.16
- 問題 4.17
- 問題 4.18
- 問題 4.19
- 問題 4.20
- 問題 4.21
- 4.1.7 構文解析を実行から分離する
- 問題 4.22
- 問題 4.23
- 問題 4.24
- 4.1.1 評価器の中核
- 4.2 Schemeの変形---遅延評価
- 4.2.1 正規順序と作用的順序
- 問題 4.25
- 問題 4.26
- 4.2.2 遅延評価の解釈系
- 問題 4.27
- 問題 4.28
- 問題 4.29
- 問題 4.30
- 問題 4.31
- 4.2.3 遅延評価リストとしてのストリーム
- 問題 4.32
- 問題 4.33
- 問題 4.34
- 4.2.1 正規順序と作用的順序
- 4.3 Schemeの変形---非決定性計算
- 4.3.1 ambと探索
- 問題 4.35
- 問題 4.36
- 問題 4.37
- 4.3.2 非決定性プログラムの例
- 問題 4.38
- 問題 4.39
- 問題 4.40
- 問題 4.41
- 問題 4.42
- 問題 4.43
- 問題 4.44
- 問題 4.45
- 問題 4.46
- 問題 4.47
- 問題 4.48
- 問題 4.49
- 4.3.3 amb評価器の実装
- 問題 4.50
- 問題 4.51
- 問題 4.52
- 問題 4.53
- 問題 4.54
- 4.3.1 ambと探索
- 4.4 論理型プログラミング
- 4.4.1 推論的情報検索
- 問題 4.55
- 問題 4.56
- 問題 4.57
- 問題 4.58
- 問題 4.59
- 問題 4.60
- 問題 4.61
- 問題 4.62
- 問題 4.63
- 4.4.2 質問システムはどう働くか
- 4.4.3 論理型プログラミングは数学的論理か
- 問題 4.64
- 問題 4.65
- 問題 4.66
- 問題 4.67
- 問題 4.68
- 問題 4.69
- 4.4.4 質問システムの実装
- 問題 4.70
- 問題 4.71
- 問題 4.72
- 問題 4.73
- 問題 4.74
- 問題 4.75
- 問題 4.76
- 問題 4.77
- 問題 4.78
- 問題 4.79
- 4.4.1 推論的情報検索
- 4.1 超循環評価器
- 5 レジスタ計算機での計算
- 5.1 レジスタ計算機の設計
- 問題 5.1
- 5.1.1 レジスタ計算機の記述言語
- 問題 5.2
- 5.1.2 計算機設計における抽象
- 問題 5.3
- 5.1.3 サブルーチン
- 5.1.4 再帰を実装するためのスタックの使用
- 問題 5.4
- 問題 5.5
- 問題 5.6
- 5.1.5 命令の要約
- 5.2 レジスタ計算機シミュレータ
- 問題 5.7
- 5.2.1 計算機モデル
- 5.2.2 アセンブラ
- 問題 5.8
- 5.2.3 命令の実行手続きの生成
- 問題 5.9
- 問題 5.10
- 問題 5.11
- 問題 5.12
- 問題 5.13
- 5.2.4 計算機の性能の監視
- 問題 5.14
- 問題 5.15
- 問題 5.16
- 問題 5.17
- 問題 5.18
- 問題 5.19
- 5.3 記憶の割当てとごみ集め
- 5.3.1 ベクタとしてのメモリー
- 問題 5.20
- 問題 5.21
- 問題 5.22
- 5.3.2 無限メモリーの幻想の維持
- 5.3.1 ベクタとしてのメモリー
- 5.4 積極制御評価器
- 5.4.1 積極制御評価器の中核
- 5.4.2 並びの評価と末尾再帰
- 5.4.3 条件式, 代入および定義
- 問題 5.23
- 問題 5.24
- 問題 5.25
- 5.4.4 評価の実行
- 問題 5.26
- 問題 5.27
- 問題 5.28
- 問題 5.29
- 問題 5.30
- 5.5 翻訳系
- 5.5.1 翻訳系の構造
- 問題 5.31
- 問題 5.32
- 5.5.2 式の翻訳
- 5.5.3 組合せの翻訳
- 5.5.4 命令列の組合せ
- 5.5.5 翻訳したコードの例
- 問題 5.33
- 問題 5.34
- 問題 5.35
- 問題 5.36
- 問題 5.37
- 問題 5.38
- 5.5.6 文面アドレス
- 問題 5.39
- 問題 5.40
- 問題 5.41
- 問題 5.42
- 問題 5.43
- 問題 5.44
- 5.5.7 翻訳したコードと評価器のインターフェース
- 問題 5.45
- 問題 5.46
- 問題 5.47
- 問題 5.48
- 問題 5.49
- 問題 5.50
- 問題 5.51
- 問題 5.52
- 5.5.1 翻訳系の構造
- 5.1 レジスタ計算機の設計
SICP勉強会の進捗状況
SICP勉強会 #17
6/28(木) 18:00-19:00
内容
- SICP内容確認
- 2.1.2 抽象の壁
- 2.1.3 データとは何か
- 問題: 2.2
SICP勉強会 #16
6/21(木) 18:00-19:00
内容
- SICP内容確認
- 2.1.1 例: 有理数の算術演算
- 問題: 2.1
SICP勉強会 #15
6/14(木) 18:00-19:00
内容
- SICP内容確認
- 1.3.3 一般的方法としての手続き (関数の不動点の探索)
- 1.3.4 値として返される手続き
SICP勉強会 #14
6/7(木) 18:00-19:00
内容
- SICP内容確認
- 1.3.1 引数としての手続き
- 1.3.2 lambdaを使う手続きの構築
- 1.3.3 一般的方法としての手続き (区間二分法による方程式の零点の探索)
SICP勉強会 #13
5/31(木) 18:00-19:00
内容
- SICP内容確認
- 1.2.6 例: 素数性のテスト
- 1.3.1 引数としての手続き
- 1.3.2 lambdaを使う手続きの構築
SICP勉強会 #12
5/24(木) 18:00-19:00
内容
- SICP内容確認
- 1.2.6 例: 素数性のテスト
- 問題1-22
SICP勉強会 #11
5/17(木) 18:00-19:00
内容
- SICP内容確認
- 1.1.1〜1.1.8 (復習)
SICP勉強会 #10
5/10(木) 18:00-19:00
内容
- SICP内容確認
- 1.2.6 例: 素数性のテスト
- 問題1-21〜1-22
SICP勉強会 #9
4/19(木) 18:00-19:00
内容
- SICP内容確認
- 1.2.5 最大公約数
- 1.2.6 例: 素数性のテスト
- 問題1-19, 1-20
SICP勉強会 #8
4/5(木) 18:00-19:00
内容
- SICP内容確認
- 1.2.4 べき乗
- 問題1-17, 1-18
SICP勉強会 #7
3/29(木) 18:00-19:00
内容
- SICP内容確認
- 1.2.4 べき乗
- 問題1-16 (2回目)
SICP勉強会 #6
3/15(木) 18:00-19:00
内容
- SICP内容確認
- 1.2.4 べき乗
- 問題1-16
SICP勉強会 #5
3/9(金) 18:00-19:30
内容
- SICP内容確認
- 1.2.2 木構造再帰
- 1.2.3 増加の程度
- 問題1-13〜1-15
SICP勉強会 #4
3/1(木) 18:00-19:30
内容
- SICP内容確認
- 1.2.2 木構造再帰
- 問題1-11〜1-12
SICP勉強会 #3
2/22(木) 18:00-19:00
内容
- SICP内容確認
- 1.1.8 ブラックボックス抽象としての手続
- 1.2.1 線形再帰と反復
- 1.2.2 木構造再帰
- 問題1-9〜1-10
SICP勉強会 #2
2/16(金) 18:30-20:30
内容
- SICP内容確認
- 1.1.3 組合せの評価
- 1.1.4 合成手続き
- 1.1.5 手続き作用の置換えモデル
- 1.1.6 条件式と述語
- 1.1.7 例: Newton法による平方根
- 問題1-1〜1-8
SICP勉強会 #1
2/8(木) 18:00-19:00
内容
- 進め方の確認
- 可能な限り毎週木曜日1時間ほど
- 無理なくじっくり取り組む
- 予習は前提としない(あらかじめ次の範囲を読んでおくとスムーズ)
- 開発環境の動作確認
- 処理系: Racket (SICP Collectionsが使える
🉐 ), Gauche, etc. ※Clojureなどでも - エディタ: オススメはEmacs/Spacemacs + Geiser ※好みのエディタ/IDE & REPLでも十分進められる
- 処理系: Racket (SICP Collectionsが使える
- SICP内容確認
- 序文
- 1.1.1 式
- 1.1.2 名前と環境
- 1.1.3 組合せの評価
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment