INTERNAL DSLS IMPLEMENTATION ON JVM PLATFORM

  • Miloš Šerbić Unicredit Bank Banja Luka a.d.
  • Zoran Đurić Elektrotehnički fakultet, Univerzitet u Banjoj Luci
Keywords: Java, Scala, Groovy, JVM, DSL

Abstract

In this paper it was defined and explained term of domain specific language (DSL). Then, it was described principles and patterns for developing internal DSLs: fluent interface, AST manipulation, typed embedding, reflective metaprogramming, runtime metaprogramming and compile-time metaprogramming. Also, it was done overview of JVM languages (Scala, Groovy and Java) with accent on their features for concise DSL implementation. Some of the features which are shown, like concise syntax, operator overloading, metaprogramming, anonymous function and open classes are key features for implementing internal DSLs. Usage of some principles and patterns for developing internal DSLs, are shown on snippets of implemented examples of DSL for Image processing. And this implementations are implemented in Scala, Groovy and Java programming languages.
Published
2019-01-15
Section
Articles