Learning Contract¶
Guide Fit¶
flowchart TD
family["Python Programming"] --> program["Python Functional Programming"]
program --> pressure["A concrete learner or reviewer question"]
pressure --> guide["Learning Contract"]
guide --> next["Modules, capstone, and reference surfaces"]
flowchart TD
question["Name the exact question you need answered"] --> skim["Skim only the sections that match that pressure"]
skim --> crosscheck["Open the linked module, proof surface, or capstone route"]
crosscheck --> next_move["Leave with one next decision, page, or command"]
Read the first diagram as a timing map: this guide is for a named pressure, not for wandering the whole course-book. Read the second diagram as the guide loop: arrive with a concrete question, use only the matching sections, then leave with one smaller and more honest next move.
This course asks for deliberate reading. The lessons are designed to improve judgment, not only recall. That only works if you keep the prose, code, and verification surface tied together.
Commitments the course makes to you¶
- the modules build from local purity to harder system boundaries
- the capstone gives one stable codebase so the abstractions stay grounded
- the prose tries to name trade-offs, limits, and failure modes directly
Commitments the learner should make back¶
- read module overviews before the lesson pages
- do not skip the law, refactor, or review chapters
- keep asking what is still pure and what has become explicit effect
- inspect the capstone and tests when a lesson makes a design claim
- revisit earlier modules when a later abstraction starts to feel ceremonial
What progress looks like¶
Progress in this course is not "I know the vocabulary." Progress is:
- you can reject hidden effects with confidence
- you can explain why a lazy boundary should materialize where it does
- you can describe a failure path as data instead of hand-waving through control flow
- you can predict where a new integration should enter the capstone without blurring the core
What failure looks like¶
- copying functional terminology without changing effect design
- reading lessons as theory detached from the code and proof surface
- treating the capstone as a sample app instead of a design argument
Recovery route¶
- Return to the module overview.
- Reduce the problem to one boundary decision.
- Inspect the matching capstone file or guide.
- Re-run the matching proof command and compare the evidence to the claim.