Automata

Ragel is a truly awesome tool for working with finite automata. It’s really refreshing to immerse yourself in a deterministic world completely and rigorously upheld by mathematical underpinnings. And Ragel is an incredibly solid finite state machine compiler that implements the tried-and-tested patterns of automata theory in a robust and efficient matter.

For once, today’s programming task was a problem that belonged entirely to the domain of regular languages (not like the context-sensitive stuff I normally have to deal with), and in this particular application speed was important so Ragel was just the right tool for the job. Heck, even if speed weren’t important Ragel would still be the right tool for the job because it makes whipping together quick state machines so darn easy.

Adrian Thurston is now right up there in my list of programming stars.