mirror of
https://github.com/anoma/juvix.git
synced 2024-12-12 14:28:08 +03:00
2d798ec31c
* Depends on PR #1824 * Closes #1556 * Closes #1825 * Closes #1843 * Closes #1729 * Closes #1596 * Closes #1343 * Closes #1382 * Closes #1867 * Closes #1876 * Changes the `juvix compile` command to use the new pipeline. * Removes the `juvix dev minic` command and the `BackendC` tests. * Adds the `juvix eval` command. * Fixes bugs in the Nat-to-integer conversion. * Fixes bugs in the Internal-to-Core and Core-to-Core.Stripped translations. * Fixes bugs in the RemoveTypeArgs transformation. * Fixes bugs in lambda-lifting (incorrect de Bruijn indices in the types of added binders). * Fixes several other bugs in the compilation pipeline. * Adds a separate EtaExpandApps transformation to avoid quadratic runtime in the Internal-to-Core translation due to repeated calls to etaExpandApps. * Changes Internal-to-Core to avoid generating matches on values which don't have an inductive type. --------- Co-authored-by: Paul Cadman <git@paulcadman.dev> Co-authored-by: janmasrovira <janmasrovira@gmail.com>
46 lines
927 B
Haskell
46 lines
927 B
Haskell
module Main (main) where
|
|
|
|
import Arity qualified
|
|
import Asm qualified
|
|
import BackendGeb qualified
|
|
import Base
|
|
import Compilation qualified
|
|
import Core qualified
|
|
import Format qualified
|
|
import Internal qualified
|
|
import Parsing qualified
|
|
import Reachability qualified
|
|
import Runtime qualified
|
|
import Scope qualified
|
|
import Termination qualified
|
|
import Typecheck qualified
|
|
|
|
slowTests :: TestTree
|
|
slowTests =
|
|
testGroup
|
|
"Juvix slow tests"
|
|
[ BackendGeb.allTests,
|
|
Runtime.allTests,
|
|
Asm.allTests,
|
|
Core.allTests,
|
|
Internal.allTests,
|
|
Compilation.allTests
|
|
]
|
|
|
|
fastTests :: TestTree
|
|
fastTests =
|
|
testGroup
|
|
"Juvix fast tests"
|
|
[ Parsing.allTests,
|
|
Scope.allTests,
|
|
Termination.allTests,
|
|
Arity.allTests,
|
|
Typecheck.allTests,
|
|
Reachability.allTests,
|
|
Format.allTests
|
|
]
|
|
|
|
main :: IO ()
|
|
main = do
|
|
defaultMain (testGroup "Juvix tests" [fastTests, slowTests])
|