Andres is a Java/Groovy developer and a Java Champion with more than 20 years of experience in software design and development. He has been involved in web and desktop application development since the early days of Java. Andres is a true believer in open source and has participated on popular projects like Groovy, Griffon, and DbUnit, as well as starting his own projects (Json-lib, EZMorph, GraphicsBuilder, JideBuilder). Founding member of the Griffon framework and Hackergarten community event. You can find him on twitter too as @aalmiray. He likes to spend time with his beloved wife, Ixchel, when not hacking around.
Deep Dive into Groovy AST TransformationsConference
Software usually offers DSLs as a customer facing solution when they let the user to be in charge of runtime behavior customizations. Running DSLs on a sandbox can be a hard task to take head on: restricting syntax elements; disallowing certain Java constructs (if the DSL happens to be a subset of the Java language), avoiding infinite loops or haning threads; the obstacles appear at every corner dependning how flexible the DSL should be. fortunately the Apache Groovy language offers a series of alternatives based on one of its core elements: the AST produced and consumed by the compiler.
AST transformations enable developers to enhance the Groovy programming language (or a Groovy based DSL for that matter) with features that do not require syntax nor grammar changes, yet they feel "native" to the piece of code/DSL at hand. Companion features such as the SecureASTCustomizer let you restrict or disable certain language features or even syntax tokens. come learn why leveraging Apache Groovy through its AST transformation framework could be the best thing for your next customer facing DSL.