1. Re: euForth
- Posted by Peter Lawrence <peterl at NETLINK.COM.AU>
Aug 24, 1999
-
Last edited Aug 25, 1999
>Peter Lawrence wrote:
>
>> "Portability", in this sense, does NOT mean someone
>> already laid out a red carpet for you. It means you
>> have a go-anywhere toolkit available, which can be
>> installed in a very few man-weeks.
>
>So basically, it's portable except for the stuff that's not.
Disagreement about wording. I could say that C is portable wherever someone
ELSE already supplied a standard compiler - "portable except for the"
[places, not source code] "that's not". I call what you're talking about
"compatible".
>
>> True - but the virtual memory feature does not mean
>> all memory, just the transparent use of mass storage...
>
>So you're still stuck with a 64K memory model without dynamic *real* memory
>allocation. It seems to me that with dynamic structure allocation (and
>reallocations), lookups to convert handles to addresses, and simply reading
>and manipulating structures you'll be thrashing the disk.
Depends which Forth implementation you use. Basically you can only rearrange
the load - but the whole issue I was getting at was portability (in my
sense), not efficiency. Applying the adage "make it work first, make it
efficient second", I think we can agree that the "portable" (i.e.
implementable) first step is no way to leave a production system, for the
very reasons you describe. But on the other hand if you just happen to have
a highly tuned, platform specific, commercial Forth you can use as a back
end - you might even end up with a performance gain on a bespoke Euphoria
implementation done in the usual way. (But I don't have any hard facts.)
>
>Disk access is going to be a constant bottleneck - no matter how much you
>tune the code, the speed will still be throttled by the rate of disk access.
>
>> See what FOLDOC has to say about Forth.
>
> "Some Forth systems support virtual memory without specific hardware
> support like MMUs. However, Forth virtual memory is usually only a sort
> of extended data space and does not usually support executable code."
I cheated a bit there. I critiqued their article for them, when they assumed
"virtual memory" was a term that had only ever been applied to dedicated,
firmware supported arrangements. 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.