diff --git a/asset/style.scss b/asset/style.scss index 8998fa5ba..323a6e387 100644 --- a/asset/style.scss +++ b/asset/style.scss @@ -286,7 +286,7 @@ nav.narrow { } // Make ellipses follow Chicago style. The `…` entity puts a tiny amount -// of space between each `.`, but not as much as Chicago style specificies. It +// of space between each `.`, but not as much as Chicago style specifies. It // also doesn't put any space before. Instead, the build system writes a span // of this class with thin-space separated dots. This class here ensures there // is no splitting between the dots. diff --git a/book/compiling-expressions.md b/book/compiling-expressions.md index 4a6d859c9..299da4f91 100644 --- a/book/compiling-expressions.md +++ b/book/compiling-expressions.md @@ -595,7 +595,7 @@ The function we will use as the infix parser for `TOKEN_PLUS`, `TOKEN_MINUS`, ^code binary When a prefix parser function is called, the leading token has already been -consumed. An infix parser function is even more *in medias res* -- the entire +consumed. An infix parser function is even more *in media res* -- the entire left-hand operand expression has already been compiled and the subsequent infix operator consumed. diff --git a/book/hash-tables.md b/book/hash-tables.md index b010e8f32..70485ac2f 100644 --- a/book/hash-tables.md +++ b/book/hash-tables.md @@ -1067,7 +1067,7 @@ then *everything* is slow. function, load factor, and growth rate. All of this variety wasn't created just to give CS doctoral candidates - something to publish theses on: each has its + something to publish thesis on: each has its uses in the many varied domains and hardware scenarios where hashing comes into play. Look up a few hash table implementations in different open source systems, research the choices they made, and try to figure out why they did diff --git a/book/inheritance.md b/book/inheritance.md index 3eac233ab..6dd1da5f9 100644 --- a/book/inheritance.md +++ b/book/inheritance.md @@ -523,7 +523,7 @@ with cream. ### Invalid uses of super As with previous language features, our implementation does the right thing when -the user writes correct code, but we haven't bulletproofed the intepreter +the user writes correct code, but we haven't bulletproofed the interpreter against bad code. In particular, consider: ```lox diff --git a/book/methods-and-initializers.md b/book/methods-and-initializers.md index 085326a45..9da2fe39a 100644 --- a/book/methods-and-initializers.md +++ b/book/methods-and-initializers.md @@ -1233,23 +1233,23 @@ is one of the fundamental balancing acts of language design: similarity to other languages lowers learning cost, while divergence raises the compelling advantages. -I think of this balancing act in terms of a **novelty +I think of this balancing act in terms of a **novelty budget**, or as Steve Klabnik calls it, a "[strangeness budget][]". Users have a low threshold for the total amount of new stuff they are willing to accept to learn a new language. Exceed that, and they won't show up. [strangeness budget]: https://words.steveklabnik.com/the-language-strangeness-budget -