In accordance with our meta agreement, since one candidate received more votes than the others, we have a new featured language! Throughout August 2022, our Language of the Month will be:
Knight
What's a Language of the Month?
See the meta post for nominations. In short, during August, those who wish to participate should learn (at least the basics of) Knight, and use it to solve challenges. Participation is completely optional, but is anticipated to be fun!
Information about Knight
Knight is a new programming language created in April 2021 by sampersand. It is a Polish notation language (meaning x + y
is + x y
, and everything has fixed arity) which is relatively simple. It has some useful string manipulation tools, eval, shell commands, and type coercion.
Interpreters
There is a list of interpreters on the official GitHub page. It has been ported to many languages, even itself.
Here is an interpreter on TIO, a patch to a previous commit to c/golf which updates and fixes some conformance issues. (Note that it memory leaks like crazy and segfaults on malformed inputs).
However, the "preferred" interpreter is c/ast, which is the fastest, most up-to-date interpreter and has actual error checking.
EDIT: I (Steffan) put a JS interpreter on TIO here. It's from the JS implementation on GitHub, but compiled into one file. Note: When putting input into the program, make sure to put a trailing newline. Otherwise, it will infinitely loop, unfortunately.
Resources
- Main GitHub (has spec, test suite, examples)
- Official spec
- Official Discord
- Esolangs.org entry
- SE Chatroom
I (Steffan) will also offer a +100 bounty for any user's 3rd Knight answer in August.