Add 2005/mikeash/try.sh, update bugs, typo/format

This commit is contained in:
Cody Boone Ferguson committed 2023-11-22 08:19:48 -08:00
1 parent 4e4c67112b
commit 6ad8c4cb54
4 files changed
+122 -11

No files matched your search

+45
View File
@@ -2209,6 +2209,51 @@ does not exist.
This entry requires that `sed` and `make` are in the path.
## 2005 mikeash
### STATUS: INABIAF - please **DO NOT** fix
### Source code: [2005/mikeash/mikeash.c](2005/mikeash/mikeash.c)
### Information: [2005/mikeash/README.md](2005/mikeash/README.md)
The author states:
* The only built-in functions are `defvar`, `format`, `substitute`,
`char-upcase`, `+`, `-`, `*`, and `/`.
* Only one variable is available. This variable is called `q`, although any
symbol name starting with the letter `q` will be mapped to this variable.
* Only the first letter of a function name is significant. For example,
`format`, `f`, `farm`, and various other words starting with `f` will all map to
the `format` function.
* The `defvar` function completely ignores its first parameter. It will always
store the result of evaluating its second parameter in `q`. Unlike in [Common
Lisp](https://en.wikipedia.org/wiki/Common_Lisp), multiple invocations of
`defvar` on the same variable will overwrite old values.
* Character constants are limited to `#\Newline` and single-character
constants such as `#\x`.
* The `char-upcase` function will give strange results if passed something
other than a lowercase character.
* The `format` function takes exactly three parameters. The first parameter is
ignored; output always goes to `stdout`. The second parameter must have exactly
one `~s` format specifier in it, and no other format specifiers are permitted.
* The arithmetic functions take exactly two parameters.
* All tokens must be separated from a following `)` by whitespace.
* A lot of other things. Notably, the language which this program interprets is
nowhere near
[Turing-complete](https://en.wikipedia.org/wiki/Turing_completeness).
Basically, the [LISP][] interpreter is good for some basic math operations, and
for running itself.
## 2005 mynx
### STATUS: INABIAF - please **DO NOT** fix