* * * * *

          INRAC, the mind bending implementation language of Racter

I found another reason why splitting the test from the conditional [1] in
INRAC (the language Racter [2] is written in) was a good idea with these
lines:

> X ?40= /# Are you continuing $40 <'s interview? #
> X /# ??  ?no,not,don't /# #*2DIF
>

The test is on the first line, but the result is also used on the next line,
so we need to carry the result over. I guess this means that all the
comparison results will be stored in a global variable.

I found another bit of scary code:

> STORY ?65= />65="%STORIES1" $65 *30first
>

So we compare variable 65 to an empty string, and if empty, the string
“%STORIES1” is stored there. In INRAC, %STORIES1 will load file STORIES1.RAC
(basically, %FOO will cause Racter to load FOO.RAC). At first, I thought $40
would just print the contents of a variable (in this case, variable 40) but
no—it appears that $40 evaluates the contents as code (which may cause
output; it may not).

And yes, when I managed to trigger this bit of code and checked the variables
after the session, it does appear that variables are indeed evaluated as
code. For example, variable 81 contained *29EB a $47 or a $48. Section 29,
lines EB are:

> EB Would you rather be
> EB Do you prefer
> EB Which do you think is better,>

Variable 47 contains “novelist” and variable 48 contains “poet” so evaluating
variable 81 would result in one of the following three lines:

 1. Would you rather be a novelist or a poet
 2. Do you prefer a novelist or a poet
 3. Which do you think is better, a novelist or a poet

So, getting back to variable 65 there. This loads STORIES1.RAC if it isn't
set, then calls section 30, line first, which is code that will generate a
little story, such as:

> Suddenly Elvis chanted to Mr. Toad "my desire is enrapturing, anyhow
> furious and enraged scientists will speak during the time that jackals spy
> hawks." Mr. Toad wanted to enrage or belittle Elvis but started to speak
> "Dainty dogs are walking to yellow houses." Enthralling. Enrapturing.
> Nevertheless a jackal may hungrily chew meat and chicken a dove will wing
> over tomatoes and spinach by reason of the fact that theoreticians are
> angry. Terrifying! Concerning an electron, well Elvis may think that an
> electron is appalling, anyhow my dreaming will steer my essay from Elvis to
> neutrinos and neutrons during the time that Mr. Toad is embarrassing Elvis.
> Ask a question, please.
>

This is turning out to be one mind bending computer language …

[1] gopher://gopher.conman.org/0Phlog:2015/12/16.1
[2] https://en.wikipedia.org/wiki/Racter

Email author at [email protected]