Notable design patterns for domain-specific languages — article by Diomidis Spinellis published February 2001 in Journal of Systems and Software