Skip to content

Commit 2baf55b

Browse files
klaeuferCopilot
andcommitted
Fix IMMEDIATE bugs and typos from REVIEW-20260424b
- ch20: fix missing ');' closing forEachRemaining lambda call (Java code bug) - ch20: fix 'ccoverageExcludedPackages' -> 'coverageExcludedPackages' (sbt setting typo) - ch20: fix 'meaasure' -> 'measure' - ch40: fix 'aimed at primarily at' -> 'aimed primarily at' (both occurrences) - ch40: fix 'undergradutes' -> 'undergraduates' (both occurrences) - ch50: fix 'feautures' -> 'features' - ch50: fix 'intutive' -> 'intuitive' - ch50: fix double period '..' -> '.' - ch60: fix 'anguage' -> 'language' Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 73092bc commit 2baf55b

4 files changed

Lines changed: 9 additions & 9 deletions

File tree

source/20-imperative.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,7 @@ In Java, we can use a `Scanner` with a custom delimiter to split input into word
201201
if (!word.isEmpty()) {
202202
freq.put(word, freq.getOrDefault(word, 0) + 1);
203203
}
204-
}
204+
});
205205
206206
for (var entry : freq.entrySet()) {
207207
System.out.println(entry.getKey() + ": " + entry.getValue());
@@ -383,7 +383,7 @@ Measuring code coverage
383383
```````````````````````
384384

385385
The *code coverage* of your tests indicates how thoroughly you're testing.
386-
Typically, you would use the `sbt scoverage plugin <https://github.com/scoverage/sbt-scoverage>`_ to meaasure what percentage of your main code are covered by your tests.
386+
Typically, you would use the `sbt scoverage plugin <https://github.com/scoverage/sbt-scoverage>`_ to measure what percentage of your main code are covered by your tests.
387387

388388
.. code-block:: bash
389389
@@ -419,7 +419,7 @@ If your coverage percentages appear low, you can make them more accurate by excl
419419

420420
.. code-block:: scala
421421
422-
ccoverageExcludedPackages := """.*\.simple\..*;.*\.common.*;.*\.Main;benchmark\..*"""
422+
coverageExcludedPackages := """.*\.simple\..*;.*\.common.*;.*\.Main;benchmark\..*"""
423423
424424
Additional information on testing is available in the corresponding section of the `COMP 335/435: Formal Methods lecture notes <https://lucformalmethodscourse.github.io/30-testing.html>`_.
425425

source/40-functional.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -897,7 +897,7 @@ For more details on space complexity and tail recursion, please take a look at t
897897
Separation of concerns at the type level
898898
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
899899

900-
.. note:: This section is aimed at primarily at graduate students, but advanced undergradutes are encouraged to work through it as well.
900+
.. note:: This section is aimed primarily at graduate students, but advanced undergraduates are encouraged to work through it as well.
901901

902902
The overall approach is to separate recursion from structure by formalizing algebraic data types as initial F-algebras.
903903

@@ -1072,7 +1072,7 @@ Some of our examples include implementations of ``traverse``.
10721072
Other useful abstractions
10731073
~~~~~~~~~~~~~~~~~~~~~~~~~
10741074

1075-
.. note:: This section is aimed at primarily at graduate students, but advanced undergradutes are encouraged to work through it as well.
1075+
.. note:: This section is aimed primarily at graduate students, but advanced undergraduates are encouraged to work through it as well.
10761076

10771077
In this section, we will discuss a few more useful yet relatively simple abstractions.
10781078

source/50-representationinterpretation.rst

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ Our language has the following features:
244244

245245

246246

247-
The syntactic feautures of our language are captured by the following grammar. For motivation, the sort of program that we are interested is exemplified by::
247+
The syntactic features of our language are captured by the following grammar. For motivation, the sort of program that we are interested is exemplified by::
248248

249249
StudentCourseRecord = record
250250
int firstExamScore;
@@ -322,7 +322,7 @@ Statements are given by the BNF grammar::
322322
| while (e) do S
323323

324324

325-
We first formalize the intutive execution semantics of the toy language. As before, the point of doing this is to present the basic ideas in the interpreter without getting tied up in the programming details of the interpreter. In any case, these details are presented later in this lecture. In particular, in this initial first cut, we will begin by ignoring declarations. Also, in this new presentation, we extend the memory store to map identifiers not only to integer variable objects but also to record objects, each of which maps field names to their corresponding variable objects.
325+
We first formalize the intuitive execution semantics of the toy language. As before, the point of doing this is to present the basic ideas in the interpreter without getting tied up in the programming details of the interpreter. In any case, these details are presented later in this lecture. In particular, in this initial first cut, we will begin by ignoring declarations. Also, in this new presentation, we extend the memory store to map identifiers not only to integer variable objects but also to record objects, each of which maps field names to their corresponding variable objects.
326326

327327
Recall that we viewed variables as objects with two capabilities:
328328

@@ -346,7 +346,7 @@ These evaluation rules are written out precisely in the following picture.
346346

347347
.. image:: images/records3.png
348348

349-
Our earlier rules for evaluating R-values are presented again below..
349+
Our earlier rules for evaluating R-values are presented again below.
350350

351351
- Evaluating an L-value. In our setup, every L-value (say l) is a variable object that is obtained from the store M. Execute l.get() to compute the return value. This rule subsumes the earlier case for variables.
352352
- Evaluating e1 + e2: Evaluate e1 first, say to yield value v1. Evaluate e2 next, say to yield value v2. The required result is v1 + v2.

source/60-concurrency.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -433,7 +433,7 @@ This gives rise to several conflicting design forces:
433433
Specific concurrency mechanisms
434434
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
435435

436-
Several specific concurrency mechanisms can come as anguage constructs, patterns, and other building blocks:
436+
Several specific concurrency mechanisms can come as language constructs, patterns, and other building blocks:
437437

438438
- threads (familiar from 313/413)
439439
- monitors: synchronized/locks, wait/notify

0 commit comments

Comments
 (0)