Before 'Moriturus te saluto', MIT (C) Scheme used to exit/terminate with
the 'User halt code' message which is what Jim Miller chose when he
implemented the original version of what at the time was called 'C Scheme'.
The original implementation of MIT Scheme was on top of MacLisp running on
a DEC PDP-10 computer [1], then re-written in a combination of Pascal and
Motorola 68K assembly language to run on the HP 'Chipmunk' computers, and
when there arose a need for a more 'portable' version, Jim started a
version in C that could share binaries (Scode) with the 68K version.  C
Scheme was originally developed for DEC Vax minicomputers which were little
endian, as opposed to the 68K which were little endian and the PDP-10 which
was not even a byte-oriented computer. [2]

I had worked on both the MacLisp and 68K versions and at some point started
working on C Scheme.  I disliked 'User halt code' because the user (me)
wasn't halting. :-) and picked the Latin version because it was fun.

I still believe that my change to 1st person singular is both correct and
consistent with 'Morituri te salutamus' which is 1st person plural, as
opposed to what would be a 3rd person singular version of 'Morituri te
salutant' which is what it was eventually changed to claiming that my
rendition was incorrect.
The sources claim that both 1st and 3rd person plural versions were used
(or perhaps they can't decide), and hence the 1st person should be allowed,
and I believe it is legal Latin although I only took Latin for one year in
HS in 1977-1978.

Just to add a little to Arthur's story.

[1] This was an evolution of the very first Scheme interpreter that Gerry
Sussman and Guy Steele implemented in the mid 1970s.  Eventually it had a
bit of PDP-10 assembly language as well as MacLisp didn't implement full
tail recursion and various hacks were used to implement full tail recursion
at some speed.
[2] Technically, Jim started developing C Scheme on a PDP 10 with an old C
compiler, but he quickly moved to a Vax because the dialect of C on the
PDP-10 was old and hence the code would not be very portable, and also
because the PDP-10, sans extended addressing mode, could not address more
than a 'Moby' (256 Kilowords of 36 bits each, a little over a megabyte)
which was insufficient to keep up with the size of the system on the
Chipmunks, especially with the heap split in two for the stop-and-copy
garbage collector.

On Thu, Feb 16, 2023 at 11:04 AM Arthur A. Gleckler <a...@speechcode.com>
wrote:

> On Thu, Feb 16, 2023 at 8:21 AM Patrick Heil <patrickheil...@gmail.com>
> wrote:
>
>
>> My name is Patrick. I'm a college student who worked with the MIT Scheme
>> Interpreter in a Comparative Programming Languages course. I noticed the
>> interpreter would exit with latin phrases such as "Fortitudine
>> vincimus." I wanted to learn more about these phrases and their meaning but
>> couldn't find any reference to them in the user manual or online (only
>> translations of the phrase from other sources).I assume the "Fortitudine
>> vincimus." is a joke about the (alleged) tediousness of the Scheme
>> programming language.
>>
>> Does anyone know anything about the background for these messages? Were
>> they added in the original MIT Scheme interpreter or added later by the GNU
>> devs?
>>
>
> Originally, there was just one Latin message: *moriturus te saluto*: "I
> who am about to die salute you."  It was added by Guillermo Rozas in
> reference to the phrase *morituri te saltamus*, "we who are about to die
> salute you," shouted to the Roman emperor by gladiators before they began
> to fight in an arena (Wikipedia
> <https://en.wikipedia.org/wiki/Ave_Imperator,_morituri_te_salutant>).
> The idea is that the Scheme process, singular, salutes the user before
> dying.  Much later, there was debate over the correctness of the conversion
> from third person to first person: bug report
> <https://savannah.gnu.org/bugs/?44086>.  We changed the verb ending, but
> I'm still not sure whether that was necessary.
>
> Years after the original message was added, new maintainers removed it,
> then added it back with other messages, chosen randomly.  You can find them
> all in the sources
> <https://git.savannah.gnu.org/cgit/mit-scheme.git/tree/src/microcode/errors.h#n277>.
> Here are the Latin ones, with translations:
>
> *Ceterum censeo Carthaginem esse delendam.*
>
> However, I think that Carthage should be destroyed.
>
> *Fortitudine vincimus.*
>
> By endurance, we conquer.
>
> *Post proelium, praemium.*
>
> After the battle, the reward.
>
> *Pulvis et umbra sumus.*
>
> We are dust and shadow.
>
> There's also "Happy happy joy joy!", from The Ren & Stimpy Show
> <https://en.wikipedia.org/wiki/The_Ren_%26_Stimpy_Show>, and "..#]^@^@^@
> NO CARRIER", the text often displayed when a dial-up modem disconnects.
> (MIT Scheme was begun in the 1980s, when one connected to the internet over
> dial-up modems and phone lines, often at 1200 bits per second.)
>
> Thanks for asking. This was a fun bit of history to write up.
>
> P.S.: Scheme is the opposite of tedious. (Others may differ, but I would
> award that moniker to C++ or Java.)
>

Reply via email to