Linked by Eugenia Loli-Queru on Tue 12th Nov 2002 20:39 UTC, submitted by bland est
Permalink for comment
To read all comments associated with this story, please click here.
To read all comments associated with this story, please click here.





First, I'd like to say I very much like the concept of threaded things (words, subroutines etc.). It kind of remind me of those fractal concepts (and it brings a similar power).
Now, I've come to think that there are certain classes of problems:
- vector problems, for which the traditional (scalar?) processors are well suited; C is perfect here with its autoincrementing operators, assigments amidst expressions etc.
- complex structure problems, in which you have to deal with parameter passing, context switching etc. Stack machines excell here and stack-based languages (like Forth) simply rule.
Well, life is not perfect and one cannot deal with arrays all the time... so:
1) most processors gained POP/PUSH and even "exchange register with top-of-stack" opcodes, so that they can be more general purpose;
2) Charles Moore et al. also noticed the need for efficient array processing, so they incorporated an index register and XLAT-like (I think!) instructions. His last design (FP21, I believe) is truly impressive, as well as its design process -- OKAD. One of the most beautiful projects I've seen.
BTW, just to save y'all some time, read the excellent online book "Stack Computers", by Phillip Koopman.
If I may suggest, despite being just a curious guy, to Chuck Moore, Jeff and all the nice folks at http://www.ultratechnology.com :
1) why not make an FP21 card, just like that old CP/M card by Microsoft? Is it possible at all?
2) I'd like to play with ColorForth, and maybe I do so by getting an old computer to run it... for learning purposes, though, one running on DOS, or emulated DOS in Linux -- or even better, natively in Linux -- that would be nice! ;-)