Programming for the Alto's Mesa
derschjo at gmail.com
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.
More information about the cctech