Fluent API is an object-oriented pattern for elegant APIs and embedded DSLs.
A smart fluent API can enforce the API protocol or DSL syntax at compile time.
Since fluent API implementations typically rely on overloading function names, they are hard to realize in functional programming languages.
This work shows how functional fluent APIs can be implemented in the absence of name overloading, by relying on parametric polymorphism and Hindley-Milner type inference.
The implementation supports fluent API protocols in the regular- and deterministic context-free language classes, and even beyond.
Wed 25 OctDisplayed time zone: Lisbon change
16:00 - 17:48
|Fluent APIs in Functional Languages
|A Pretty Expressive Printer
Sorawee Porncharoenwase University of Washington, Justin Pombrio Unaffiliated, Emina Torlak Amazon Web Services, USADOI Pre-print
|How Domain Experts Use an Embedded DSL
Lisa Rennels University of California at Berkeley, Sarah E. Chasins University of California at BerkeleyDOI
|Saggitarius: A DSL for Specifying Grammatical Domains
Anders Miltner Simon Fraser University, Devon Loehr Princeton University, Arnold Mong Princeton University, Kathleen Fisher Tufts University, David Walker Princeton UniversityDOI
|Mat2Stencil: A Modular Matrix-Based DSL for Explicit and Implicit Matrix-Free PDE Solvers on Structured Grid
Huanqi Cao Tsinghua University, Shizhi Tang Tsinghua University, Qianchao Zhu Peking University, Bowen Yu Tsinghua University, Wenguang Chen Tsinghua University; Pengcheng LaboratoryDOI
|Translating canonical SQL to imperative code in Coq
Véronique Benzaken Université Paris-Saclay - Laboratoire de Méthodes Formelles , Évelyne Contejean CNRS, ENS Paris-Saclay & Université Paris-Saclay, Houssem Hachmaoui , Chantal Keller Université Paris Saclay, Louis Mandel IBM Research, USA, Avraham Shinnar IBM Research, Jerome Simeon DocuSign, Inc.Link to publication DOI