Squeak forth and Logo

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Squeak forth and Logo

John Redford
goran at krampe.se wrote on Thu Apr 27 18:49:24 UTC 2006:

> A few other interesting things in this area:
>
> - FuelVM. This is actually a VM written in C (IIRC) that takes forth
> code as its "bytecodes". Interesting stuff, but I don't think it is
> developed right now.

Saw your mail (and some related(?) chat logs) when I was Googling -- for the
first time in a long time -- for "fuelvm".  Since it was only a few months
ago, I figured I'd respond.

I am the author of FuelVM.  It is not what one would call "actively being
developed" mostly because it was finished.  At least, it was finished in the
sense of being complete and meeting its original design goals.  Beyond that,
it has not, to my knowledge, actually been used anywhere, so there has been
no motivation to fix bugs (there are no known bugs) or add features.

The system does use GNU Lightning to provide the underlying "portable
machine code" layer, and I would have to tell you that it, while complex and
wonderful in design, leaves a few things to be desired on the POWERPC and
SPARC platforms.  One "open project" is to write a replacement for GNU
Lightning, but I have had no motivation to pursue it.

If you have any questions about FuelVM, I'd be happy to address them.  I
tried to read some context to see how it came up on your list, but I was
unable to get much more than the general mention that it has some
interesting bits.

If I say so myself, it does have some interesting bits, particularly in
regard to being designed for embedding.  The system has support for threads,
GC, external dynamic linkage, and other "cool stuff", but it does not
require or depend on any of those things being present.  It does not even
depend on C Standard Library functionality, such as printf() and malloc().
The system is fully reentrant and VM instances require only a few hundred
bytes of memory (minimally), facilitating direct stack allocation. All of
the implementation internals and external interfaces are performed with
function pointer structures -- a slight sacrifice of speed that obtains
nearly arbitrary customization opportunities.

This system was built as a "design demonstration", to show that it is
possible to build a fully featured, fast system that could have a very tiny
core and that didn't have to tie itself to particular libraries.  Because it
is intended to just be a "core", there has been little follow on to expand
it or pile features onto it.  The concept is that with support for direct
linkage (defining Forth words to call routines in the embedding system) and
dynamic linkage (opening dynamic libraries to access X11 routines & such), a
user of the system can add-on anything they want.

Anyway, I am pleasantly surprised to see anyone mention it, so thanks for
that.  I am going to go look at some of the other systems you mentioned in
the same thread.

--
John Redford




Reply | Threaded
Open this post in threaded view
|

Re: Squeak forth and Logo

dpharris
John-

Interesting, can you supply a url for me?  Google does not produce
anything terribly interesting, Tuwien blocks access, but the cahed
versions appear to point at tar files.  .

Thanks,
David

John Redford wrote:

>goran at krampe.se wrote on Thu Apr 27 18:49:24 UTC 2006:
>
>  
>
>>A few other interesting things in this area:
>>
>>- FuelVM. This is actually a VM written in C (IIRC) that takes forth
>>code as its "bytecodes". Interesting stuff, but I don't think it is
>>developed right now.
>>    
>>
>
>Saw your mail (and some related(?) chat logs) when I was Googling -- for the
>first time in a long time -- for "fuelvm".  Since it was only a few months
>ago, I figured I'd respond.
>
>I am the author of FuelVM.  It is not what one would call "actively being
>developed" mostly because it was finished.  At least, it was finished in the
>sense of being complete and meeting its original design goals.  Beyond that,
>it has not, to my knowledge, actually been used anywhere, so there has been
>no motivation to fix bugs (there are no known bugs) or add features.
>
>The system does use GNU Lightning to provide the underlying "portable
>machine code" layer, and I would have to tell you that it, while complex and
>wonderful in design, leaves a few things to be desired on the POWERPC and
>SPARC platforms.  One "open project" is to write a replacement for GNU
>Lightning, but I have had no motivation to pursue it.
>
>If you have any questions about FuelVM, I'd be happy to address them.  I
>tried to read some context to see how it came up on your list, but I was
>unable to get much more than the general mention that it has some
>interesting bits.
>
>If I say so myself, it does have some interesting bits, particularly in
>regard to being designed for embedding.  The system has support for threads,
>GC, external dynamic linkage, and other "cool stuff", but it does not
>require or depend on any of those things being present.  It does not even
>depend on C Standard Library functionality, such as printf() and malloc().
>The system is fully reentrant and VM instances require only a few hundred
>bytes of memory (minimally), facilitating direct stack allocation. All of
>the implementation internals and external interfaces are performed with
>function pointer structures -- a slight sacrifice of speed that obtains
>nearly arbitrary customization opportunities.
>
>This system was built as a "design demonstration", to show that it is
>possible to build a fully featured, fast system that could have a very tiny
>core and that didn't have to tie itself to particular libraries.  Because it
>is intended to just be a "core", there has been little follow on to expand
>it or pile features onto it.  The concept is that with support for direct
>linkage (defining Forth words to call routines in the embedding system) and
>dynamic linkage (opening dynamic libraries to access X11 routines & such), a
>user of the system can add-on anything they want.
>
>Anyway, I am pleasantly surprised to see anyone mention it, so thanks for
>that.  I am going to go look at some of the other systems you mentioned in
>the same thread.
>
>--
>John Redford
>
>
>
>
>
>
>  
>