Python DSL started 4 years ago as a alternative to OO development paradigm. As a slow learner, it took me a few years to realize that what I was trying is to implement a DSL framework.

One of the books I'm currently reading is  Language implementation patterns by Terence Parr. I think that the practical approach of this book is very useful, and pydsl can provide some implementations of the algorithms included in the book.