Classes | |
| class | Conv |
| Full CPS conversion in one recursive rewrite. More... | |
Enumerations | |
%cps.cps2ds_dep | |
| enum class | cps2ds_dep : flags_t |
%cps.cps2ds | |
| enum class | cps2ds : flags_t |
%cps.conv | |
| enum class | conv : flags_t |
Functions | |
| static bool | convertible (Lam *lam) |
| A term-level, direct-style function that we can and want to convert. | |
cps.cps2ds_dep | |
let k: Cn [t: T, Cn U t] = ...;
let f: [t: T] → U = cps.cps2ds_dep (lm (t': T): * = [t → t']U) k;
| |
| const Def * | op_cps2ds_dep (const Def *k) |
Variables | |
| static constexpr plugin_t | Plugin_Id = 0x1115000000000000 |
|
strong |
|
strong |
|
strong |
|
static |
A term-level, direct-style function that we can and want to convert.
Type-level and higher-order functions stay in direct style.
Definition at line 9 of file conv.cpp.
References mim::Lam::codom(), convertible(), mim::Def::is_annex(), mim::Def::is_external(), mim::Def::is_set(), and mim::Lam::isa_cn().
Referenced by convertible(), and mim::plug::cps::Conv::rewrite_mut_Lam().
Definition at line 16 of file cps.h.
References mim::Pi::dom(), mim::Pi::isa_cn(), op_cps2ds_dep(), mim::Def::type(), mim::VarRewriter::VarRewriter(), and mim::Def::world().
Referenced by mim::plug::autodiff::phase::Eval::augment_app(), mim::plug::autodiff::phase::Eval::augment_pack(), and op_cps2ds_dep().