Thorin 1.9.0
The Higher ORder INtermediate representation
|
Go to the source code of this file.
Classes | |
class | thorin::Pi |
A dependent function type. More... | |
class | thorin::Lam |
A function. More... | |
class | thorin::App |
Namespaces | |
namespace | thorin |
Typedefs | |
Lam | |
GIDSet / GIDMap keyed by Lam::gid of | |
template<class To > | |
using | thorin::LamMap = GIDMap< Lam *, To > |
using | thorin::LamSet = GIDSet< Lam * > |
using | thorin::Lam2Lam = LamMap< Lam * > |
Functions | |
Helpers to work with Functions | |
const App * | thorin::isa_callee (const Def *def, size_t i) |
Lam * | thorin::isa_workable (Lam *lam) |
These are Lams that are neither nullptr , nor Lam::is_external, nor Lam::is_unset. | |
std::pair< const App *, Lam * > | thorin::isa_apped_mut_lam (const Def *def) |
std::deque< const App * > | thorin::decurry (const Def *) |
Yields curried Apps in a flat std::deque<const App*> . | |
const Def * | thorin::compose_cn (const Def *f, const Def *g) |
The high level view is: | |
std::pair< const Def *, std::vector< const Def * > > | thorin::collect_args (const Def *def) |
Helper function to cope with the fact that normalizers take all arguments and not only its axiom arguments. | |