Return Styles: Pseud0ch, Terminal, Valhalla, NES, Geocities, Blue Moon. Entire thread

★ /prog/ Challenge Vol. 5 ★

Name: Anonymous 2010-06-11 23:51

The challenge suggestion thread was too busy going nowhere, and I feel like writing some code, so here is a /prog/ challenge.

THE CHALLENGE:
Design a toy programming language. You may implement either a compiler or interpreter, and you may write the implementation in any language of your choosing.

Post the source code to your implementation as well as programs in your language to accomplish at least two of the following tasks, plus one ``wild card'' program not listed here.

    • Factorial calculator
    • Fibonacci sequence generator
    • Prime number sieve (e.g. Eratosthenes, Atkin, etc.)
    • fgrep (output lines of input containing a given string)
    • Caesar cipher
    • Simple interactive calculator
    • Tic-tac-toe (AI not required)
    • The game of Nim (http://en.wikipedia.org/wiki/Nim)

Entries must be submitted prior to 2010-06-21 00:00, which gives one full week and two weekends. Judgment will be in three categories: presentation and cleverness of designed language, clarity of implementation, and overall usefulness/entertainment/trolling value of the ``wild card'' program.

Winner will receive ten Susscoins, to be transferred via /prog/mail.

Name: 1 2010-06-21 11:52

RESULTS TIME

Presentation and cleverness - Codan, for its detailed introductory explanation. To be honest, none of the languages here struck me as being particularly clever; I have seen esolangs and stack languages resembling pieces of all of them. >>64 could potentially have won in that respect, as I don't recall having seen a language written horizontally like that. Alas, it can't really be awarded anything without an implementation or samples.

Clarity of implementation - tied between Codan and the latest version of Turd. Codan benefits from being much more straightforward, since it simply generates code and leaves the task of actually making it do something to the C compiler. Turd is necessarily a bit more complex, but it contains a full interpreter, handles both numbers and text, and still manages to be fairly easy to understand at a glance.

Wild card program - I suppose calculating π to 1000 decimal places could surely be considered "useful" for some definition of the term, and it was fairly entertaining to see it after spending several minutes looking at the code and not having a clue what it did. Turd's SUSSMAN printer definitely wins in terms of trolling value, though.

Overall, it's a close choice between Codan and Turd. Since Turd is overall a more usable language (having implemented the largest set of implemented programs of all those submitted), owing to its long and open development cycle, and thanks to its text processing capabilities that seem to be absent from Codan, I would be inclined to award the winning prize in favor of it. Unfortunately, its author appears not to have a /prog/mail address, so I suppose I will have to award the ten Susscoins to Codan.

I should note that I am intentionally not including Soda in the voting: first because it was submitted late, but more importantly to avoid a conflict of interest (since I wrote it).

On a side note, I'm somewhat disappointed in the absence of LISP here. Maybe the lengthy development process of Arc and similar such projects are an indication that this is because implementing a language in Lisp is an inherently difficult and time-consuming process which couldn't be accomplished in such a short time frame. Although the prize has been awarded for this challenge already, perhaps we will still see more implementations here in the coming months.

Newer Posts
Don't change these.
Name: Email:
Entire Thread Thread List