Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I'm convinced that Forth is the inverse of Lisp, and could be equally expressive, but because there are no parens to force matching of parameters, it's way too easy to lose things on the forth stack.

I believe that adding types and data structures to Forth, as is done in STOIC, combined with an IDE that allows you to SEE what parameters get eaten where, could make Forth viable for larger programs.

I tried to do this with MSTOICAL, which you all helped me to get to compile... but then I couldn't disentangle it from the build system, and my retina blew out... causing me to lose the ability to focus on the project.



I'm probably wrong, but my intuition tells me (in terms of Theory of Computation) that Forth is a programming language for Push-Down-Automata, and not a full-blown Turing Machine.


From https://en.wikipedia.org/wiki/Turing_machine :

  "a Turing machine is also equivalent to a two-stack PDA with standard LIFO semantics, by using one stack to model the tape left of the head and the other stack for the tape to the right."
Forth is essentially a two-stack PDA as described.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: