comp.lang.ada
 help / color / mirror / Atom feed
From: "chris.danx" <chris.danx@ntlworld.com>
Subject: Re: Ada and JVM?  Why not AdaVM?
Date: Wed, 31 Jan 2001 21:05:35 -0000
Date: 2001-01-31T21:05:35+00:00	[thread overview]
Message-ID: <07%d6.13732$YT3.339068@news6-win.server.ntlworld.com> (raw)
In-Reply-To: 980822461.5977.0.nnrp-12.9e98cc46@news.demon.co.uk

Hi,
    I can think of a few problems with this approach(e.g. tasking in Ada,
though maybe i'm wrong).  What about a hybrid approach?  Generate a
structure similar to a parse tree, but with cut the work of the secondary
(JIT) compiler, by describing the program as a graph.  I don't have much
experience with graphs but i think it would be better (if i'm not, I'm sure
someone will correct me).

One of my ideas was to allow runnable code to be executed virtually in the
IDE, allowing testing.  So for example i could write the following,

    procedure x is
    begin
        ...
        ...
        while not finished loop
            -- do something;
        end loop;
        ...
        ...
    end x;

I could then test the while loop with the neccessary input and watch what it
was doing from the IDE.  I've seen something similar in Smalltalk but it's
not really the same as what i have in mind.  If i used a hybrid structure
then perhaps this could make this possible.  The 'while loop' would be
described by a graph-like structure, and i would supply inputs via the IDE.
The environment could then allow the loop to be executed by a VM.  Once it's
finished and tested it goes to the native hardware, though the structure
could be used on another machine with suitable translator.

I also want to experiment with a system to allow updates to programs
(perhaps, at runtime) without the source.  I know these capabilities aren't
features of the  Ada 95 RM.  I want to know if they'd be useful.  This
hybrid would allow this, as information regarding the form of the routine
could be included in the structure.


Thanks,
Chris Campbell.


Julian Morrison <julian@extropy.demon.co.uk> wrote in message
news:980822461.5977.0.nnrp-12.9e98cc46@news.demon.co.uk...
> More interesting idea than "yet another VM", here's an idea (inspirations:
> the new Amiga's "Elate"OS, and Perl)
>
> Build what is not a VM, but actually a universal compiler backend. The
> input is not pseudo-machine-code, but a language independent  parse tree
> preserving full debugging semantics etc.
>
> The VM can compile it, interpret it, JIT it, whatever. It can also move
> slices of it to other machines or other processors transparently, or
> migrate it off an about-to-be swapped CPU onto another one without losing
> a beat. On each CPU it can optimize for the specific processor.
>
> Looks like a good idea to me, anyhow.





      parent reply	other threads:[~2001-01-31 21:05 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-01-27 16:47 Ada and JVM? Why not AdaVM? chris.danx
2001-01-27 21:17 ` David Starner
2001-01-28  8:44   ` Florian Weimer
2001-01-29 23:40     ` Ronald Cole
2001-01-30  1:27       ` Brian Rogoff
2001-01-30  8:28       ` Florian Weimer
2001-01-30 19:29         ` Ada and JVM? Why not AdaVM? ms .net vm Singlespeeder
2001-02-01  0:01         ` Ada and JVM? Why not AdaVM? Ronald Cole
2001-02-01  7:32           ` Florian Weimer
2001-02-02 17:33             ` Ray Blaak
2001-02-01 11:57           ` Tarjei T. Jensen
2001-02-01 17:35             ` Ray Blaak
2001-02-01 16:19           ` joswig
2001-01-30 21:12   ` Nick Roberts
2001-02-02  0:19     ` Larry J. Elmore
2001-02-02  3:41       ` Robert Dewar
2001-02-03  3:49         ` Larry J. Elmore
2001-02-05 19:46         ` Tucker Taft
2001-02-05 20:31           ` Ted Dennison
2001-02-05 20:58           ` Pat Rogers
2001-01-27 22:31 ` gdemont
2001-01-30  2:41 ` Julian Morrison
2001-01-30  7:08   ` Jean-Pierre Rosen
2001-01-30 12:55   ` John English
2001-01-31 21:05   ` chris.danx [this message]
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox