articles/forth.md: update

This commit is contained in:
tocariimaa 2025-02-17 00:21:01 -03:00
parent b85f719ae9
commit a3b2f7eb71

View file

@ -3,7 +3,7 @@ Forth is a family of [minimalistic](minimalism.md) stack [programming languages]
What makes Forth different from other languages is the extreme flexibility it offers, allowing [metaprogramming](metaprogramming.md),
similar to [Lisp](lisp.md). It has almost no syntax, the programmer can alter the reader to parse the stream as it pleases.
Forth and Lisp are quite similar; they can be built on a small set of primitives, both have metaprogramming capabilities, almost
Forth and Lisp are quite similar in a fundamental sense; both can be built on a small set of primitives, both have metaprogramming capabilities, almost
no syntax (word stream and S-Expressions respectively), but differs Forth is closer to the machine, less mathematical or "pure" than
Lisp for instance, which is based on the [lambda calculus](lambda_calculus.md).
@ -11,7 +11,7 @@ Being a stack language, Forth has two stacks: the data stack (where you push val
Both stacks are of course modifiable by the user. Because the return pointer can also be modified manually, this allows
implementing loops and control flow in the language itself.
Since Forth is a stack language, it uses a RPN syntax; valued are pushed to the data stack and then an operation
Since Forth is a stack language, it uses a [RPN](rpn.md) syntax; valued are pushed to the data stack and then an operation
is applied:
```forth
2 2 + \ easy: 2 + 2