[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Latin Phrases on exit

From: Guillermo J. Rozas
Subject: Re: Latin Phrases on exit
Date: Tue, 21 Feb 2023 07:11:16 -0800

Of course, I meant to say that the 68k is/was 'big endian', unlike the Vax which was little endian.

On Thu, Feb 16, 2023 at 12:17 PM Guillermo J. Rozas <> wrote:
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 <> wrote:
On Thu, Feb 16, 2023 at 8:21 AM Patrick Heil <> 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).  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.  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.  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, 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

[Prev in Thread] Current Thread [Next in Thread]