Re: GtkLib
- Posted by Peter Lawrence <peterl at NETLINK.COM.AU> Aug 22, 1999
- 354 views
>Pete wrote: > >>I haven't touched Peu since Eu Linux came out... >> I'd much rather code in Euphoria than code >> Euphoria in C. > >Gee, *that* sounds familiar. A couple of months, I started coding Gnuphoria >again, but wrote it in a small subset of Euphoria that I could convert to C. >I guess if we really loved C that much, we wouldn't be coding in Euphoria, >would we? > >>I am still interested in writing Euphoria >> interpreters and compilers. > >Good! > >> I have some thoughts on how to convert Euphoria >> to native machine code, for a real compiler, and that >> the compiler might be able to be written in Euphoria, >> making it a just-in-time compiler. > >I've toyed around with compiling to a Euphoria virtual machine. To a large >extent, Robert's already written on. Think of machine_proc and machine_func >as defining some of the core methods, along with sequence manipulation >operations (create, clone, dereference, destroy, append, prepend, insert) >and you've got the core language. > >These calls (written in C) would then be glued together by an interpreter, >which would convert Euphoria into C/assembly/Java bytecodes/Euphoria >bytecodes/whatever. After reading this, I thought people might be interested in a recent posting of mine to comp.lang.forth:- 'I'm considering writing a Euphoria to Forth cascader, both for practice in Euphoria and to increase Euphoria's portability (and because the underlying VM sounds quite close to Forth). "Euphorth"?' BTW, Forth provides a virtual memory feature in most implementations, which would also help. A "true" compiler could go one extra level, generating Forth to put into an assembler skeleton, the way Eforth does - that's intended to increase the Forth portability even further, by piggybacking on whichever assemblers are available. PML. GST+NPT=JOBS I.e., a Goods and Services Tax (or almost any other broad based production tax), with a Negative Payroll Tax, promotes employment. See http://users.netlink.com.au/~peterl/publicns.html#AFRLET2 and the other items on that page for some reasons why.