In accordance with our meta agreement, since one candidate received more votes than the others, we have a new featured language! Throughout November 2020, our Language of the Month, nominated by user96495 and supported by me (Bubbler), will be:
Forth
What's a Language of the Month?
See the meta post for nominations. In short, during November, those who wish to participate should learn (at least the basics of) Forth, use it to solve challenges, and discuss it in the Forth chat room. Participation is completely optional, but is anticipated to be fun!
Information about Forth
Forth is one of the earliest stack-based practical programming languages (it's turning 50 this year), yet at least one modern implementation (namely Gforth) is still being actively maintained.
- Forth's very simple syntax will let you get started quickly.
- Forth supports functions and structured programming. This has multiple implications:
- We can use stack content I/O for functions.
- We can write test cases for a submission more easily.
- We can construct more complex programs without much hassle.
- Due to the low-level-ish way Forth treats its stack contents, we can use various built-in words to achieve something they're not designed to do. e.g.
s>d
can be used for a non-negativity test, and "double" stack-manipulation words can be used to fetch or move around pairs of integers. Be creative, and please share any interesting uses of built-ins you find as a golfing tip.
Resources
- General information about Forth the language
- Gforth home page and Gforth user manual (another site hosting the same materials)
- TIO, Chat room, Golfing tips
Bounty
To facilitate more participation, I will award 50-rep bounties to first 5 answers in Forth by each user who hasn't used Forth before. (Sorry that I can't award this bounty to a question that already has my answer.)