Daniel Pope - Writing Domain Specific Languages with Python [EuroPython 2015] [24 July 2015] [Bilbao, Euskadi, Spain]
Python is an expressive general purpose programming language. Its syntax provides many ways to represent structure and minimise code repetition and boilerplate.
But Python not always expressible enough. Perhaps when you've built a complicated enough system with hard-to-express inter-relationships, the code required to construct or operate on it can become complicated, repetitive and unreadable. Or perhaps you have users unfamiliar with Python who need to understand or edit a system. In cases like these, stepping beyond the syntax and semantics of basic Python can be an advantage.
Daniel will describe various ways you can implement your own Domain Specific Languages, languages perhaps completely unlike Python that can succinctly describe more complicated Python systems.
This talk will cover:
- What and why of DSLs
- Metaprogramming tricks
- Writing simple parsers
- The libraries PLY and PyParsing
- Building tooling around your new DSLs