From 870d6628ebc2f275142a936c5768d6bd6a159f07 Mon Sep 17 00:00:00 2001 From: Cody Boone Ferguson <53008573+xexyl@users.noreply.github.com> Date: Wed, 28 Aug 2024 15:25:27 -0700 Subject: [PATCH] Fix bugs.html for 2005/mikeash --- bugs.html | 43 ++++++++++++++++++++-------------------- bugs.md | 59 ++++++++++++++++++++++++++++--------------------------- 2 files changed, 52 insertions(+), 50 deletions(-) diff --git a/bugs.html b/bugs.html index c2858a914..1ad118407 100644 --- a/bugs.html +++ b/bugs.html @@ -2287,33 +2287,34 @@ does not exist.
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/.Only one variable is available. This variable is called
+q, although any +symbol name starting with the letterqwill 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 withfwill all map to -theformatfunction.
The defvar function completely ignores its first parameter. It will always
+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, 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.
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
+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.
Basically, the [LISP][] interpreter is good for some basic math operations, and
+Turing-complete.
Basically, the LISP interpreter is good for some basic math operations, and for running itself.
+