Writing plugins for the Kotlin compiler can be a really tedious task given the current state of the compiler API. Compiler hooks are not as solid as they could be yet, so wiring our own compile time behaviors rapidly becomes a big pain. In this course, we will teach you how to use the power of Arrow-Meta and the DSL it brings to write your own compiler plugins. You will also learn about some key features the Arrow library provides thanks to Arrow-Meta.
- Previous experience with Kotlin.
- IntellIJ IDEA, JDK 8.
What you'll learn
- Overview of the Kotlin compiler phases, what can we build with Meta.
- How meta hooks its DSL so we can extend any of the phases.
- Code generation and Kotlin AST rewriting.
- The upcoming new compiler IR.
- Compiler plugins & Ide plugins. Making both work together.
- Enabling new syntax with Meta.
- Building Ide features for compiler plugins.
- Features Arrow-Meta enables like Union and Refined types, compile time dependency resolution, and more.
- Quote system.
- Writing tests for your plugins.
- Utilize the seamless interoperability in Meta for Cli and Ide features alike. Simplifying, porting code or algorithms in your projects.
- Reuse or Refine existing community plugins build with Meta for your use-cases.