[said Philip]

> To: [log in to unmask]
>
> I can remember using another implementation of a Virtual machine.  It was
> the San Diego P-code system.  The source was University of California, San
> Diego Pascal.  How thing change in circles.  :^{)
>
> Philip Johnson
>

Virtual machines - even Ada machines - are nothing new. Here are a few
I remember.

1 - Snobol4 was executed on a virtual machine back in the mid-60s.
    In the early 70s, Robert Dewar implemented the first Spitbol,
    which was mostly compiled Snobol4. GNAT.Spitbol reimplements
    most of the Snobol4/Spitbol primitives in Ada. This is a very
    good set of packages - lets you do Perl in Ada.

2 - The original Ada/Ed executed on a virtual machine. On the Vaxen
    of the early 80s, this was very slow, as we Ada oldies remember.
    Much of the work on that "Ada machine" was done by Jean-Pierre
    Rosen (a Teamer) and Philippe Kruchten (who may still be working
    at Rational). I have copies of their ENST dissertations (in French).

3 - The original TeleSoft Ada compiler (pre-83, pre-validation)
    compiled to a P-code that was basically an extended version of the
    UCSD P-machine. Not surprising - Ken Bowles, who headed the UCSD
    Pascal project, was one of the technical powers behind TeleSoft at
    that time. TeleSoft was absorbed by Alsys which became Aonix.
    Bowles had long since left the company (and retired, I think).

4 - One of the other early Ada compilers - developed by a Pittsburgh
    CMU spinoff whose name I forget - compiled to an Ada _hardware_
    platform. (I think that group may have become Tartan.)

5 - In the early 80s Intel developed a chipset with an OO instruction
    set, also designed for transparent parallelism - just hang another
    board on the bus. I think it was called the 840; I just checked the
    Intel website and their historical section doesn;t mention anything
    like it.

    They developed a _really_ interesting extended Ada dialect - this
    was _before_ the 1983 standard. Much of the OO support presaged Ada
    95. They had a keyword 'refines', which had much the same effect as
    Ada 95 type extension (or the Java 'extends' keyword). The compiler
    was hosted on a Vax and targeted to this chipset.

    This interesting architecture disappeared when the x86 family
    took over.

6 - Don't forget Rational's original Ada machine.

The current state of the industry is such that the best way for Ada
to take advantage of virtual machines is (IMHO) the jgnat model, which
simply targets to the JVM. If you haven't played with it, download
it and do so. It's fun to write Java applets in Ada.

Mike Feldman