| ... | ... |
@@ -38,6 +38,31 @@ These files are all committed but also added to `.gitignore` and removed by |
| 38 | 38 |
[`sandmark-output.txt`]: sandmark-output.txt |
| 39 | 39 |
[`um-spec.txt`]: um-spec.txt |
| 40 | 40 |
|
| 41 |
+### Mostly Vetted Platterer (MVP) |
|
| 42 |
+ |
|
| 43 |
+I have completed the first version of the implementation, see [`um.cpp`][]. |
|
| 44 |
+ |
|
| 45 |
+It is as pure as I can make it. If someone wants a concise, readable, |
|
| 46 |
+programmatic description of the spec this is the version they should look at |
|
| 47 |
+(though reading the spec "blind" is a pleasure). |
|
| 48 |
+ |
|
| 49 |
+The `um()` function is 45 self-contained lines. 65 lines total in the file, the |
|
| 50 |
+difference being `#include`s and a 11 line `main` to deal with the ugliness of |
|
| 51 |
+the outside world. Note that guardrails are only present in `main`, if the |
|
| 52 |
+scroll itself has bugs there might be [UB][] galore (which is in spec). |
|
| 53 |
+ |
|
| 54 |
+I have added a `um` [Makefile][] target, which is a dependency of the default |
|
| 55 |
+`all` target: |
|
| 56 |
+ |
|
| 57 |
+```sh |
|
| 58 |
+make um |
|
| 59 |
+# or simply |
|
| 60 |
+make |
|
| 61 |
+``` |
|
| 62 |
+ |
|
| 63 |
+[`um.cpp`]: um.cpp |
|
| 64 |
+[UB]: https://en.wikipedia.org/wiki/Undefined_behavior |
|
| 65 |
+ |
|
| 41 | 66 |
## License |
| 42 | 67 |
|
| 43 | 68 |
Licensed under the [ISC License][] unless otherwise noted, see the |
| ... | ... |
@@ -5,6 +5,39 @@ Research notes regarding the [Cult of the Bound Variable][] and affiliates. |
| 5 | 5 |
[`boundvariable`]: https://git.rcrnstn.net/rcrnstn/cult-of-the-bound-variable |
| 6 | 6 |
[Cult of the Bound Variable]: http://boundvariable.org |
| 7 | 7 |
|
| 8 |
+## Universal Machine (UM) |
|
| 9 |
+ |
|
| 10 |
+### An puzzling appeal |
|
| 11 |
+ |
|
| 12 |
+The association of amateur computational archaeolinguistics, of which I am |
|
| 13 |
+a/the member, has heard the call of Professor Emeritus Harry Q. Bovik and |
|
| 14 |
+intend to contribute to the [task][] outlined if we can. |
|
| 15 |
+ |
|
| 16 |
+As an archaeolinguist my first instinct is to sort through what we know so far |
|
| 17 |
+and archive it locally, I hope Professor Bovik doesn't not mind. I also hope |
|
| 18 |
+you like [AWK][]. The [`Makefile`][] now downloads/generates the following: |
|
| 19 |
+ |
|
| 20 |
+- [`task.txt`][]: Slightly trimmed plain text version of the task. |
|
| 21 |
+- [`sha1sums.txt`][]: File hashes extracted from the task. |
|
| 22 |
+- [`codex-key.txt`][]: Codex key extracted from the task. |
|
| 23 |
+- `codex.umz`: The codex. |
|
| 24 |
+- `sandmark.umz`: The benchmark. |
|
| 25 |
+- [`sandmark-output.txt`][]: Expected output of the benchmark. |
|
| 26 |
+- [`um-spec.txt`][]: Specification for the Universal Machine. |
|
| 27 |
+- `um.um`: CMU Reference implementation of the Universal Machine. |
|
| 28 |
+ |
|
| 29 |
+These files are all committed but also added to `.gitignore` and removed by |
|
| 30 |
+`make clean`. |
|
| 31 |
+ |
|
| 32 |
+[tasks]: http://www.boundvariable.org/task.shtml |
|
| 33 |
+[AWK]: https://en.wikipedia.org/wiki/AWK |
|
| 34 |
+[`Makefile`]: Makefile |
|
| 35 |
+[`task.txt`]: task.txt |
|
| 36 |
+[`sha1sums.txt`]: sha1sums.txt |
|
| 37 |
+[`codex-key.txt`]: codex-key.txt |
|
| 38 |
+[`sandmark-output.txt`]: sandmark-output.txt |
|
| 39 |
+[`um-spec.txt`]: um-spec.txt |
|
| 40 |
+ |
|
| 8 | 41 |
## License |
| 9 | 42 |
|
| 10 | 43 |
Licensed under the [ISC License][] unless otherwise noted, see the |
| ... | ... |
@@ -4,3 +4,11 @@ Research notes regarding the [Cult of the Bound Variable][] and affiliates. |
| 4 | 4 |
|
| 5 | 5 |
[`boundvariable`]: https://git.rcrnstn.net/rcrnstn/cult-of-the-bound-variable |
| 6 | 6 |
[Cult of the Bound Variable]: http://boundvariable.org |
| 7 |
+ |
|
| 8 |
+## License |
|
| 9 |
+ |
|
| 10 |
+Licensed under the [ISC License][] unless otherwise noted, see the |
|
| 11 |
+[`LICENSE`][] file. |
|
| 12 |
+ |
|
| 13 |
+[ISC License]: https://choosealicense.com/licenses/isc |
|
| 14 |
+[`LICENSE`]: LICENSE |