sicp

SICP: Structure and Interpretation of Computer Programs - computational processes, abstraction, and metalinguistic design

16 stars

Best use case

sicp is best used when you need a repeatable AI agent workflow instead of a one-off prompt.

SICP: Structure and Interpretation of Computer Programs - computational processes, abstraction, and metalinguistic design

Teams using sicp should expect a more consistent output, faster repeated execution, less prompt rewriting.

When to use this skill

  • You want a reusable workflow that can be run more than once with consistent structure.

When not to use this skill

  • You only need a quick one-off answer and do not need a reusable workflow.
  • You cannot install or maintain the underlying files, dependencies, or repository context.

Installation

Claude Code / Cursor / Codex

$curl -o ~/.claude/skills/sicp/SKILL.md --create-dirs "https://raw.githubusercontent.com/plurigrid/asi/main/plugins/asi/skills/sicp/SKILL.md"

Manual Installation

  1. Download SKILL.md from GitHub
  2. Place it in .claude/skills/sicp/SKILL.md inside your project
  3. Restart your AI agent — it will auto-discover the skill

How sicp Compares

Feature / AgentsicpStandard Approach
Platform SupportNot specifiedLimited / Varies
Context Awareness High Baseline
Installation ComplexityUnknownN/A

Frequently Asked Questions

What does this skill do?

SICP: Structure and Interpretation of Computer Programs - computational processes, abstraction, and metalinguistic design

Where can I find the source code?

You can find the source code on GitHub using the link provided at the top of the page.

SKILL.md Source

# SICP 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:

```julia
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

```bash
# 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](https://mitpress.mit.edu/sites/default/files/sicp/full-text/book/book.html)
- [MIT OCW 6.001](https://ocw.mit.edu/courses/6-001-structure-and-interpretation-of-computer-programs-spring-2005/)
- [SICP Distilled](https://www.sicpdistilled.com/) (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

- `general`: 734 citations in bib.duckdb

## 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.

Related Skills

jepsen-testing

16
from plurigrid/asi

Jepsen-style correctness testing for distributed systems under faults (partitions, crashes, clock skew) using concurrent operation histories and formal checkers (linearizability/serializability and Elle-style anomalies). Use when designing, implementing, or running Jepsen tests, or interpreting histories/violations.

Deterministic Color Generation via Metadata Hashing

16
from plurigrid/asi

**Status**: ✅ Production Ready

cyton-dongle

16
from plurigrid/asi

Connect and stream from OpenBCI Cyton/Daisy via USB dongle, including first-time radio channel pairing

asi-transient-agenda

16
from plurigrid/asi

Org-agenda-like transient views for ASI skill orchestration via nbb/squint + Emacs hydra

Topological Superintelligence (TSI)

16
from plurigrid/asi

Compositional AI framework using GF(3) triadic balance and category-theoretic foundations.

zx-calculus

16
from plurigrid/asi

Coecke's ZX-calculus for quantum circuit reasoning via string diagrams with Z-spiders (green) and X-spiders (red)

zulip-cogen

16
from plurigrid/asi

Zulip Cogen Skill 🐸⚡

zls-integration

16
from plurigrid/asi

zls-integration skill

zig

16
from plurigrid/asi

zig skill

zig-syrup-bci

16
from plurigrid/asi

Multimodal BCI pipeline in Zig: DSI-24 EEG, fNIRS mBLL, eye tracking IVT, LSL sync, EDF read/write, GF(3) conservation

zig-programming

16
from plurigrid/asi

zig-programming skill

zeroth-bot

16
from plurigrid/asi

Zeroth Bot - 3D-printed open-source humanoid robot platform for sim-to-real and RL research. Affordable entry point for humanoid robotics.