This talk will discuss tools.decompiler, a new library producing readable clojure code starting from plain old JVM bytecode. We’ll go over the design and implementation of the library, discussing the challenges faced along the way, including the different techniques used to parse and reverse engineer bytecode, implement macrocompaction, and work around Hotspost and Clojure bugs. Finally, we’ll show how this library can be used by tools to help users undertand cryptic stacktraces.
Nicola Mometto is a software developer with interests in functional programming, languages and compiler design. He’s the creator and maintainer of various clojure contrib libraries such as tools.reader and tools.analyzer, and a frequent contributor to Clojure.