1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-14 08:27:03 +03:00
juvix/app
Jan Mas Rovira a05586e44f
Interleave arity and typechecking (#2481)
- Closes #2362 

This pr implements a new typechecking algorithm. This algorithm can be
activated using the global flag `--new-typechecker`. This flag will only
take effect on the compilation pipeline but not the repl.

The main difference between the new and old algorithm is that the new
one inserts holes during typechecking. Thus, it does not require the
arity checker pass.

The new algorithm does not yet implement default arguments. The plan is
to make the change in the following steps:
1. Merge this pr.
2. Merge #2506.
3. Implement default arguments for the new algorithm.
4. Remove the arity checker and the old algorithm.

---------

Co-authored-by: Łukasz Czajka <62751+lukaszcz@users.noreply.github.com>
2023-11-12 16:23:33 +01:00
..
Commands Add support for Literate Juvix Markdown (#2448) 2023-11-10 13:55:36 +01:00
TopCommand Add support for Literate Juvix Markdown (#2448) 2023-11-10 13:55:36 +01:00
App.hs Migrate all Juvix projects from juvix.yaml to Package.juvix in the repository (#2503) 2023-11-07 18:11:02 +00:00
AsmInterpreter.hs Refactor Core datastructures (#1975) 2023-04-04 18:58:05 +02:00
CommonOptions.hs Add FileExt type (#2467) 2023-10-25 12:02:12 +02:00
Evaluator.hs Use a Juvix source file to define a package (#2434) 2023-10-27 12:35:20 +01:00
GlobalOptions.hs Interleave arity and typechecking (#2481) 2023-11-12 16:23:33 +01:00
Main.hs Rename Roots type to Root (#2480) 2023-10-30 14:05:52 +01:00
TopCommand.hs Add support for Literate Juvix Markdown (#2448) 2023-11-10 13:55:36 +01:00