Fling - A Fluent API Generator (Artifact)

Authors Ori Roth, Yossi Gil



PDF
Thumbnail PDF

Artifact Description

DARTS.5.2.12.pdf
  • Filesize: 0.57 MB
  • 9 pages

Document Identifiers

Author Details

Ori Roth
  • Technion I.I.T Computer Science Dept., Haifa, Israel
Yossi Gil
  • Technion I.I.T Computer Science Dept., Haifa, Israel

Cite As Get BibTex

Ori Roth and Yossi Gil. Fling - A Fluent API Generator (Artifact). In Special Issue of the 33rd European Conference on Object-Oriented Programming (ECOOP 2019). Dagstuhl Artifacts Series (DARTS), Volume 5, Issue 2, pp. 12:1-12:9, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2019) https://doi.org/10.4230/DARTS.5.2.12

Artifact

  MD5 Sum: 5064eb01b5f238cd081fc9c63e604cbf (Get MD5 Sum)

Abstract

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.

Subject Classification

ACM Subject Classification
  • Software and its engineering → General programming languages
  • Software and its engineering → Domain specific languages
Keywords
  • Fluent API
  • compilation
  • generics
  • code generation

Metrics

  • Access Statistics
  • Total Accesses (updated on a weekly basis)
    0
    PDF Downloads

References

  1. Ken Arnold and James Gosling. The Java Programming Language. Addison Wesley, 1996. Google Scholar
  2. Stefano Ceri, Georg Gottlob, and Letizia Tanca. Logic programming and databases. SVNY, 1990. Google Scholar
  3. Stroustrup. The C++ Programming Language. AW, awad, third edition, 1997. Google Scholar
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