The Forth super power is that you have full control over how a symbol is evaluated, both at compile and runtime. I don't know of anything else that offers that. Lisp doesn't.
That gives the developer pretty much free rein to do whatever they want, which can be both good and bad.
I've always loved the elegance of Frank Sergeant's 3 Instruction Forth paper [1], it's very cool once you wrap your head around it.
Also, studying the F83 Metacompiler is valuable as well. F83 is a very capable 8/16-bit Forth system.
I honestly marvel at how much work must have gone into F83, given the tools of the time. I wish I knew more about its development journey. How it got bootstrapped.
That gives the developer pretty much free rein to do whatever they want, which can be both good and bad.
I've always loved the elegance of Frank Sergeant's 3 Instruction Forth paper [1], it's very cool once you wrap your head around it.
Also, studying the F83 Metacompiler is valuable as well. F83 is a very capable 8/16-bit Forth system.
I honestly marvel at how much work must have gone into F83, given the tools of the time. I wish I knew more about its development journey. How it got bootstrapped.
[1] https://pygmy.utoh.org/3ins4th.html