Text this: Formal and practical aspects of domain-specific languages :