Efficient regular expression matching can be beautifully simple. Revisiting ideas from theoretical computer science, it can be implemented with linear worst-case time and space bounds in the purely functional programming language Haskell. Background Since Plato wrote about philosophy in the form of dialogues, authors have used this literary form to convey their ideas. The 15th International Confer