A programming language that writes languages