mirror of
https://github.com/anoma/juvix.git
synced 2024-12-21 22:01:41 +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>
32 lines
1.1 KiB
Haskell
32 lines
1.1 KiB
Haskell
module Commands.Dev
|
|
( module Commands.Dev,
|
|
module Commands.Dev.Options,
|
|
)
|
|
where
|
|
|
|
import Commands.Base
|
|
import Commands.Dev.Asm qualified as Asm
|
|
import Commands.Dev.Core qualified as Core
|
|
import Commands.Dev.DisplayRoot qualified as DisplayRoot
|
|
import Commands.Dev.Geb qualified as Geb
|
|
import Commands.Dev.Highlight qualified as Highlight
|
|
import Commands.Dev.Internal qualified as Internal
|
|
import Commands.Dev.Options
|
|
import Commands.Dev.Parse qualified as Parse
|
|
import Commands.Dev.Runtime qualified as Runtime
|
|
import Commands.Dev.Scope qualified as Scope
|
|
import Commands.Dev.Termination qualified as Termination
|
|
|
|
runCommand :: (Members '[Embed IO, App] r) => DevCommand -> Sem r ()
|
|
runCommand = \case
|
|
Highlight opts -> Highlight.runCommand opts
|
|
Parse opts -> Parse.runCommand opts
|
|
Scope opts -> Scope.runCommand opts
|
|
Internal opts -> Internal.runCommand opts
|
|
Termination opts -> Termination.runCommand opts
|
|
Core opts -> Core.runCommand opts
|
|
Geb opts -> Geb.runCommand opts
|
|
Asm opts -> Asm.runCommand opts
|
|
Runtime opts -> Runtime.runCommand opts
|
|
DisplayRoot opts -> DisplayRoot.runCommand opts
|