conf.directory

[VDT19] Design and Effectiveness of Internal DSLs in Scala by Andrea Mocci

About this talk

Domain-Specific Languages (DSLs) are machine languages tailored to a particular application domain, allowing to produce more concise and understandable programs, with a tighter stakeholder integration. In particular, internal DSLs are a particular class of DSLs written inside a given general purpose programming language. Not all programming languages are equally effective for this. Through quotes of Martin Fowler, some history, and code examples, we will learn why you should care about internal DSLs and more importantly a great language to design them: Scala. We will discover how a few simple but powerful Scala features, like symbolic method names, infix method calls, and call by name, enable the elegant design of internal DSLs. As a reference domain, we will focus on testing, illustrating the usage and the design of frameworks like ScalaTest and ScalaCheck, with a lot of code. Thus, the outcomes of this talk are twofold: First, you will learn how a DSL can help you write powerful and elegant tests - even for your Java programs. Second, you will learn how you can leverage that elegance to design your own DSL on a specific application domain (but only if you’re brave!).

Stay Updated

Get notified about new features and conference additions.

[VDT19] Design and Effectiveness of Internal DSLs in Scala by Andrea Mocci by Andrea Mocci | conf.directory | conf.directory