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 |
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 > > > > > > > > |
Free forum by Nabble | Edit this page |