Towards Maintainable Generators

This website aims to provide a set of best practices for maintainable generators and a set of rules when to apply them. We do not explain the very basics of writing MPS generators so it's audience is clearly for people with experience in writing generators in MPS and it mostly covers advanced patterns and concepts.


As any software generators can get complex and hard to maintain therefore it is important to write them in a way that makes them easy to maintain. Over the past years we have gathered quite a lot experience in writing theses generators. This website tries the provide a set of best practices and rules when theses practices might get applied. It's not meant as a fixed set of rules that should be blindly followed but as guidelines. We will discuss the tradeoffs and aspects to consider extensively.


What does maintainability mean in this context? On the one hand it is about the ability to change/delete/rewrite parts of the generator chain without affecting parts prior or later in the chain. On the other hand it's about writing readable generators which can easily be understood and reasoned


This website is currently in development and has not undergone any copy editing or review. You might find typos and the style of writing might significantly vary from section to section.


This website is published under the Creative Commons Attribution Share Alike 4.0 license.