Merge pull request #2658 from xexyl/mikeash05-bugs

Fix bugs.html for 2005/mikeash
This commit is contained in:
Landon Curt Noll authored and GitHub committed 2024-08-29 02:48:05 -07:00
commit 81e9dd597e
2 files changed
+52 -50

No files matched your search

+22 -21
View File
@@ -2287,33 +2287,34 @@ does not exist.</p>
<h3 id="source-code-2005mikeashmikeash.c">Source code: <a href="https://github.com/ioccc-src/temp-test-ioccc/blob/master/2005/mikeash/mikeash.c">2005/mikeash/mikeash.c</a></h3>
<h3 id="information-2005mikeashindex.html">Information: <a href="2005/mikeash/index.html">2005/mikeash/index.html</a></h3>
<p>The author states:</p>
<ul>
<li><p>The only built-in functions are <code>defvar</code>, <code>format</code>, <code>substitute</code>,
<code>char-upcase</code>, <code>+</code>, <code>-</code>, <code>*</code>, and <code>/</code>.</p></li>
<li><p>Only one variable is available. This variable is called <code>q</code>, although any
symbol name starting with the letter <code>q</code> will be mapped to this variable.</p></li>
<li><p>Only the first letter of a function name is significant. For example,
<blockquote>
<p>The only built-in functions are <code>defvar</code>, <code>format</code>, <code>substitute</code>,
<code>char-upcase</code>, <code>+</code>, <code>-</code>, <code>*</code>, and <code>/</code>.<br></p>
<p>Only one variable is available. This variable is called <code>q</code>, although any
symbol name starting with the letter <code>q</code> will be mapped to this variable.<br></p>
<p>Only the first letter of a function name is significant. For example,
<code>format</code>, <code>f</code>, <code>farm</code>, and various other words starting with <code>f</code> will all map to
the <code>format</code> function.</p></li>
<li><p>The <code>defvar</code> function completely ignores its first parameter. It will always
the <code>format</code> function.<br></p>
<p>The <code>defvar</code> function completely ignores its first parameter. It will always
store the result of evaluating its second parameter in <code>q</code>. Unlike in <a href="https://en.wikipedia.org/wiki/Common_Lisp">Common
Lisp</a>, multiple invocations of
<code>defvar</code> on the same variable will overwrite old values.</p></li>
<li><p>Character constants are limited to <code>#\Newline</code> and single-character
constants such as <code>#\x</code>.</p></li>
<li><p>The <code>char-upcase</code> function will give strange results if passed something
other than a lowercase character.</p></li>
<li><p>The <code>format</code> function takes exactly three parameters. The first parameter is
<code>defvar</code> on the same variable will overwrite old values.<br></p>
<p>Character constants are limited to <code>#\Newline</code> and single-character constants
such as <code>#\x</code>.<br></p>
<p>The <code>char-upcase</code> function will give strange results if passed something other
than a lowercase character.<br></p>
<p>The <code>format</code> function takes exactly three parameters. The first parameter is
ignored; output always goes to <code>stdout</code>. The second parameter must have exactly
one <code>~s</code> format specifier in it, and no other format specifiers are permitted.</p></li>
<li><p>The arithmetic functions take exactly two parameters.</p></li>
<li><p>All tokens must be separated from a following <code>)</code> by whitespace.</p></li>
<li><p>A lot of other things. Notably, the language which this program interprets is
one <code>~s</code> format specifier in it, and no other format specifiers are
permitted.<br></p>
<p>The arithmetic functions take exactly two parameters.<br></p>
<p>All tokens must be separated from a following <code>)</code> by whitespace.<br></p>
<p>A lot of other things. Notably, the language which this program interprets is
nowhere near
<a href="https://en.wikipedia.org/wiki/Turing_completeness">Turing-complete</a>.</p></li>
</ul>
<p>Basically, the [LISP][] interpreter is good for some basic math operations, and
<a href="https://en.wikipedia.org/wiki/Turing_completeness">Turing-complete</a>.<br></p>
<p>Basically, the LISP interpreter is good for some basic math operations, and
for running itself.</p>
</blockquote>
<div id="2005_mynx">
<h2 id="mynx">2005/mynx</h2>
</div>
+30 -29
View File
@@ -2758,40 +2758,41 @@ This entry requires that `sed` and `make` are in your `$PATH`.
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,
> The only built-in functions are `defvar`, `format`, `substitute`,
`char-upcase`, `+`, `-`, `*`, and `/`.<br>
>
> 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.<br>
>
> 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
the `format` function.<br>
>
> 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
`defvar` on the same variable will overwrite old values.<br>
>
> Character constants are limited to `#\Newline` and single-character constants
such as `#\x`.<br>
>
> The `char-upcase` function will give strange results if passed something other
than a lowercase character.<br>
>
> 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
one `~s` format specifier in it, and no other format specifiers are
permitted.<br>
>
> The arithmetic functions take exactly two parameters.<br>
>
> All tokens must be separated from a following `)` by whitespace.<br>
>
> 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
[Turing-complete](https://en.wikipedia.org/wiki/Turing_completeness).<br>
>
> Basically, the LISP interpreter is good for some basic math operations, and
for running itself.