mirror of
https://github.com/anoma/juvix.git
synced 2024-12-03 09:41:10 +03:00
ff940b427e
* Fixes the indices in `inline` and `specialize` for local lambda-lifted identifiers. * Adds the `specialize-by` pragma which allows to specialize a local function by some of its free variables, or specialize arguments by name. For example: ``` funa : {A : Type} -> (A -> A) -> A -> A; funa {A} f a := let {-# specialize-by: [f] #-} go : Nat -> A; go zero := a; go (suc n) := f (go n); in go 10; ``` If `funa` is inlined, then `go` will be specialized by the actual argument substituted for `f`. |
||
---|---|---|
.. | ||
Asm | ||
benchmark | ||
Compilation | ||
Core | ||
examplesExpected | ||
Geb/positive | ||
Internal | ||
negative | ||
positive | ||
runtime/positive | ||
smoke/Commands | ||
VampIR | ||
.gitattributes |