Lately, I've been wasting spending time doing code golf at the (very informal) Anarchy Golf server.
I don't claim to be any sort of expert on the topic, but here are some recent entries I've made, explained.
For those not in the know
, the goal in code golf is to write the shortest possible program in language X that accomplishes a task Y.
The golf server has a set of test inputs, and your program needs to produce output matching the corresponding reference outputs in order to be accepted.
I was recently talked into taking on the role of the negligent MediaWiki administrator for the esoteric programming languages wiki. As a consequence, I have now a local copy of the XML dump of the wiki contents (that anyone can download). To celebrate Easter in the traditional manner, then, I've spent some time computing statistics of the link graph of the wiki.
Recently, there was some idle discussion on #esoteric on the topic of reserved identifiers in C and POSIX. The discussion further progressed to a thought experiment on whether it would be possible to write useful programs in C if the standard (or POSIX) reserved all identifiers, i.e., using only identifiers defined by the standard, in a legal manner.
The following program is a rudimentary brainfuck (sans input) interpreter that is at least mostly valid C, yet uses no user-defined identifiers (after preprocessing).
Continuing on the topic of esolangs, I'm responsible of a set of BF Joust implementations. You can find them and their documentation at a GitHub repository.
Speaking of Befunge, I have also written a somewhat speedy interpreter for the older, more limited Befunge-93 variant of it.
It is called ff
, and it is but a single file of C: ff3.c. (The 3 is a version number of sorts.)
There is an interesting 2D
programming language called Befunge.
fungot is an IRC bot written in the Funge-98 version of the language.
As far as I am aware, it's one of the largest hand-written
Funge-98 programs there are.
Features of fungot include interpreters for the brainfuck and Underload languages, support for user-defined commands in the above-mentioned languages, as well as an ngram-based babble generator with various styles.
Most of the time you can find fungot on the channel #esoteric
in the freenode IRC network.
It also has a periodically active Twitter account.
The main source file is fungot.b98. The GitHub repository there also contains some other files necessary for running it.