Forth was invented before Moore worked at NRAO. Granted, it was gradually expanded from a very small interpreter, so it's hard to say exactly when it became "Forth" as we mean it today.
Forth should be considered a family of languages; Anton Ertl took its picture some time ago [1].
Chuck Moore agrees I think with the idea [2]:
That raises the question of what is Forth? I have hoped for some time that someone would tell me what it was. I keep asking that question. What is Forth?
Forth is highly factored code. I don't know anything else to say except that Forth is definitions. If you have a lot of small definitions you are writing Forth. In order to write a lot of small definitions you have to have a stack. Stacks are not popular. Its strange to me that they are not. [...]
What is a definition? Well classically a definition was colon something, and words, and end of definition somewhere.
: some ~~~ ;
I always tried to explain this in the sense of this is an abbreviation, whatever this string of words you have here that you use frequently you have here you give it a name and you can use it more conveniently. But its not exactly an abbreviation because it can have a parameter perhaps or two. And that is a problem with programmers, perhaps a problem with all programmers; too many input parameters to a routine. Look at some 'C' programs and it gets ludicrous. Everything in the program is passed through the calling sequence and that is dumb.
Sadly, Chuck Moore is old, and Microsoft, in their unyielding quest for innovation, somehow broke the API contract for the BitBlt call in a way that permanently broke ColorForth, and Chuck has decided simply not to continue with it.
When he told about that in the Fireside chat, I was really puzzled at first. I think Chuck was just being the eccentric guy he is was telling a cautionary tale for the shock effect, in a kind of dark humorous way. Also the guy is 88 years old now, so it's somewhat understandable when your energy levels are extremely low, both physically and mentally. With the little time left of your life, you wouldn't want to spend it fixing some random breaking API change from Windows.
I imagine his ColorForth has been more like a retirement hobby for the past decade. He used to screenshare from his ColorForth during the calls, but that could have been overcome more easily with a VGA->HDMI capture dongle and running ColorForth natively. And I doubt he needed the TCP/IP stack directly on his ColorForth based on what he shared so far. So I don't see the point of porting over to Windows to begin with. After all, ColorForth runs more easily on bare metal, on UEFI/BIOS or whatever, so it didn't ever need BitBlt to draw things on screen for sure. The guy built a ColorForth processor, and the devkit from GreenArrays has a VGA connector, etc. So I believe Chuck was on to something else when he shared that, perhaps just to stimulate thinking, but people tend to take things at face value.
On another note, ColorForth (or FORTH for that matter) is not meant to be owned/controlled by him or a committee. So it's not like he was maintaining it. AFAIK, he didn't even endorse or support FORTH standardization efforts, and somewhere said it's silly. I also find it interesting that in his book A Problem Oriented Language, there is not a single mention of FORTH even once (except in the preface, and in his bio) yet he describes FORTH in the book, just calls it as "A Problem Oriented Language" without naming it. So it's almost like FORTH doesn't exist. It's just an idea. And what doesn't exist cannot be broken.
In the first code example in the readme ("First program"), there's `sdlcls`, `SDLinit`, and `SDLShow`. Is there some significance to the capitalisation?
Ah, it might be nice to mention that before the first code example, then. Or just use consistent case in the first example, to avoid distracting people with details that aren't the thing you're trying to demonstrate.
Very interesting, great work! This reminded me of something. I just checked and to my amazement Mike Hore's Powermops is still around and even has an ARM version.[1]
So I have a tribal affinity for Color Forth, by original creator of Forth.
Chuck Moore agrees I think with the idea [2]:
That raises the question of what is Forth? I have hoped for some time that someone would tell me what it was. I keep asking that question. What is Forth?
Forth is highly factored code. I don't know anything else to say except that Forth is definitions. If you have a lot of small definitions you are writing Forth. In order to write a lot of small definitions you have to have a stack. Stacks are not popular. Its strange to me that they are not. [...]
What is a definition? Well classically a definition was colon something, and words, and end of definition somewhere.
I always tried to explain this in the sense of this is an abbreviation, whatever this string of words you have here that you use frequently you have here you give it a name and you can use it more conveniently. But its not exactly an abbreviation because it can have a parameter perhaps or two. And that is a problem with programmers, perhaps a problem with all programmers; too many input parameters to a routine. Look at some 'C' programs and it gets ludicrous. Everything in the program is passed through the calling sequence and that is dumb.[1] https://www.complang.tuwien.ac.at/anton/euroforth/ef04/ertl0...
[2] https://www.ultratechnology.com/1xforth.htm
I imagine his ColorForth has been more like a retirement hobby for the past decade. He used to screenshare from his ColorForth during the calls, but that could have been overcome more easily with a VGA->HDMI capture dongle and running ColorForth natively. And I doubt he needed the TCP/IP stack directly on his ColorForth based on what he shared so far. So I don't see the point of porting over to Windows to begin with. After all, ColorForth runs more easily on bare metal, on UEFI/BIOS or whatever, so it didn't ever need BitBlt to draw things on screen for sure. The guy built a ColorForth processor, and the devkit from GreenArrays has a VGA connector, etc. So I believe Chuck was on to something else when he shared that, perhaps just to stimulate thinking, but people tend to take things at face value.
On another note, ColorForth (or FORTH for that matter) is not meant to be owned/controlled by him or a committee. So it's not like he was maintaining it. AFAIK, he didn't even endorse or support FORTH standardization efforts, and somewhere said it's silly. I also find it interesting that in his book A Problem Oriented Language, there is not a single mention of FORTH even once (except in the preface, and in his bio) yet he describes FORTH in the book, just calls it as "A Problem Oriented Language" without naming it. So it's almost like FORTH doesn't exist. It's just an idea. And what doesn't exist cannot be broken.
[1] https://www.powermops.org
So many features-- sprite sheets, etc. Well done!