groovy for domain-specific languages
TRANSCRIPT
![Page 1: Groovy for Domain-Specific Languages](https://reader035.vdocument.in/reader035/viewer/2022071815/55a93f7d1a28ab604e8b4578/html5/thumbnails/1.jpg)
Groovy for Domain-
Specific Languages
Yaroslav Yermilov
Senior Software Engineer, EPAM Systems
![Page 2: Groovy for Domain-Specific Languages](https://reader035.vdocument.in/reader035/viewer/2022071815/55a93f7d1a28ab604e8b4578/html5/thumbnails/2.jpg)
About DSL
A domain-specific language (DSL)
is a computer language specialized
to a particular application domain.
This is in contrast to a general-
purpose language (GPL), which is
broadly applicable across domains,
and lacks specialized features for a
particular domain.
![Page 3: Groovy for Domain-Specific Languages](https://reader035.vdocument.in/reader035/viewer/2022071815/55a93f7d1a28ab604e8b4578/html5/thumbnails/3.jpg)
Why DSL?
● The Open Closed Principle
● Help yourself
● Involve stakeholder
![Page 4: Groovy for Domain-Specific Languages](https://reader035.vdocument.in/reader035/viewer/2022071815/55a93f7d1a28ab604e8b4578/html5/thumbnails/4.jpg)
About Groovy
![Page 5: Groovy for Domain-Specific Languages](https://reader035.vdocument.in/reader035/viewer/2022071815/55a93f7d1a28ab604e8b4578/html5/thumbnails/5.jpg)
Why Groovy?
● JVM
● removing boilerplate
● closures
● operator overloading
● metaprogramming
● AST-transformations
● much more
![Page 6: Groovy for Domain-Specific Languages](https://reader035.vdocument.in/reader035/viewer/2022071815/55a93f7d1a28ab604e8b4578/html5/thumbnails/6.jpg)
https://github.com/yermilov/groovy-dsl
![Page 7: Groovy for Domain-Specific Languages](https://reader035.vdocument.in/reader035/viewer/2022071815/55a93f7d1a28ab604e8b4578/html5/thumbnails/7.jpg)
Further reading