Skip to content

Warning

This page is under construction. The content may be incomplete or incorrect. Submit an issue on GitHub if you need help or want to contribute.

Compiler 101 for scientists

In this section, we cover some common compiler concepts that are useful to know when working with Kirin.

Static Single Assignment (SSA) Form

Kirin IR is in Static Single Assignment (SSA) form. This means that each variable is assigned exactly once. This makes it easier to reason about the program and allows for more aggressive optimizations.

What is purity?

A function is said to be pure if it has no side effects. In other word, a pure function is a function that only depends on its input arguments and produces a result. This means that the function does not modify any state outside of its scope. This is useful because it allows the compiler to optimize the function more aggressively.