1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-03 09:41:10 +03:00
juvix/tests
Łukasz Czajka ff940b427e
Local pragmas improvements (#2236)
* 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`.
2023-06-30 16:59:29 +02:00
..
Asm New compilation pipeline (#1832) 2023-03-14 16:24:07 +01:00
benchmark Fix runtime C maybe benchmark example (#2195) 2023-06-16 09:54:13 +01:00
Compilation Local pragmas improvements (#2236) 2023-06-30 16:59:29 +02:00
Core Fold lets when the bound variable occurs at most once (#2231) 2023-06-29 13:02:10 +02:00
examplesExpected Add a test suite for milestone examples (#1920) 2023-03-24 13:16:26 +00:00
Geb/positive VampIR integration (#2103) 2023-05-22 20:18:18 +02:00
Internal Fix reachability analysis with imports in unreachable nested modules (#2062) 2023-05-12 09:53:30 +01:00
negative Iterator syntax (#2126) 2023-05-30 15:30:11 +02:00
positive Store source location of (almost) everything (#2174) 2023-06-07 19:57:51 +02:00
runtime/positive Respect fixity in runtime printer (#2182) 2023-06-07 11:44:41 +02:00
smoke/Commands Bump version to 0.4.1 and update CHANGELOG (#2225) 2023-06-23 12:39:27 +01:00
VampIR The public pragma (#2223) 2023-06-22 18:31:53 +02:00
.gitattributes Juvix C runtime (#1580) 2022-11-03 09:38:09 +01:00