Asi sicp
SICP: Structure and Interpretation of Computer Programs - computational processes, abstraction, and metalinguistic design
git clone https://github.com/plurigrid/asi
T=$(mktemp -d) && git clone --depth=1 https://github.com/plurigrid/asi "$T" && mkdir -p ~/.claude/skills && cp -r "$T/plugins/asi/skills/sicp" ~/.claude/skills/plurigrid-asi-sicp && rm -rf "$T"
plugins/asi/skills/sicp/SKILL.mdSICP Skill
"Programs must be written for people to read, and only incidentally for machines to execute." — Abelson & Sussman
Geometric morphism translation from sicp.info preserving the hierarchical node structure as an ACSet with GF(3) coloring for trifurcated processing.
Overview
Structure and Interpretation of Computer Programs (Second Edition)
by Harold Abelson and Gerald Jay Sussman, with Julie Sussman
Foreword by Alan J. Perlis
© 1996 Massachusetts Institute of Technology
The wizard book for computational thinking—procedures as abstractions, data as abstractions, and the interpreter as the ultimate abstraction.
Chapters
Chapter 1: Building Abstractions with Procedures [PLUS]
- 1-1: The Elements of Programming (expressions, naming, evaluation)
- 1-2: Procedures and the Processes They Generate (recursion, iteration, orders of growth)
- 1-3: Formulating Abstractions with Higher-Order Procedures (λ, returned values)
Key concepts: Substitution model, lexical scoping, fixed points, Newton's method
Chapter 2: Building Abstractions with Data [ERGODIC]
- 2-1: Introduction to Data Abstraction (rational numbers, barriers)
- 2-2: Hierarchical Data and the Closure Property (sequences, trees, picture language)
- 2-3: Symbolic Data (quotation, differentiation, sets, Huffman encoding)
- 2-4: Multiple Representations for Abstract Data (tagged data, data-directed programming)
- 2-5: Systems with Generic Operations (type coercion, symbolic algebra)
Key concepts: Pairs, cons/car/cdr, closure property, abstraction barriers, message passing
Chapter 3: Modularity, Objects, and State [PLUS]
- 3-1: Assignment and Local State (set!, costs of assignment)
- 3-2: The Environment Model of Evaluation (frames, procedure objects)
- 3-3: Modeling with Mutable Data (queues, tables, digital circuits, constraints)
- 3-4: Concurrency: Time Is of the Essence (serializers, deadlock)
- 3-5: Streams (delayed evaluation, infinite streams, signal processing)
Key concepts: State, identity, time, streams vs objects duality
Chapter 4: Metalinguistic Abstraction [PLUS]
- 4-1: The Metacircular Evaluator (eval/apply, syntax procedures, environments)
- 4-2: Variations on a Scheme (lazy evaluation, normal vs applicative order)
- 4-3: Variations on a Scheme: Nondeterministic Computing (amb, backtracking)
- 4-4: Logic Programming (unification, pattern matching, query systems)
Key concepts: eval/apply loop, special forms, thunks, amb evaluator, Prolog-style logic
Chapter 5: Computing with Register Machines [ERGODIC]
- 5-1: Designing Register Machines (data paths, controllers, subroutines)
- 5-2: A Register-Machine Simulator (the machine model, assembler)
- 5-3: Storage Allocation and Garbage Collection (vectors, stop-and-copy)
- 5-4: The Explicit-Control Evaluator (machine code for Scheme)
- 5-5: Compilation (structure of compiler, lexical addressing, interfacing)
Key concepts: Register allocation, continuation-passing, tail recursion, compilation
GF(3) Conservation
The Info file nodes distribute perfectly across GF(3) trits:
Total nodes: 138 MINUS (-1): 46 ████████████████ ERGODIC (0): 46 ████████████████ PLUS (+1): 46 ████████████████ Sum mod 3: 0 Conserved: ✓ BALANCED
This perfect 46/46/46 distribution enables optimal trifurcated parallel processing.
ACSet Schema (Geometric Morphism)
The translation from Info to Skill uses a geometric morphism
f: InfoTopos → SkillTopos:
Objects (Ob): Node - Info nodes (sections, subsections) Edge - Navigation and reference links Content - Extracted text and code blocks Morphisms (Hom): next: Node → Node - Sequential navigation prev: Node → Node - Backward navigation up: Node → Node - Hierarchical parent menu: Node → Node - Chapter/section containment xref: Node → Node - Cross-references (*Note) Attributes: trit: Node → GF(3) - Deterministic color assignment text: Node → String - Node content
Integration with Gay.jl
The GF(3) coloring uses the same SplitMix64 hash as Gay.jl:
using Gay # Color SICP nodes deterministically for node in sicp_nodes seed = hash(node.id) color = gay_color(seed) # Returns palette with GF(3) trit node.trit = color.trit end # Verify conservation @assert sum(n.trit for n in sicp_nodes) % 3 == 0
Commands
# Read in Emacs info sicp # Re-translate with geometric morphism bb info_to_skill_morphism.bb translate sicp.info # Verify grammar and GF(3) conservation bb info_to_skill_morphism.bb verify sicp.info # Parse to CRDT-style sexp bb info_to_skill_morphism.bb parse sicp.info > sicp.sexp
References
- Full text online
- MIT OCW 6.001
- SICP Distilled (Clojure version)
Scientific Skill Interleaving
This skill connects to the K-Dense-AI/claude-scientific-skills ecosystem:
Graph Theory
- networkx [○] via bicomodule
- Universal graph hub
Bibliography References
: 734 citations in bib.duckdbgeneral
Cat# Integration
This skill maps to Cat# = Comod(P) as a bicomodule in the equipment structure:
Trit: 0 (ERGODIC) Home: Prof Poly Op: ⊗ Kan Role: Adj Color: #26D826
GF(3) Naturality
The skill participates in triads satisfying:
(-1) + (0) + (+1) ≡ 0 (mod 3)
This ensures compositional coherence in the Cat# equipment structure.