Repository navigation
Add anonymous functions (lambda) to the functional programming chapter - #40
Conversation
…chapter Stanford's CS 107 (Jerry Cain, Spring 2008) taught Scheme with free lectures and handouts under CC BY 3.0 US. The chapter stopped at map and filter; CS 107's handouts go on to lambda, functions that return functions, apply and let, which students need for the Racket labs. The new section adapts Cain's `translate` (as `shift-all`) and `average`, with visible Source notes that link the license and say what changed, and puts each CS 107 lecture video beside the item it supports. A remark maps Scheme names to Racket's, and a further-reading remark links CS 242's lambda calculus notes and CS 99 (Lean), linked rather than adapted because neither license allows it here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019xfc9rJjY4bCnfxuBmX2Ch
…m further reading The remark named cond, first and rest before the chapter defines them, and its further-reading list pointed at worked solutions to the Lab 3 and Lab 4 topics (power sets, sorting). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019xfc9rJjY4bCnfxuBmX2Ch
The branch was over the PR size cap; this PR keeps lambda and functions that return functions, and the rest follows once it merges. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019xfc9rJjY4bCnfxuBmX2Ch
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…the wordlist The 2008 SEE course package states CC BY 3.0 US on every page; SEE's current default, CC BY-NC-SA 4.0, applies only where nothing else is stated, and a CC license already granted cannot be withdrawn. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019xfc9rJjY4bCnfxuBmX2Ch
|
Replies to the review, addressed in fd55384: License (blocking): rebutted, with the source of the license now stated. The SEE FAQ's CC BY-NC-SA 4.0 is a default that applies only "unless otherwise expressly indicated". The 2008 CS 107 course package from SEE expressly indicates otherwise. Its index, lecture list, handouts, assignments, exams and resources pages each carry "This work is licensed under a Creative Commons Attribution 3.0 United States License", linking https://creativecommons.org/licenses/by/3.0/us/. Today's course page states no license of its own. A CC license, once granted, cannot be withdrawn for material already released under it, so the handouts remain usable under CC BY 3.0 US. The bib note and the Source note now say the license comes from the 2008 SEE course package. CS 99 is different: its current site states CC BY-NC-SA 4.0 on its own page. Wordlist: fixed. Added Cain, Crichton and Stanford to Media line outside the remark div: kept as is. The lab's rule for lecture notes puts each video or media link "in a short note right after the exercise, figure or definition it supports", not inside it. The subfile still holds one div, plus that note. Posted by Claude Code (AI agent) --- not written by a human. Generated by Claude Code |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…nstead The reviewer was right: Creative Commons' 2008 announcement of SEE says the course materials are CC BY-NC-SA and only the general site content is CC BY, and the CC BY badge in the 2008 package is the site footer. A NonCommercial-ShareAlike adaptation cannot go into this MIT-licensed repository, so shift-all (from Cain's translate) is replaced by a new exercise, pair-with, and CS 107 is only linked, beside the lambda definition. Also splits the comma splice in the lambda-calculus remark. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019xfc9rJjY4bCnfxuBmX2Ch
|
The second review is right, and I withdraw my earlier rebuttal. Creative Commons' 2008 announcement of SEE says "All course materials are open for re-use under CC BY-NC-SA. The general site content on Stanford Engineering Everywhere is licensed CC BY." The CC BY badge I relied on is the page footer of the 2008 package, which is site content. The handout PDFs themselves carry no license. A NonCommercial-ShareAlike adaptation can't go into this MIT-licensed repo, so e1a8580 does the following:
The Posted by Claude Code (AI agent) --- not written by a human. Generated by Claude Code |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
…e div Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_019xfc9rJjY4bCnfxuBmX2Ch
|
Claude finished review — View run Everything checks out. This round fully resolves both outstanding issues from the prior reviews. Review: PR #40 — Add anonymous functions (lambda) to the functional programming chapterWhat changed since the last roundPrior rounds reviewed up through commit Resolved: license on the adapted exerciseThe blocking finding from the first two rounds — that
Resolved: structural inconsistency in
|
2026-10-29 20:51 UTC |
|
Merge note: Posted by Claude Code (AI agent) --- not written by a human. Generated by Claude Code |
Requested by Ezra · project thread
Why
Ezra asked to bring Stanford's old functional programming material into CSCI 201. The chapter stopped at
mapandfilter;lambdais the next step, and the Racket labs and the mcsg practice handout use it.The Stanford sources and their licenses:
What
A new section, Anonymous functions (
#sec-lambda-let), at the end of chapters/functional-programming.qmd:pair-with, which is new: amapwhoselambdauses a parameter of the enclosing function;lambda, including that(define (f x) body)is shorthand for(define f (lambda (x) body)), followed by a video note linking CS 107 Lecture 22;adder).Every stated return value was checked in Racket 8.
Follow-up
The planned follow-up (
apply,let, a Scheme-to-Racket remark and more video links) will be written new, with CS 107 linked rather than adapted.Checks
check-rendered-page.pyis clean. PDF and docx are left to CI, since this container has no TeX.🤖 Generated with Claude Code
https://claude.ai/code/session_019xfc9rJjY4bCnfxuBmX2Ch