Hazelnut: a bidirectionally typed structure editor calculus
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 …
have cognitive benefits, particularly for novice and end-user programmers. It also simplifies …
Filling typed holes with live GUIs
Text editing is powerful, but some types of expressions are more naturally represented and
manipulated graphically. Examples include expressions that compute colors, music …
manipulated graphically. Examples include expressions that compute colors, music …
Systematic composition of independent language features
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 …
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 …
import new, domain-specific, independently-developed language features into their …
Toward semantic foundations for program editors
Programming language definitions assign formal meaning to complete programs.
Programmers, however, spend a substantial amount of time interacting with incomplete …
Programmers, however, spend a substantial amount of time interacting with incomplete …
Type Tailoring
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 …
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 …
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 …
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 …
configurations, and data description systems than writing code and logic in a classical …
Decidable subtyping for path dependent types
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 …
programming language. They allow for the modelling of both bounded polymorphism and a …