Structure and Interpretation of Computer Programs¶
Abelson, H., Sussman, G. J., & Sussman, J. (1996). Structure and Interpretation of Computer Programs. MIT Press.
Cited by¶
10 citations across 10 artifacts.
Each citation links to the sentence it supports in the citing article.
Primes¶
- Context
- In computing and programming languages, lexical and dynamic scope and namespace resolution make the same identifier resolve to different bindings under different contexts
This sourceTreats environment-based name resolution, contrasting lexical scope (binding fixed by surrounding program text) with dynamic scope (binding fixed by the runtime call stack) as context for identifier binding.
- In computing and programming languages, lexical and dynamic scope and namespace resolution make the same identifier resolve to different bindings under different contexts
- Higher Order Function
- In programming it is
map,filter,reduce, decorators, callbacks, middleware, dependency injection, currying, and monads.This sourceCanonical treatment of higher-order procedures — functions as arguments and return values (map, fold, function factories) — and the view of mathematical operators as the same move.
- In programming it is
- Located-In Relation
- The locatum is the variable; the location is the scope (a function or block); the inclusion region is the lexical extent, with the inclusion test decided by scope rules; and the relation-time is the variable's lifetime
This sourceTreats lexical scoping and closure capture of variables in an environment, the variable's lifetime within its scope.
- The locatum is the variable; the location is the scope (a function or block); the inclusion region is the lexical extent, with the inclusion test decided by scope rules; and the relation-time is the variable's lifetime
- Meta-Symbolic Reflection
- Portable Context Bundle
- A programmer reasoning about a lexical closure, a lawyer reasoning about stare decisis, an ML engineer reasoning about distribution shift, and an operations engineer reasoning about a frozen container image are reasoning about the same structure: a behaviour-unit that carries its definition-time environment across a context boundary, with a binding rule that determines whether free references resolve against captured or ambient context.
This sourceTreats lexical scoping and the environment model in which a procedure captures and resolves free variables against its definition-time environment.
- A programmer reasoning about a lexical closure, a lawyer reasoning about stare decisis, an ML engineer reasoning about distribution shift, and an operations engineer reasoning about a frozen container image are reasoning about the same structure: a behaviour-unit that carries its definition-time environment across a context boundary, with a binding rule that determines whether free references resolve against captured or ambient context.
- Postponement
- Software. Late binding, lazy evaluation, parametric types, configuration deferred to deploy or first run rather than compile time, and feature flags that decouple release from build.
This sourceTreats delayed (lazy) evaluation, streams, and late binding as deferring commitment until a value is demanded.
- Software. Late binding, lazy evaluation, parametric types, configuration deferred to deploy or first run rather than compile time, and feature flags that decouple release from build.
- Progressive Disclosure
- The well-chosen defaults are the canonical first examples — countdown, factorial — chosen because a typical learner at that depth is well served by them.
This sourceUses factorial and counting-down recursions as the canonical first examples for teaching recursive process (Section 1.2).
- The well-chosen defaults are the canonical first examples — countdown, factorial — chosen because a typical learner at that depth is well served by them.
- Recursion
- The base-case versus recursive-case dichotomy
This sourceAbelson-Sussman Structure Interpretation Computer Programs metalinguistic abstraction DSL.
- The base-case versus recursive-case dichotomy
Domain-specific¶
Mechanisms¶
- Lazy Sequence Generator
- The discipline is to bound infinite sources at the consumer
This sourceDemonstrates lazy infinite streams that compute only the finite portion a consumer accesses.
- The discipline is to bound infinite sources at the consumer
Verification¶
This reference passed the adversarial substantiation pipeline: it was checked to exist and to support the claim it is attached to. See how references were verified.
Links previously used in the corpus¶
Before the registry existed this work was also linked 1 other way.
Registry ID ref:1217be55cfec · see in the full table