1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-13 11:16:48 +03:00
juvix/test
Jan Mas Rovira d6c1a74cec
Improve inference for --new-typechecker (#2524)
This pr applies a number of fixes to the new typechecker.
The fixes implemented are:
1. When guessing the arity of the body, we properly use the type
information of the variables in the patterns.
2. When generating wildcards, we name them properly so that they align
with the name in the type signature.
3. When compiling named applications, we inline all clauses of the form
`fun : _ := body`. This is a workaround to
https://github.com/anoma/juvix/issues/2247 and
https://github.com/anoma/juvix/issues/2517
4. I've had to ignore test027 (Church numerals). While the typechecker
passes and one can see that the types are correct, there is a lambda
where its clauses have different number of patterns. Our goal is to
support that in the near future
(https://github.com/anoma/juvix/issues/1706). This is the conflicting
lambda:
    ```
    mutual num : Nat → Num
      := λ : Nat → Num {| (zero : Nat) := czero
      | ((suc n : Nat)) {A} := csuc (num n) {A}}
    ```
5. I've added non-trivial a compilation test involving monad
transformers.
2023-11-28 16:43:14 +01:00
..
Arity Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Asm Constant folding (#2450) 2023-10-20 12:03:56 +02:00
BackendGeb Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
BackendMarkdown Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Compilation Improve inference for --new-typechecker (#2524) 2023-11-28 16:43:14 +01:00
Core Use a Juvix source file to define a package (#2434) 2023-10-27 12:35:20 +01:00
Examples Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Formatter Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Internal Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Package Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Parsing Fix #2510 (#2512) 2023-11-17 16:10:38 +01:00
Reachability Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Runtime Constant folding (#2450) 2023-10-20 12:03:56 +02:00
Scope Update the Juvix lock file when the Package file changes (#2522) 2023-11-22 23:21:29 +01:00
Termination Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Typecheck Improve inference for --new-typechecker (#2524) 2023-11-28 16:43:14 +01:00
VampIR Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Arity.hs Support implicit arguments (#144) 2022-06-13 14:25:22 +02:00
Asm.hs Translation from JuvixAsm to C (#1619) 2022-12-06 11:33:20 +01:00
BackendGeb.hs End-to-end Geb compilation tests (#1942) 2023-03-29 14:02:40 +02:00
BackendMarkdown.hs Add MarkdownInfo entry in Module Concrete Decl and proper errors (#2515) 2023-11-16 11:20:34 +01:00
Base.hs Rename Roots type to Root (#2480) 2023-10-30 14:05:52 +01:00
Compilation.hs Improve inference for --new-typechecker (#2524) 2023-11-28 16:43:14 +01:00
Core.hs Implement core transformation let-hoisting (#2076) 2023-05-16 13:42:44 +02:00
Examples.hs Add a test suite for milestone examples (#1920) 2023-03-24 13:16:26 +00:00
Format.hs Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Formatter.hs Add juvix format command (#1886) 2023-03-29 15:51:04 +02:00
Internal.hs Add translation from Internal to Core (#1567) 2022-11-07 14:47:56 +01:00
Main.hs Run test suite in parallel (#2507) 2023-11-16 16:19:52 +01:00
Package.hs Use JuvixError instead of Text for errors in Package file loading (#2459) 2023-10-23 19:01:36 +01:00
Parsing.hs Disallow tab characters as spaces (#1523) 2022-09-07 13:59:41 +02:00
Reachability.hs Compute name dependency graph and filter unreachable definitions (#1408) 2022-07-25 18:38:44 +02:00
Runtime.hs Juvix C runtime (#1580) 2022-11-03 09:38:09 +01:00
Scope.hs [ CI ] New jobs: ormolu and hlint 2022-04-05 19:57:21 +02:00
Termination.hs Add the termination checker to the pipeline (#111) 2022-05-30 13:40:52 +02:00
Typecheck.hs Interleave arity and typechecking (#2481) 2023-11-12 16:23:33 +01:00
VampIR.hs Check valid argument names in YAML (#2193) 2023-06-15 16:42:58 +02:00