Your Program as a Transpiler: Applying Compiler Design to Everyday Programming


Many languages “transpile” into other languages, but compilers are still often seen as arcane pieces of software that only a master of the dark arts could write. But at the end of the day, both are programs that translate code from a programming language to another.

So what does make a transpiler simple and a compiler hard?

What can we learn from these complex pieces of software?

And are they really that complex?

The lessons we can learn from language implementation design patterns are really within the reach of everyone; not only can they apply to daily programming problems, but they are also key to really understand the basis of exciting new technologies such as the GraalVM project and the Quarkus stack. In our experience on the Drools and jBPM projects, we have come across many opportunities to apply programming language development techniques to a broader context. In this talk, we will see some of these examples.

Design Patterns

Edoardo Vacchi

Red Hat

During my PhD, I researched language design and implementation at University of Milan. After three years at UniCredit's R&D dept, I have joined Red Hat's Middleware team, where I work on the Drools rule engine, the jBPM platform and the Kogito initiative.

Talks by tracksTalks by session typesList of SpeakersSchedule