Conference paper Open Access

Clef Design - Thoughts on the Formalization of Program Construction

Klaas van Schelven

In Expressions of Change modifications to programs replace text files as the primary building blocks of software development. This novel approach yields structured historic information at arbitrary levels of program granularity across the programming toolchain. In this paper the associated questions of Programming Language Design are explored. We do so in the context of s-expressions, creating a modification-based infrastructure for languages in the Lisp family. We provide a framework for evaluation of the relative utility of different formalizations of program construction, which consists of the following: first, a requirement for completeness, meaning that a formalization of program construction should allow for the transformation of any valid program into any other. Second, a preference for succinctness over verbosity; succinctness of both of the formalization itself and typical expressions in the formalization. Third, a measure of the ability to clearly express intent. Fourth, a description of three ways in which the means of combination of the program itself and those of its means of construction may interact. Finally, we give a particular example of a formalization and use the provided framework to establish its utility.

Files (444.7 kB)
Name Size
444.7 kB Download
All versions This version
Views 88
Downloads 77
Data volume 3.1 MB3.1 MB
Unique views 88
Unique downloads 77


Cite as