Format/typo check 1998/schnitzi

This commit is contained in:
Cody Boone Ferguson committed 2023-11-12 06:35:24 -08:00
1 parent d1669ce40e
commit effb1a9820
2 files changed
+9 -8

No files matched your search

+6 -6
View File
@@ -56,7 +56,7 @@ This is a beautiful program. How can a program with no conditional (except for
the fixes for modern systems) behavior at all have output which
depends on anything?
For hints on deciphering this, see below past the Author's Comments;
For hints on deciphering this, see below past the Author's remarks;
they're a nice summary, but they leave the mystery intact.
BTW: the author notes an incredible lipogram story called
@@ -71,9 +71,9 @@ In literary circles, there is a poetic form called a "lipogram",
which is a poem in which a specific letter has been distinctly
avoided. This principle can be applied in other ways. For
instance, in this paragraph, the vowel which immediately follows
't' in the alphabet is nowhere to be seen. There is even an
`t` in the alphabet is nowhere to be seen. There is even an
entire novel (E. V. Wright's "Gadsby") in which no word contains
the letter 'e'.
the letter `e`.
The IOCCC has been no stranger to this concept. Several winning entries from
years past have accomplished interesting feats while completely avoiding the use
@@ -85,12 +85,12 @@ In continuing with this fine tradition, this program suggests to the ANSI
committee some new practical simplifications for the C language. For instance,
it appears that CONDITIONAL BRANCHING isn't really necessary. So, we can do
away with `while`, `do...while`, `for`, `if`/`else`, `switch`, `?:`, or anything
else that might cause any kind of nondeterministic jump in the code. There's
else that might cause any kind of non-deterministic jump in the code. There's
too much uncertainty in the world anyway.
Function parameters and return types just confuse people anyway, so
get rid of them. Same with local variables. In fact, all you really
need are assignment statements, and maybe one `printf()` and one `goto`.
need are assignment statements, and maybe one `printf(3)` and one `goto`.
This style of programming is also ideal for systems with limited
memory capacity, since the function call stack never goes beyond
@@ -103,7 +103,7 @@ line, such as
./schnitzi 5
```
The output will itself be a lipographic program, one which inputs
The output will itself be a lipographic program, one which expects input of
(in this case) five numbers and prints them out sorted. It sorts
them, however, using only `if/else` statements, without arrays or
looping. To see the resulting program run, redirect the output from
+3 -2
View File
@@ -2060,8 +2060,9 @@ to be compiled. Now it works with both Linux and macOS (and BSD?).
Cody fixed invalid data types which prevented this entry from working, causing a
segfault. This showed itself in two parts which required two fixes, one for
linux and further changes for macOS. He also fixed a segfault (after printing
garbage) when the arg specified evaluated to 0. It was decided that these
segfault fixes should be made because the program is so beautiful.
garbage) when the arg specified evaluated to 0. It was decided by us, the
judges, that these segfault fixes should be made because the program is so
beautiful.
Later on Cody improved the fixes by checking that the arg is a number `>0 &&
<27` as that was noted by the author as a requirement and again since it's such