I had been looking for an excuse to learn Forth, and its use in classic computing meant that it had a shot of being workable on the NES.
I was initially using IceForth but I had trouble getting that working, and so I got Codex to generate something that works, but then I also that building your own Forth is sort of a rite of passage for a software engineer, so I have been building my own Forth from scratch.
My custom hack-job isn't ready yet, but I was extremely impressed at the performance I was able to get on the NES with compiled Forth from the Codex thing on the NES. I'm getting roughly 80% of the speed for equivalent programs written in assembly, with much less code and this is without advanced optimizations. I do plan on finishing my custom one because I think I can build what I want a bit better than Codex, and I'm optimistic I can get the performance reasonable.
Forth is such a fascinating language, because it sort of enables you to work at any level of the program. You can write it super high level, almost like Lisp, but you can also poke around and create mappings to assembly, and you can do all this with decent performance no less! It has quickly become one of my more favorite scripting languages, though that might be because I have always had a soft spot for RPN.
The compiler is pretty neat though; my current system is doing a straightforward conversion of the threaded-code quasi-AST thing that Forth does and convert it all to JSR calls, where each name is a subroutine. I haven't done a ton of optimizations yet, so I'm actually surprised it's going as fast as it is. I am just going to say this is yet another "Forth is awesome" thing.
Once I get it into a more stable state, I'll push it up to SourceHut.
See my profile for link to my github repositories and look under MES-replacement for stack_c
I go through stages to implement minimal language.
I was expecting to see FORTH in bare metal C or ASM.
There is a common myth about newbie programmers that FORTH is write-only and that you need to type everything in one line, without comments or function calls etc.
Writing forth is super easy especially if you have a stack machine at your disposal. For example when you are building your own virtual cpu/architecture with assembler and compiler.
It's more trivial than to understand any JavaScript framework lol
Research FORTH more guys - it doesn't need to be strange and hard :)
ps. Lisp SUCKS
/rant
By contrast, in APL it's not a myth at all.