docs(course): consistency pass
- m04: F# mulberry32 hints and skeleton route * and + through uint64 helpers; new 'F# in the browser' note on the Fable uint32 trap - m01-m05: 'About test names' notes like m06-m11; m00 explains JS vs Scala/F# titles - m00/m09: first build-web.sh run restores Fable; m09 JS file list (main.js is given) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1a80d57499
commit
82f47fb3ee
7 files changed
+26
-10
No files matched your search
+3
-3
@@ -160,7 +160,7 @@ Each module tells you, in its header, which files you will edit. The map is the
|
||||
| 06 | `view.js` | `View.scala` | `View.fs` |
|
||||
| 07 | `io.js` | `IO.scala` | `IO.fs` |
|
||||
| 08 | `stream.js` | `Stream.scala` | `Stream.fs` |
|
||||
| 09 | `input.js`, `app.js`, `runtime.js` (+ `browser.js`, `main.js`) | `Input.scala`, `App.scala`, `Runtime.scala` | `Input.fs`, `App.fs`, `Runtime.fs` |
|
||||
| 09 | `input.js`, `app.js`, `runtime.js`, `browser.js` (`main.js` is given) | `Input.scala`, `App.scala`, `Runtime.scala` | `Input.fs`, `App.fs`, `Runtime.fs` |
|
||||
| 10 | edits `game`, `input`, `app` | same | same |
|
||||
| 11 | `pong/` | `pong/` | `Pong/` |
|
||||
|
||||
@@ -212,7 +212,7 @@ This is expected, and it is the starting point of every module. In Scala you see
|
||||
|
||||
A red test is information, not a verdict. Read it in this order:
|
||||
|
||||
1. **The test name.** Test names are sentences written for you: `dropLast leaves its input untouched`. Fixture tests are named after the function and the fixture case: `m03 advance: advance-into-vacating-tail`.
|
||||
1. **The test name.** Test names are sentences written for you: `dropLast leaves its input untouched`. Fixture tests are named after the function and the fixture case: `m03 advance: advance-into-vacating-tail`. (That is the JavaScript title; JS puts the module in front. Scala and F# print `advance: advance-into-vacating-tail`, and their other titles sometimes use their own track's vocabulary, for example `bind` instead of `flatMap`. The modules quote the JavaScript titles; each module's "About test names" note says how the other tracks differ.)
|
||||
2. **The message.** `TODO: implement in m03` means you have not written that function yet. An assertion failure shows *expected* versus *actual*: compare them field by field. With game states, the difference is often in one field (`dir`, `seed`, `status`).
|
||||
3. **The fixture.** For a fixture test, open `fixtures/<module>-<function>.json` and search for the case name. You will see the exact input. Draw it on paper; the boards in fixtures are deliberately tiny (3 x 2, 5 x 5) so that you can.
|
||||
|
||||
@@ -280,7 +280,7 @@ You can play the game once Module 9 is done. For reference, this is how:
|
||||
|
||||
- **JS:** `node scripts/serve.mjs` from the repository root, then open http://localhost:8000/js/
|
||||
- **Scala:** `cd scala && ./build-web.sh` (the first run downloads the Scala.js linker), then serve as above and open http://localhost:8000/scala/
|
||||
- **F#:** `cd fsharp && ./build-web.sh`, serve, and open http://localhost:8000/fsharp/
|
||||
- **F#:** `cd fsharp && ./build-web.sh` (the first run restores the Fable compiler), serve, and open http://localhost:8000/fsharp/
|
||||
|
||||
## Exercises
|
||||
|
||||
|
||||
Reference in new issue
Block a user