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: Anonymous 2010-06-19 20:32

>>118
Haven't started yet, fuck.

Name: Anonymous 2010-06-20 0:05

Hm. I don't foresee being able to finish in the next 24 hours.
I'll try to get something functioning anyway, but I might be a day late with it :(

Name: Anonymous 2010-06-20 6:04

BUMP

Name: Anonymous 2010-06-20 8:12

>>123
Why?

Name: Anonymous 2010-06-20 8:14

I have a language, but no interpreter. I don't know if I can be bothered to write one, either.

Name: Anonymous 2010-06-20 10:54

>>125
Cool story, bro.

Name: Anonymous 2010-06-20 15:05

>>126
Fuck off

Name: Anonymous 2010-06-20 17:06

>>36
damn that just makes my brain hurt from trying to read the source code

Name: Anonymous 2010-06-20 18:15

>>128
Really? It's structured EnglishPython.
Oh yeah, you're from /pr/.

Name: Anonymous 2010-06-20 20:31

Deadline in three and a half hours. Hurry hurry hurry!

Name: Anonymous 2010-06-21 0:35

I'm a tad late, but:

http://sprunge.us/HUCP soda.c
http://sprunge.us/JSeQ sasm

http://sprunge.us/RRNM caesar
http://sprunge.us/hPOZ fibs
http://sprunge.us/eCMJ wildcard

libao needed; you could hack it out but the wildcard program won't have much of a point without it.

Name: Anonymous 2010-06-21 1:13

>>131
Relatively boring language rendered highly enjoyable by the addition of sound. Well done!

Name: Anonymous 2010-06-21 2:55

I vote for Xarn. Xarn wins.

Name: Anonymous 2010-06-21 3:26

>>133
Xarn's is atually one of the least interesting languages.

Name: Anonymous 2010-06-21 3:35

>>134
None of the languages are very interesting, really. Codan has the Unicode gimmick, >>131 has the sound gimmick, and that's about it.
>>131 probably has the fanciest implementation, and Codan probably has the fanciest wild card program, but neither of those are strictly categories.

Name: Anonymous 2010-06-21 5:38

>>135
lol 0/10 bud

Name: Anonymous 2010-06-21 6:19

Name: Anonymous 2010-06-21 6:23

>>137
ps: not late if using baker island time as you didn't specifiy tz

Name: Anonymous 2010-06-21 6:36

God damnit i didnt even finsh my “lisp like„ interpreter.

Name: Anonymous 2010-06-21 9:45

WHERE'S MY PRIZEs AT

Name: Anonymous 2010-06-21 10:27

I'd submit my entry if the deadline was extended by a week :<

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.

Name: Anonymous 2010-06-21 11:56

I'll be trying to finish my language, too. I'll post it here in the future for /Prague/riders to evaluate.

Name: Anonymous 2010-06-21 11:59

>>142
There's no lisp because making lisp interpreters in lisp is easy if not cheating (no need for writing one's own parser, free AST representation, homoiconicity of the language giving you cheap low-level macros and making eval easy to describe in itself). The tricky part is making something new, which is what the challenge is. Reimplementing someone else's lisp is easy. Inventing some new unique semantics or ideas that nobody else had is something much harder and rarer in the Lisp world, because just about anything was already tried.
Trivial interpreters can be expressed in a single page of code.

Of course, some simple esolangs shouldn't be hard to make in it, but it's more fun to try to create something which you could find useful yourself.

Name: Anonymous 2010-06-21 12:07

>>144
YHBT.

Name: Anonymous 2010-06-21 12:09

>>142
>>64 could potentially have won in that respect, as I don't recall having seen a language written horizontally like that.
Are you serious? I got bored, figured I wouldn't win anyway, and quit writing it. God damn it.

Anyways, congratulations, Xarn.

Name: Anonymous 2010-06-21 13:45

Xarn wins. Life goes on as always.

Name: Anonymous 2010-06-21 14:02

I considered adding a %d/%c output toggle to Codan (like the # of the Optimising Brainfuck via-C Compiler which inspired it; though the function of # varies wildly from Brainfuck implementation to implementation) so I could implement a bunch of ciphers and CGOL in it, but decided an entirely numerical language would be purer and more annoying to work with.
I'm actually surprised how many working entries we ended up with, even if they weren't terribly adventurous. Way to go, /prog/.

Name: Anonymous 2010-06-21 14:05

>>148
Yeah, at least three. All were imperative, leading me to assume that the anusdolytes with the most free time also have the least originality.

Name: Anonymous 2010-06-21 14:41

>>149
Or perhaps because a non-imperative language is generally more difficult to implement.

Name: Anonymous 2010-06-21 18:16

TURD AUTHOR HERE: Why do the winner need a /prog/mail to get the susscoins :-(

Name: Anonymous 2010-06-21 18:19

Or perhaps because Xarn.

Name: Anonymous 2010-06-21 18:47

Turd was fucking impressive. Why didnt it win?

Name: Anonymous 2010-06-21 18:53

>>153
What was so impressive about it? It's a nice little language, but it's hardly revolutionary.

Name: Anonymous 2010-06-21 18:55

>>153
Turd won, but the Sußcoins were awarded to Codan due to a lack of /prog/mail.

Name: Anonymous 2010-06-21 18:57

Turd and Codan tied. In fairness, both deserved to lose.

Name: Anonymous 2010-06-21 19:31

>>156
LOSE MY ANUS

Name: Anonymous 2010-06-21 19:53

I've just added a switch statement to turd

Name: Anonymous 2010-06-21 20:06

>>158
Too much. KISS

Name: Anonymous 2010-06-21 20:47

>>154
Nothing here was revolutionary.

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