home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.forth
- Path: sparky!uunet!usc!sol.ctr.columbia.edu!venezia!penev
- From: penev@venezia (Penio Penev)
- Subject: Re: Recent FORTHs' guts (was: Documenting)
- References: <1993Jan25.180225.9582@exu.ericsson.se>
- Sender: nobody@ctr.columbia.edu
- Organization: Rockefeller University
- Date: Tue, 26 Jan 1993 06:20:19 GMT
- X-Newsreader: TIN [version 1.1 PL6]
- Message-ID: <1993Jan26.062019.13295@sol.ctr.columbia.edu>
- Reply-To: penev@venezia.rockefeller.edu
- X-Posted-From: venezia.rockefeller.edu
- NNTP-Posting-Host: sol.ctr.columbia.edu
- Lines: 39
-
- James Hague (exuhag@exu.ericsson.se) wrote:
- : Penio Penev writes:
- : >Another consideration is when You run RISC processors (I'm running
- : >R3000 currently). There You have even more space and You can benefit
- : >_a lot_ from the inlining of some primitives.
- :
- : I have mixed feelings about making a true compiler an integral part
- : of Forth. It would remove the simplicity and understandability of
- : the traditional Forth system--a step toward the 'black boxes' of
- : conventional language IMO. But a native code generator which could
- : be run after development was complete would be a godsend and there
- : seem to be surprisingly few of these. Tom Almy's ForthCMP, which I
- : am a registered user of, is nice but does force you to give up some
- : of the power of Forth in exchange for native code (you have to keep
- : ForthCMP in mind while you are writing an application).
-
- I feel a bit confused what You mean by 'true compiler'. I suppose You
- mean something You pass a text stream to and it returns some kind of
- assembly or object.
-
- What I ment is something completely different. I ment native coding,
- inlining and local (I think the term is peephole) optimisation. The
- interpreter and compiler stay the same (I mean the definitions of
- INTERPRET and ] ). When You write code You cannot tell the diference.
- The only point is that You have more IMMEDIATE words, which check
- whether some optimisation can be performed and put the binary code
- into the dictionary. These are words like LITERAL @ ! DUP DROP SWAP
- and others. You cannot decompile, but You never need this, since You
- have the source and LOCATE (or VIEW on some FORTHs).
-
- :
- : More and more I'm discovering one of the reasons for Forth's lack
- : of popularity is that, while it doesn't have to be used solely for
- : embedded systems, there isn't much support outside of that area.
-
- I guess this statment will be flamed by the FORTH vendors, who are
- suppose to 'support [products] outside of that area'.
-
- -- Penio.
-