Go to the source code of this file.
Classes | |
| class | mim::Prod |
| Base class for Sigma and Tuple. More... | |
| class | mim::Sigma |
| A dependent tuple type. More... | |
| class | mim::Tuple |
| Data constructor for a Sigma. More... | |
| class | mim::Sieve |
| Filters the components of an aggregate and keeps track of where the survivors end up. More... | |
| class | mim::Shape |
| The extents of a Seq's axes: a plain Nat for a single axis, an aggregate of them for several. More... | |
| class | mim::Seq |
| Base class for Arr and Pack. More... | |
| class | mim::Arr |
| A (possibly paramterized) Array. More... | |
| class | mim::Pack |
| A (possibly paramterized) Tuple. More... | |
| class | mim::Extract |
| Extracts from a Sigma or Array-typed Extract::tuple the element at position Extract::index. More... | |
| class | mim::Insert |
| Creates a new Tuple / Pack by inserting Insert::value at position Insert::index into Insert::tuple. More... | |
| class | mim::Switch |
| Matches a jump table (target_0, target_1, ...)#index where index is a non-Literal Idx n and n the arity. More... | |
| class | mim::Select |
| Matches (ff, tt)#cond - where cond is a Bool but not a Literal. More... | |
| class | mim::Branch |
| Matches (ff, tt)#cond arg where cond is not a Literal. More... | |
| class | mim::Dispatch |
| Matches (target_0, target_1, ...)#index arg. More... | |
Namespaces | |
| namespace | mim |
Functions | |
Helpers to work with Tuples/Sigmas/Arrays/Packs | |
| bool | mim::is_unit (const Def *) |
| std::string | mim::tuple2str (const Def *) |
| const Def * | mim::tuple_of_types (const Def *t) |