Lithe: a language combining a flexible syntax and classes

The syntax of a program greatly influences its readability. A good syntax suggests the meaning attached to a construct and suppresses irrelevant details. In most programming languages, the user’s control over syntax is limited to the choice of identifier names and t be overloading of some operators. This paper introduces an experimental programming language, Lithe, that allows the user to freely choose his own syntax. Lithe combines two ideas that have been used successfully before: syntax-directed translation and classes. Although these ideas are old, they are combined in a new way that results in a remarkably simple yet powerful language.