Forthward
Be aware, please, that I've only tested this on Netscape 4.51. I know
Internet Explorer has had problems with earlier versions when I tested them at
work, but I'm doing this from home and Microsoft haven't made IE available for
my Operating System of choice, so supporting their browser is fairly low on my
priorities.
Also, I've noticed that Netscape sometimes crashes while trying to bring
up the ecit box for the final two functions. I think this is a Netscape bug, to do with regexp handling.
Forthward isn't ready for anything much, yet, but it's up here so I can show
various people what its interface looks like. Even the `documentation' below
sucks. :)
This is the main controlling page. The TEXTAREA here is the only full copy of
the code and you can edit it directly if you like (indeed, you have to paste
entire programs into it to get them into the system, for now), but the
intention is that you should edit and run each function by bringing it up in
its own edit/trace page by clicking on the Word List link. Edit windows cannot
commit changes properly if word names have been manually changed in the
TEXTAREA, or if the end of word token `;' isn't there. You will either lose
your edits, or parts of the main program if something like that goes wrong,
although if you don't fiddle you should be fine, because it's the same regexp
used to snaffle data for the edit windows as is used to replace the text on
commit.
Stack can be forced with `*CLEARSTACK values...'.
Trace can be forced (even outside an editbox) with `*TRACEON' and `*TRACEOFF'.
Edit will strip all lines containing tokens beginning with `*' (apart from * on its own, of course).
Comments ( look like this )
Remaining..
- Add lots of string handling
- Add variables - local and global - including me(v0), here(v1), trigger(v2)
- Add offer arbitrary stack diddling in response to missing words (actually
arbitrary execution lines, to quicktemporaryfix typos)
- Look for a desktop keyboard with a nipplemouse. (IBM make one, but it's hideously spendy.)
- Add properties handling (incl. propdir? and nextprop)
- Add 'words as data and call ( x -- )
- Add all the missing keywords
- Add output window (use javascript:prompt() for `read')
- Add input window (sequence of strings to supply automatically in response
to `read' calls)
- Work out adaptive sizing based on screen size, particularly TEXTAREAs and
windows in edit windows.
- Add button for window containing `whole program' for ease of saving to a file
- Investigate Netscape data islands to load `whole program' from a file (via
an auxiliary window, possibly the save-out window above).
- Think about making it IE compatible
- Isn't `Dismiss' superb for `close window' button text?
Tested on Netscape 4.51/GNU/Linux.
(c) 1999 Tim Baverstock