Developer Overview

Here I will try to explain how the library works for the curious or any would-be contributors.

The library uses a LoopSet object to model loops. The key components of the library can be divided into:

  1. Defining the LoopSet objects.
  2. Constructing the LoopSet objects.
  3. Determining the strategy of how to evaluate loops.
  4. Lowering the loopset object into a Julia Expr following a strategy.