What is your goal for the lll?
Nathan Hawkins
utsl@one.net
Mon, 29 Apr 1996 04:15:10 -0400 (EDT)
On Sat, 27 Apr 1996, Captain Napalm wrote:
> This is what I get for going into crunch mode - way behind. Anyway ...
>
> A long long time ago on a network far far away, Nathan Hawkins thus said:
> >
> > Anyway, by this time, I had discovered Forth, and had been thinking about
> > ways to use Forth in the core of my own project.
>
> Well, I've been doing pretty much the same. I started an OS project on
> Monday, December 3, 1990 at 10:38 pm EDT (ah, the joys of having a notebook)
> and currently have about 160 pages of notes, four implimentations of a
> language I came up with (the latest, stable version I sent to Nathan) and a
> definite opinion as to where I would want an OS to go.
I have started OS design _lot's_ of different times. And I have a box
full of notes, most of which I can't read at all. Oh well.
As for your language, I screwed up the shell archive somehow, and haven't
found the time to fix it, so I haven't had a chance to look at it. :-(
If you have an ftp location, or can get it to gzip well, could you try to
get it to me again?
> That, and while I like Forth (and the system started out with Forth in
> mind), I don't like Forth at the same time.
>
> Actually, I like Forth on a theoretical level, not on the actual
> implimentation level, so I have no desire to really keep compatibility with
> Forth (79, 83, Fig or ANS).
I like some implementations better than others... I particularly _don't_
like any of the ones I've tried for Linux. Mine were all slightly
incompatible, things like doing the "user" variables as TO variables,
compiling input (like in the thread currently going on in c.l.f), stuff
like that. I also like things to be as simple as possible, which some
systems don't...
> > The conclusion I had
> > come to was that Forth mostly needs better modularity. I wanted (and still
> > do) to drasticly extend the vocabulary concept into a hierarchical
> > directory style structure. (Some of you may have seen a my thread on this in
> > comp.lang.forth.) And I'd like to make my own Forth-like language
> > capable of being ported to most =>32-bit processors. This shouldn't be
> > too hard.
> >
> An idea might be to forgo an ANS version and go with a Forth-like
> language, then add an ANS layer to it (like QNX has added a POSIX layer).
> My current language design (which I haven't had much time to work on lately)
> has a vastly new structure beneath it, and adding an ANS layer to this
> shouldn't be a problem.
That would be fine, as long as it's possible to do an ANS layer in a more
or less transparent way. (That is, don't implement in a way that's
totally incompatible.)
> > So what I want is something I can still use as a Forth-based
> > human-writable/readable language with the following principal features:
> >
> > 1. portability
> > 2. efficiency
>
> The first two are almost mutually exclusive 8-)
True, but some hacks are possible, since you can write code that is
conditionally compiled, and at compile time detect things like integer
size. ANS Forth adds words to do this sort of thing. I'd do something
like that, and try and make it a little easier.
> > 3. modularity
> > 4. extensibility
>
> And these two go pretty much hand in hand.
They _should_! But Forth has great extensibility, but poor modularity.
(See below.)
> > 5. interactivity
> >
> > Modularity would mean the ability to load a package of words into memory
> > and unload them when finished with them. Forth has never really had a
> > good means of separating programs and libraries from the rest of it and
> > each other. Nowadays, this is a liability, which I would like to eliminate.
> >
> Might want to take a look at Java then. I've noticed (since I've been
> working with nothing BUT Java for the past two months) that only those parts
> of an applet are transferred that are actually used (almost like demand
> paging). But once loaded, they (I assume) stay loaded.
>
> -spc (Not to say that I like Java any more than Forth - if anything, I'd
> rather be doing Forth ... )
I looked very briefly, but wasn't keen on it. Too much like C++, and I
try to avoid that. I've even been getting sick of C, lately.
But this functionality added to Forth would be a huge step towards both
the goals of the Tunes project, and my own OS project, since I could then
write an OS solely in that language, and hopefully share packages between
the two systems.
Possibly even set things up so that my system can host Tunes and/or vice
versa. This would be done by having both systems use the LLL, and let the
HLL and the rest of Tunes be simply libraries and runtime environment as
far as Radix (my system) is concerned. That is at least as practical as
the OTOP project, and almost certainly more so, since I'm likely to
design my system to allow it, whereas Posix is already fixed in stone...
But that's all speculation, and a long way from the present. Still, it
would be nice.
*utsl*