I’ve tinkered with parsers for a few small side projects like building a language server and parsing blog post metadata, but I wanted to tackle a bigger parsing project. I’ve also been trying to learn some music theory in my spare time, so why not combine the two ideas by building a domain-specific language (DSL) for notating and generating music? I’m (tentatively) calling it Arpeggio. The Concept This is going to take a few blog posts to get through, so let’s just start at the beginn...