SHF:small:Functional geometry and the Traite de Lutherie: Domain-specific languages for computational thinking about the science of art
Brandeis University, Waltham MA
Investigators
Abstract
Title: SHF: Small: Domain-specific Languages for Computational Thinking about Functional Geometry The goal of the project is to design, implement, and experiment with a domain-specific programming language for functional geometry with applications to describing the design of string instruments: violins, violas, and especially violoncellos. The approach is based on the use of computational thinking for historical reconstructions of seventeenth-century geometrical and instrument construction techniques. The intellectual merits of the proposal are the rigorous design of the domain specific language, descriptive insight and abstraction of the above techniques, an archival representation for describing basic data structures tailored to string instruments, and language constructs for generating drawings. Because instrument making, from conception to construction, is so founded on algorithmic method, computational thinking is a natural rubric for organizing design, and creating a hierarchy of techniques that give order to the decomposition of the plane into an instrument form, and to the ancillary geometric problems that are solved with ruler-and-compass constructions. This work is integrated with building violoncellos, connecting the historical and conceptual with the practical. The underlying domain-specific language, as an added and beneficial impact, may also be useful for teaching principles of geometry at a middle- or high-school level. The project's broader significance and importance are in providing a foundation for a descriptive tool for analyzing the evolution of instrument designs over time. The domain-specific language is, at its core, a ruler-and-compass programming language for doing geometric constructions. Higher-order procedures in the language, can be used to abstract over canonical geometric constructions at the "assembly language" level of ruler-and-compass steps, providing an abstract, yet fully functional description of how these outlines were historically conceived. These higher-order procedures may capture not only technical, but conceptual patterns of the design process. The overall goal is to provide computational thinking in the context of a classic, specialized architectural domain, that of string instruments.
View original record on NSF Award Search →