Proofread/prose pass - #9
Merged
Merged
Conversation
- 01 Introduction: example path 08_Decorators -> 12_Decorators (stale after the chapter renumber). - 02 A Python Tour: remove stray backslash in the `#` code span; fix the malformed nested PEP 8 link. - 03 Containers and Control Flow: "mentioned under Cleanup" now points at the Initialization and Cleanup chapter (Cleanup split out in the restructure). - Logged one confusing-sentence rewrite (03:38) to PROOFREADING_FINDINGS.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 05 Modules and Packages: drop stale "(modules are described shortly)" aside (this is the modules chapter; they are introduced at the top). - 06 Classes: "interfaces -all" -> "interfaces: all"; "name space(s)" -> "namespace(s)" (matches ch 05); add a missing period; repair the broken `show_msg()` inline-code span split across a line. - Logged 4 findings for review: "structurally-typed" and "implicit global variable" (ch 04), "weak typing" terminology (ch 06), and the redundant module re-explanation in ch 06's Inheritance section. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 07 Initialization and Cleanup: "you saw __init__() do that above" now links to the Classes chapter (Classes split out ahead of this one). - 08 Static Type Checking: "functions earlier in this chapter" -> "in the earlier chapters"; "so far this chapter has leaned on that freedom" -> "the book so far ...". This is its own chapter now, not the tail of one. - 09 Testing: read clean, no changes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Data Classes as Types, Functional Error Handling, and Decorators are recent, polished chapters. No spelling, grammar, or clarity issues found. Checkpoint only. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
13 Comprehensions (older contributed content) had several clear errors, now fixed: "built in" -> "built-in"; "list so, it is" -> "list, so it is"; "Would be more efficient" -> "It would be more efficient"; a comma splice and missing article in the Set Comprehensions intro; "longer then" -> "longer than"; "capitalised," -> "capitalized;"; a run-on plus missing period in the Dictionary Comprehensions intro. 14 Metaprogramming and 15 Rethinking Objects: read clean, no changes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 The Pattern Concept (older discursive content): "class of similar problem" -> "problems"; "for awhile" -> "for a while"; "ie" -> "i.e.,". 17 Messenger and 18 Singleton: read clean (both recently rewritten). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 20 Fronting: "For example, or to keep track" -> "For example, to keep track". - 21 State Machines: "copy-on write" -> "copy-on-write". - 19 Application Frameworks: read clean. - Logged 2 findings in ch 21: the StateT paragraph describes a Java Map/null/ 2-D array that does not match the Python dict/None code; and exercises 6/7/12 use Java vocabulary (HashMap, String, nextState(), hasNext()/false) and a missing transition_table.py. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
23 Factory: "it happens to be a `String`" -> "a string" (Java capitalization); a mid-sentence capital "Is only executed" -> "is only executed". 22 Iterators and 24 Function Objects: read clean (both recently rewritten). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 25 Changing the Interface: "as singleton abstract factory" -> "as a singleton abstract factory". - 26 Observer: mid-sentence "To surround your method" -> "to surround"; subject- verb fix "A grid of boxes each start" -> "A grid of boxes, each starting". - 27 Multiple Dispatching: untangle "..., so how can you get them" -> "..., how can you get them". - Logged 1 finding: Observer's opening paragraph is a sentence fragment with no main verb; proposed a rewrite. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
28 Visitor, 29 Pattern Refactoring, 30 Simulation: prose reads clean (29 and 30 are recent, polished chapters). Logged 1 finding: Visitor exercises 2-3 are unconverted Java (Map, getClass(), cast expressions). All 30 chapters proofread. Mechanical fixes were applied per batch; judgment calls are collected in PROOFREADING_FINDINGS.md for review. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- 04 Functions: "Python is a *structurally-typed* language" -> "Python is dynamically typed" (structural typing is the Protocol concept used elsewhere; this is plain dynamic typing). - 06 Classes: "demonstrates weak typing" -> "duck typing"; "to provide weak typing in a strongly-typed language" -> "duck typing in a statically-typed language". Python is strongly typed, just dynamic; what f() shows is duck typing, and this no longer contradicts the chapter's own "dynamically typed". Marked both findings APPLIED in PROOFREADING_FINDINGS.md. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Other prose fixes