Meta programming, code generation, domain specific language content
Procedural macros are a way for you to extend the Rust complier and provide plugins
that you can use to extend the language. They allow you to reduce the need to write
manual boilerplate code, and even allow you to create your own DSL (domain specific
language). This article goes into the details of creating the 3 kinds of procedural
macros in Rust.
Advanced guide to creating JetBrains Platform plugins: VFS, PSI, Kotlin UI DSL, Dialog, Tool window, List,
Swing UI and layout managers, ConsoleView, LineMarker. This is a companion of the Introduction to creating IntelliJ
IDEA plugins tutorial.
Introduction to Kotlin Annotation Processing on Android and how to create a static index of generated classes and
interfaces (without using reflection or classgraphs)
This tutorial is an introduction to Kotlin internal DSLs using examples