gnu-arch-users
[Top][All Lists]
Advanced

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

Re: [Gnu-arch-users] Re: arch roadmap 2 (and "what's tom up to")


From: Tom Lord
Subject: Re: [Gnu-arch-users] Re: arch roadmap 2 (and "what's tom up to")
Date: Mon, 28 Jun 2004 20:29:38 -0700 (PDT)

    > From: Tez Kamihira <address@hidden>

    > On Tue, 29 Jun 2004 00:17:40 +0200, Andreas Rottmann <address@hidden> 
said:
    > >           4. Pika Roadmap

    > I'll second.

    > What's the relation between Furth and Pika ? Subset ? Upper compatible 
somthing ?
    > alias ?

Like Arch, Pika is both a proposed standard "API" and a particular
implementation.

>From the Pika API, a dumbed-down, simpler, more fool-proof, more
expensive API can be derived.   The two api's are completely
compatible.   It's just that people not needing fastest speed have the
option of using the simpler, dumbed down interface.

Like Pika, Furth is both a proposed standard "API" and a particular
implementation.

The Furth API is an example of a "dumbed down" Pika API: it's
compatible, but simpler, at the cost of being more expensive at
run-time.

That's only 1/3 of the story, though.

The next 1/3 is that Pika still lacks a detailed VM design (all it has
so far is the run-time system, not the virtual machine itself).
Furth has one and Furth's will be Pikas.  So in that sense, the
separate furth implementation is an environment in which to play
around with the VM design a bit before trying to execute it in the
context of the unfortunately complex Pika run-time system.

To really understand why that's a sane plan you'd have to understand
how the very general, open-ended, and relentlessly dynamic Furth VM
can possibly be implemented efficiently, perhaps targetting or being
targetted by optimizing compilers.   Basically, to believe me when I
tell you that Furth will become the Pika VM you'd have to believe that
Furth can be made very fast even though the simple, naive
implementation (such as I'm writing) is quite slow.   That's a long
discussion all by itself and I'd have to bring in lots more details
that I've named so far.

The final 1/3 is that Furth is an environment for exploring what the
basic capabilities of a Pika VM can be used for, provided only we
abandon Scheme and go directly to the machine itself.

What you can expect to eventually see, assuming all goes according to
plan (which it rarely does, of course), regarding Furth and Pika, is:

~ eventually, a second implementation of Furth on top of libpika.

~ a second implementation of the Furth VM in libpika, this one used
  to implement Pika itself

~ libfurth: a much smaller, simpler, and vastly easier to maintain
  implementation of the common run-time system and VM, suitable for
  many but the most performance intensive applications

~ some fun new language play as furth comes on-line and we show off
  some of the handy-weird idioms you can use when you have the freedom
  hack at such a "low" high-level.

-t






reply via email to

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