Hazelnut: a bidirectionally typed structure editor calculus

C Omar, I Voysey, M Hilton, J Aldrich… - ACM SIGPLAN …, 2017 - dl.acm.org
Structure editors allow programmers to edit the tree structure of a program directly. This can
have cognitive benefits, particularly for novice and end-user programmers. It also simplifies …

Filling typed holes with live GUIs

C Omar, D Moon, A Blinn, I Voysey, N Collins… - Proceedings of the …, 2021 - dl.acm.org
Text editing is powerful, but some types of expressions are more naturally represented and
manipulated graphically. Examples include expressions that compute colors, music …

Systematic composition of independent language features

A Butting, R Eikermann, O Kautz, B Rumpe… - Journal of Systems and …, 2019 - Elsevier
Systematic reuse is crucial to efficiently engineer and deploy software languages to software
experts and domain experts alike. But “software languages are software too”, and hence …

Reliable and automatic composition of language extensions to C: the ableC extensible language framework

T Kaminski, L Kramer, T Carlson… - Proceedings of the ACM on …, 2017 - dl.acm.org
This paper describes an extensible language framework, ableC, that allows programmers to
import new, domain-specific, independently-developed language features into their …

Toward semantic foundations for program editors

C Omar, I Voysey, M Hilton, J Sunshine… - arXiv preprint arXiv …, 2017 - arxiv.org
Programming language definitions assign formal meaning to complete programs.
Programmers, however, spend a substantial amount of time interacting with incomplete …

Type Tailoring

A Wiersdorf, S Chang, M Felleisen… - … Conference on Object …, 2024 - drops.dagstuhl.de
Type systems evolve too slowly to keep up with the quick evolution of libraries-especially
libraries that introduce abstractions. Type tailoring offers a lightweight solution by equipping …

Sound type-dependent syntactic language extension

F Lorenzen, S Erdweg - Proceedings of the 43rd Annual ACM SIGPLAN …, 2016 - dl.acm.org
Syntactic language extensions can introduce new facilities into a programming language
while requiring little implementation effort and modest changes to the compiler. It is typical to …

Type systems as macros

S Chang, A Knauth, B Greenman - Proceedings of the 44th ACM …, 2017 - dl.acm.org
We present Turnstile, a metalanguage for creating typed embedded languages. To
implement the type system, programmers write type checking rules resembling traditional …

A Programming Language for Data and Configuration!

M Marron - Proceedings of the 2024 ACM SIGPLAN International …, 2024 - dl.acm.org
A day in the life of a developer often involves more time working with schemas,
configurations, and data description systems than writing code and logic in a classical …

Decidable subtyping for path dependent types

J Mackay, A Potanin, J Aldrich, L Groves - Proceedings of the ACM on …, 2019 - dl.acm.org
Path dependent types have long served as an expressive component of the Scala
programming language. They allow for the modelling of both bounded polymorphism and a …