Type Tailoring (Artifact)

Authors Ashton Wiersdorf , Stephen Chang , Matthias Felleisen , Ben Greenman



PDF
Thumbnail PDF

Artifact Description

DARTS.10.2.24.pdf
  • Filesize: 472 kB
  • 2 pages

Document Identifiers

Author Details

Ashton Wiersdorf
  • University of Utah, Salt Lake City, UT, USA
Stephen Chang
  • University of Massachusetts Boston, MA, USA
Matthias Felleisen
  • Northeastern University, Boston, MA, USA
Ben Greenman
  • University of Utah, Salt Lake City, UT, USA

Cite AsGet BibTex

Ashton Wiersdorf, Stephen Chang, Matthias Felleisen, and Ben Greenman. Type Tailoring (Artifact). In Special Issue of the 38th European Conference on Object-Oriented Programming (ECOOP 2024). Dagstuhl Artifacts Series (DARTS), Volume 10, Issue 2, pp. 24:1-24:2, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2024)
https://doi.org/10.4230/DARTS.10.2.24

Artifact

Artifact Evaluation Policy

The artifact has been evaluated as described in the ECOOP 2024 Call for Artifacts and the ACM Artifact Review and Badging Policy.

Abstract

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 the core language with an API for modifying the elaboration of surface code into the internal language of the typechecker. Through user-programmable elaboration, tailoring rules appear to improve the precision and expressiveness of the underlying type system. Furthermore, type tailoring cooperates with the host type system by expanding to code that the host then typechecks. In the context of a hygienic metaprogramming system, tailoring rules can even harmoniously compose with one another. Type tailoring has emerged as a theme across several languages and metaprogramming systems, but never with direct support and rarely in the same shape twice. For example, both OCaml and Typed Racket enable forms of tailoring, but in quite different ways. This paper identifies key dimensions of type tailoring systems and tradeoffs along each dimension. It demonstrates the usefulness of tailoring with examples that cover sized vectors, database queries, and optional types. Finally, it outlines a vision for future research at the intersection of types and metaprogramming.

Subject Classification

ACM Subject Classification
  • Software and its engineering → Extensible languages
Keywords
  • Types
  • Metaprogramming
  • Macros
  • Partial Evaluation

Metrics

Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail