The first general and practical solution of the fluent API problem is presented. We give an algorithm that given a deterministic context free language (equivalently, LR(k), k >= 0 language) encodes it in an unbounded parametric polymorphism type system employing only a polynomial number of types. The theoretical result is employed in an actual tool Fling - a fluent API compiler-compiler in the style of YACC, tailored for embedding DSLs in Java.
@Article{roth_et_al:DARTS.5.2.12, author = {Roth, Ori and Gil, Yossi}, title = {{Fling - A Fluent API Generator}}, pages = {12:1--12:9}, journal = {Dagstuhl Artifacts Series}, ISSN = {2509-8195}, year = {2019}, volume = {5}, number = {2}, editor = {Roth, Ori and Gil, Yossi}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/DARTS.5.2.12}, URN = {urn:nbn:de:0030-drops-107897}, doi = {10.4230/DARTS.5.2.12}, annote = {Keywords: Fluent API, compilation, generics, code generation} }
5064eb01b5f238cd081fc9c63e604cbf
(Get MD5 Sum)
Feedback for Dagstuhl Publishing