빠진 부분까지 그대로 드러냅니다.
원전 2판 목차의 번호가 붙은 모든 하위 절을 따라갑니다. covered는 전용 실행 수업이 그 절의 핵심을 상당 부분 직접 다룬다는 뜻이고, partial은 관련 실행 표면이 있지만 절 전체를 아직 덮지 못한다는 뜻입니다.
프로시저로 추상화 쌓기
프로그래밍의 기본 요소
- 1.1.1
Expressions
완료 - 1.1.2
Naming and the Environment
일부이름과 환경은 여러 수업에 나오지만 정의와 조회만을 다루는 전용 수업은 아직 없습니다.
- 1.1.3
Evaluating Combinations
완료 - 1.1.4
Compound Procedures
완료 - 1.1.5
The Substitution Model for Procedure Application
일부프로세스의 모양은 보이지만 치환 과정을 단계별로 다시 만들지는 않습니다.
- 1.1.6
Conditional Expressions and Predicates
일부조건식과 술어를 여러 예제에서 사용하지만 전용 수업으로 완결하지는 않았습니다.
- 1.1.7
Example: Square Roots by Newton's Method
완료 - 1.1.8
Procedures as Black-Box Abstractions
일부프로시저 경계는 다루지만 블랙박스 분해의 전체 논의까지 연결하지는 않았습니다.
프로시저와 프로시저가 만드는 프로세스
- 1.2.1
Linear Recursion and Iteration
완료 - 1.2.2
Tree Recursion
완료 - 1.2.3
Orders of Growth
완료 - 1.2.4
Exponentiation
완료 - 1.2.5
Greatest Common Divisors
완료 - 1.2.6
Example: Testing for Primality
일부expmod와 고정한 밑의 페르마 점검은 구현했지만 시간 측정 소수 검사와 확률적 검사의 전체 전개는 아직 없습니다.
고차 프로시저로 추상화 만들기
- 1.3.1
Procedures as Arguments
완료 - 1.3.2
Constructing Procedures Using Lambda
일부lambda 식을 직접 사용하지만 문법과 범위와 이름 붙이기를 전용 수업으로 분리하지는 않았습니다.
- 1.3.3
Procedures as General Methods
완료 - 1.3.4
Procedures as Returned Values
완료
데이터로 추상화 쌓기
데이터 추상화 소개
- 2.1.1
Example: Arithmetic Operations for Rational Numbers
완료 - 2.1.2
Abstraction Barriers
완료 - 2.1.3
What Is Meant by Data?
일부생성자와 선택자의 계약은 보여 주지만 프로시저 표현까지 완전하게 전개하지는 않았습니다.
- 2.1.4
Extended Exercise: Interval Arithmetic
완료
계층적 데이터와 닫힘 성질
- 2.2.1
Representing Sequences
완료 - 2.2.2
Hierarchical Structures
완료 - 2.2.3
Sequences as Conventional Interfaces
완료 - 2.2.4
Example: A Picture Language
완료
기호 데이터
- 2.3.1
Quotation
일부인용된 데이터를 폭넓게 사용하지만 인용과 동등성을 전용 수업으로 완결하지는 않았습니다.
- 2.3.2
Example: Symbolic Differentiation
완료 - 2.3.3
Example: Representing Sets
일부정렬된 리스트의 포함 검사와 합집합은 다루지만 무순서 리스트와 트리 집합은 아직 빠져 있습니다.
- 2.3.4
Example: Huffman Encoding Trees
완료
추상 데이터의 여러 표현
- 2.4.1
Representations for Complex Numbers
완료 - 2.4.2
Tagged data
완료 - 2.4.3
Data-Directed Programming and Additivity
일부연산 표와 가산적으로 확장되는 다항식 패키지는 실행되지만 완전한 범용 시스템 전체에 재사용하는 설치 프로토콜까지 구현하지는 않았습니다.
범용 연산 체계
- 2.5.1
Generic Arithmetic Operations
일부범용 디스패치와 명시적인 수치 tower와 다항식 덧셈·곱셈은 실행되지만 내리기와 더 넓은 산술 패키지 집합과 완전한 tower는 아직 빠져 있습니다.
- 2.5.2
Combining Data of Different Types
완료 - 2.5.3
Example: Symbolic Algebra
완료
모듈성, 객체, 상태
대입과 지역 상태
- 3.1.1
Local State Variables
완료 - 3.1.2
The Benefits of Introducing Assignment
일부상태 캡슐화와 재현성은 실행되지만 원전의 예제를 모두 따라가지는 않습니다.
- 3.1.3
The Costs of Introducing Assignment
일부별칭과 순서 의존성은 보이지만 환경 모델을 통한 전체 비교는 아직 불완전합니다.
평가의 환경 모델
- 3.2.1
The Rules for Evaluation
일부프레임과 조회는 실행되지만 환경 평가 규칙 전체를 한곳에서 제시하지는 않습니다.
- 3.2.2
Applying Simple Procedures
일부클로저 생성과 비공개 저장 위치는 다루지만 프레임별 적용 시각화는 아직 없습니다.
- 3.2.3
Frames as the Repository of Local State
완료 - 3.2.4
Internal Definitions
완료
가변 데이터로 모델링하기
- 3.3.1
Mutable List Structure
일부순서쌍 변경과 별칭은 보이지만 순환과 파괴적 append와 가변 리스트 도구 전체는 아직 없습니다.
- 3.3.2
Representing Queues
완료 - 3.3.3
Representing Tables
완료 - 3.3.4
A Simulator for Digital Circuits
일부정렬된 의제와 시뮬레이션 시간은 다루지만 전선과 게이트와 회로 전파는 아직 없습니다.
- 3.3.5
Propagation of Constraints
완료
동시성: 시간의 본질
- 3.4.1
The Nature of Time in Concurrent Systems
완료 - 3.4.2
Mechanisms for Controlling Concurrency
일부모형화한 serializer와 test-and-set 경계는 실행되지만 실제 스레드와 공정성과 교착 분석은 명시적으로 범위 밖입니다.
스트림
- 3.5.1
Streams Are Delayed Lists
완료 - 3.5.2
Infinite Streams
완료 - 3.5.3
Exploiting the Stream Paradigm
일부무한 스트림의 유한한 요구는 다루지만 수치 스트림 응용은 아직 연결하지 않았습니다.
- 3.5.4
Streams and Delayed Evaluation
완료 - 3.5.5
Modularity of Functional Programs and Modularity of Objects
일부두 모형은 별도 수업에 있지만 원전의 전체 비교 사례는 아직 없습니다.
메타언어적 추상화
메타순환 평가기
- 4.1.1
The Core of the Evaluator
일부핵심 디스패치와 프로시저 본문 전처리와 유한한 eval/apply 드라이버는 실행되지만 평가기의 전체 전개를 아직 재현하지는 않습니다.
- 4.1.2
Representing Expressions
완료 - 4.1.3
Evaluator Data Structures
일부환경과 복합 프로시저 레코드와 가변 전역 바인딩과 표현된 thunk와 명시적인 unassigned 지역 값은 실행되지만 평가기 자료구조 전체를 조립하지는 않았습니다.
- 4.1.4
Running the Evaluator as a Program
완료 - 4.1.5
Data as Programs
일부프로그램을 인용된 데이터로 다루며 파생 let과 내부 정의 scan-out과 유한한 최상위 드라이버로 변환·실행하지만 원전의 전체 논의는 아직 연결하지 않았습니다.
- 4.1.6
Internal Definitions
완료 - 4.1.7
Separating Syntactic Analysis from Execution
완료
Scheme의 변형 -- 지연 평가
- 4.2.1
Normal Order and Applicative Order
일부요구와 메모이제이션은 명시하지만 평가 순서의 예제를 완전히 전개하지는 않았습니다.
- 4.2.2
An Interpreter with Lazy Evaluation
일부명시적인 thunk는 핵심 표현 변화를 모형화하지만 완전한 지연 평가기는 아닙니다.
- 4.2.3
Streams as Lazy Lists
일부스트림과 명시적인 thunk는 별도 층에 있으며 지연 리스트 평가기 통합은 아직 없습니다.
Scheme의 변형 -- 비결정적 계산
- 4.3.1
Amb and Search
완료 - 4.3.2
Examples of Nondeterministic Programs
일부유한한 대안과 제약과 모든 해 수집과 명시적인 해 개수 한도는 실행되지만 더 넓은 퍼즐 예제와 무한 탐색 정책은 아직 다루지 않습니다.
- 4.3.3
Implementing the Amb Evaluator
완료
논리 프로그래밍
- 4.4.1
Deductive Information Retrieval
완료 - 4.4.2
How the Query System Works
일부프레임과 규칙 확장과 보이는 frontier를 의도적으로 좁은 평가기로 다룹니다.
- 4.4.3
Is Logic Programming Mathematical Logic?
완료 - 4.4.4
Implementing the Query System
일부매칭과 제한된 재귀 규칙은 실행되지만 일반 통합과 변수 이름 변경과 부정과 완전한 질의 엔진은 아직 없습니다.
레지스터 기계로 계산하기
레지스터 기계 설계하기
- 5.1.1
A Language for Describing Register Machines
일부컨트롤러 데이터와 핵심 명령 형식은 있지만 완전한 기계 기술 언어는 아직 없습니다.
- 5.1.2
Abstraction in Machine Design
일부상태와 컨트롤러 경계는 명시하지만 기계를 단계별로 다시 설계하는 전체 과정은 아직 없습니다.
- 5.1.3
Subroutines
완료 - 5.1.4
Using a Stack to Implement Recursion
완료 - 5.1.5
Instruction Summary
일부구현된 실행기는 assign과 test와 branch와 goto와 halt의 유한한 부분집합만 지원합니다.
레지스터 기계 시뮬레이터
- 5.2.1
The Machine Model
완료 - 5.2.2
The Assembler
완료 - 5.2.3
Generating Execution Procedures for Instructions
일부명령 실행을 하나의 유한한 실행기가 해석하며 일반 시뮬레이터의 실행 프로시저 집합을 생성하지는 않습니다.
- 5.2.4
Monitoring Machine Performance
완료
저장 공간 할당과 가비지 컬렉션
- 5.3.1
Memory as Vectors
일부도달 가능성은 명시하지만 car/cdr 벡터 메모리와 free 포인터 할당은 아직 구현하지 않았습니다.
- 5.3.2
Maintaining the Illusion of Infinite Memory
일부추적과 도달 불가능 분류는 다루지만 복사 수집이나 메모리 회수는 아직 없습니다.
명시적 제어 평가기
- 5.4.1
The Core of the Explicit-Control Evaluator
미구현아직 전용으로 실행할 수 있는 리스펙스 수업이 없습니다.
완전한 명시적 제어 평가기 컨트롤러는 아직 없습니다.
- 5.4.2
Sequence Evaluation and Tail Recursion
미구현아직 전용으로 실행할 수 있는 리스펙스 수업이 없습니다.
명시적 제어 평가기 안의 꼬리 재귀 수열 평가는 아직 연결되지 않았습니다.
- 5.4.3
Conditionals, Assignments, and Definitions
미구현아직 전용으로 실행할 수 있는 리스펙스 수업이 없습니다.
이 평가기 컨트롤러 경로를 다루는 실행 기계 수업이 아직 없습니다.
- 5.4.4
Running the Evaluator
미구현아직 전용으로 실행할 수 있는 리스펙스 수업이 없습니다.
처음부터 끝까지 실행하는 명시적 제어 평가기는 아직 없습니다.
컴파일
- 5.5.1
Structure of the Compiler
일부작은 컴파일러와 명령열 계약은 있지만 완전한 컴파일러 구조는 아직 없습니다.
- 5.5.2
Compiling Expressions
일부상수와 산술 식 트리는 컴파일하지만 변수와 대입과 정의와 조건식은 아직 완전하지 않습니다.
- 5.5.3
Compiling Combinations
일부스택 산술은 피연산자 순서를 보존하지만 일반 프로시저 호출과 linkage는 아직 컴파일하지 않습니다.
- 5.5.4
Combining Instruction Sequences
완료 - 5.5.5
An Example of Compiled Code
일부작은 산술 예제는 생성하고 실행하지만 완전한 재귀 프로시저의 컴파일 코드는 아직 보여 주지 않습니다.
- 5.5.6
Lexical Addressing
완료 - 5.5.7
Interfacing Compiled Code to the Evaluator
미구현아직 전용으로 실행할 수 있는 리스펙스 수업이 없습니다.
컴파일된 프로시저와 평가기가 하나의 호출 가능한 런타임 경계를 아직 공유하지 않습니다.