Programming for the Alto's Mesa

Josh Dersch derschjo at
Tue Jun 21 10:09:23 CDT 2016

On 6/21/16 6:46 AM, Liam Proven wrote:
> >From the discussions around Y Combinator's Alto restoration...
> (Some may not know that the founder of Y Combinator is Paul Graham,
> using some of the money Yahoo! paid him for Viaweb, which became Yahoo
> Stores. PG is a Lisp champion and evangelist.)
> The Alto restoration is being discussed on Hacker News, Y Combinator's
> very successful forums:
> This comment struck me:
> «
> Animats 2 days ago
> I just looked in some boxes I haven't opened in decades. I have "Mesa
> Language Manual, Version 5.0, April 1979". If the people with the Alto
> need this, let me know.
> If the world had used Mesa instead of C, computing would have been far
> less buggy. Mesa was a hard-compiled language, but it had concurrency,
> monitors, co-routines ("ports", similar to Go channels), strong type
> safety, and a sane way to pass arrays around. In the 1970s.
> (I should donate this stuff to the Computer Museum. I just found the
> original DEC Small Computer Manual, many 1960s UNIVAC mainframe
> manuals, and a reel of UNIVAC I steel magnetic tape.)
> »
> I knew that the original Smalltalk boxes weren't Smalltalk all the way
> down to the metal, and that there was an OS and language, Mesa,
> underneath... but I didn't know it was used for anything much *else*
> or that some considered it important.
The "original" Smalltalk box(*), the Alto, wasn't Mesa-based.  (Mesa was 
originally developed on the Alto, sort of in parallel with Smalltalk).  
Smalltalk was originally written in Alto assembly language (which was 
basically Data General Nova assembly) and was later implemented in Alto 
microcode and became self-hosting/bootstrapping (it was written in 
itself).  Smalltalk was never written in Mesa, though on the later 
D-machines it ran inside a Mesa-based environment.

(*) The original Smalltalk prototype was written in BASIC on a Data 
General Nova.  It wasn't very fast.
> Anyone here know or remember Mesa? I'd like to hear more about it.
Mesa became the basis for much of the software on Xerox's later 
D-machines (the Star and its successors).  It was compiled into a 
byte-coded stack-based machine code (the bytecode interpreter was 
implemented in microcode on the Alto and later machines) and apparently 
the code density was pretty remarkable (from what I've read).  The 
Viewpoint GUI and applications were written in it.  It was a 
strongly-typed high-level language with exceptions.  I don't (yet) have 
any direct experience in using the language, but it's something I want 
to get around to one of these days.

- Josh

More information about the cctalk mailing list