Skip to content

SICPy 3: linked list, not list in chapter 3 - #1394

Merged
martin-henz merged 3 commits into
masterfrom
sicpy-ch3-linked-list
Oct 29, 2026
Merged

martin-henz merged 3 commits into
masterfrom
sicpy-ch3-linked-list

Conversation

@boydanderson

@boydanderson boydanderson commented Oct 29, 2026 •

Copy link
Copy Markdown
Contributor

Chapter 3 of SICPy says plain "list" 88 times where it means a pair-based linked list, while chapter 2 consistently says "linked list" (and uses llist only as the function name). In the Python edition, "list" reads as a Python list, which chapter 3 never uses: its queues, tables, agenda and constraint networks are all built from pair/set_head/set_tail, and even the mutex's "one-element list" is llist(False).

Section Changes
3.3.1 Mutable list structure 23: "the lists in figure ...", appending, sharing, cycles
3.3.2 Queues 22: "an ordinary list", "the empty list" (for None), the queue representation
3.3.3 Tables 11: "list of records", "headed list", "list of keys"
3.3.4-3.3.5 Simulator, constraints 11: "list of functions", "list of segments", "list of constraints"
3.4.2 Mutex 1: "one-element list"
3.5 Streams 20: "streams as lists", "the empty list", "ordinary lists"

Also 3.5.1: list_ref -> llist_ref, the name chapter 2 defines.

Chapter 3 says plain "list" about 90 times for pair-based linked lists (mutable list structure, queues, tables, the agenda, constraints, the mutex cell, streams), while chapter 2 says "linked list". In the Python edition "list" reads as a Python list, which chapter 3 never uses.

Python wording only: shared text uses SPLITINLINE, so the Scheme text is unchanged. "List structure", "arbitrary argument lists" and the Lisp footnote in 3.5.1 are kept. Also fixes list_ref -> llist_ref in 3.5.1.
@boydanderson boydanderson changed the title SICPy 3: linked list, not list, for pair-based lists SICPy 3: linked list, not list in chapter 3 Oct 29, 2026
@martin-henz
martin-henz merged commit a3e48bf into master Oct 29, 2026
5 checks passed
@martin-henz
martin-henz deleted the sicpy-ch3-linked-list branch October 29, 2026 09:21
martin-henz added a commit that referenced this pull request Oct 29, 2026
…1397)

Remaining leftovers after #1394-#1396:
- Python branch of exercise instructions still said "Declare a function"
  (and a few "declared in section"/"declarations" referring to functions)
- predeclared/pre-declared -> predefined
- bare "list"/"list structure" in Python-visible prose -> "linked list" /
  "linked-list structure" (ch2 convention), including three section titles

Co-authored-by: Claude Sonnet 5.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants