That's why its metaprogramming is so amazingly compact. It's similar to Lisp's metaprogramming in much the same way bacterial genetic code is similar to that of humans – both reproduce. Humans also do many other things that bacteria can't (…No compatibility. No files. No operating system). And have a ton of useless junk in their DNA, their bodies and their habitat.
Bacteria have no junk in their DNA. Junk slows down the copying of the DNA which creates a reproduction bottleneck so junk mutations can't compete. If it can be eliminated, it should. Bacteria are small, simple, optimal systems, with as many requirements shaved off as possible. They won't conquer space, but they'll survive a nuclear war.
This stack business? Just a tiny aspect of the matter. You have complicated expression graphs?
Why do you have complicated expression graphs? The reason Forth the language doesn't have variables is because you
can eliminate them, therefore they are
junk, therefore you
should eliminate them. What about those expressions in your Forth program? Junk, most likely. Delete!
http://yosefk.com/blog/my-history-with-forth-stack-machines.html