The design and implementation of SPARK, a toolkit for implementing domain-specific languages - Aycock, John (Array, 2002)
Special issue on domain-specific languages (part II)