Any pointers for one looking to participate that may be a less experienced language dev?
Would this be good for novice or first time language developers?
I specifically made “Turing Tarpit” the first challenge because I thought it’d be really easy. Parsing most Turing Tarpits is not a challenge and interpreting the AST is generally very easy.
Give the first one a go and see how far you get.
It costs a bunch of money, but I know that Jeremy Ashekans created CoffeeScript after reading http://createyourproglang.com/
Really, it’s actually pretty simple to create your own language, especially if it’s a LISP or something like Brainfuck. http://norvig.com/lispy.html and https://github.com/pocmo/Ruby-Brainfuck/blob/master/bf.rb are pretty small examples, in Ruby and Python.
Oh I’m pretty aware (https://github.com/rbxbx/Jibralter <– half working port of lispy to CoffeeScript), I was just trying to drive out conversation and perhaps suggest that such resources should be included on the PLT games site.
But y'kno, maybe I should be less obtuse and just say things.
Regardless, all good pointers, cheers :)
Ha! Yeah. Whatever, good discussion did result!
Aaron Gough also has a few good writeups on the subject here: http://thingsaaronmade.com/blog.html – mostly focused around the example of building a lisp in Ruby.
I found that dealing with more traditional ways of writing programming languages with tools like lex and yacc can be sort of onerous, but that using parser combinators makes it fairly fun. You should know how context free grammars work, beyond that, and being able to show that your language is turing complete, it should be straightforward. I personally like the implementation of parser combinators in scala, but I think that many languages have them.
I have entered my submission: Mojikun, a Brainfuck with emoji: https://github.com/steveklabnik/mojikun
It’s actually written in a pretty well-structured way, and is fully tested, if anyone’s looking at learning this kind of thing.
So the December entries are due at the end of December?
Yes. Entries will be voted on during January.