conference logo

Playlist "Remote Chaos Experience"

All Programming Language Suck? Just Build Your Own! – Language-Oriented Programming with Racket

Mike Sperber

All languages have warts, wats, defects, and things that are just plain bad taste. Unless, of course, it's your language. Usually, implementing and maintaining your own language is a lot of work, but the Racket programming system makes creating a language as easy as having breakfast (almost) and thus a routine activity. Pick and assemble what you like from other languages, sprinkle your own favorite features, and voila - there's your fun experiment, your medium of expression, your educational language, your DSL.

Racket's secret is its flexible syntax (hailing from Lisp), and its world-class macro system which is both super-powerful and easy to learn and use. (Going far beyond classic Lisp.) What's great is that you don't have to do all the work: Languages are just libraries of macros in Racket, and they can seamlessly interoperate with the Racket base language and each other. Don't worry if you dislike parentheses: Racket has you covered there, too.