Research

A particular focus of our work is the development of MimIR, an extensible intermediate representation designed to support research on expressive and adaptable compiler architectures.

MimIR is a pure, graph-based, higher-order intermediate representation rooted in the Calculus of Constructions. MimIR provides:

  • Dependent types, parametric polymorphism, and higher-order functions out of the box
  • Extensible plugins for domain-specific axioms, types, normalizers, and code generation
  • SSA without dominance: a scopeless IR for higher-order programs based on free-variable nesting
  • A sea-of-nodes style IR with on-the-fly normalization, type checking, and partial evaluation

MimIR is well suited for DSL compilers, tensor compilers, automatic differentiation, regex engines, and other systems that need high-performance code from high-level abstractions.