1
1
mirror of https://github.com/anoma/juvix.git synced 2024-12-15 10:03:22 +03:00
juvix/app/Commands/Dev/Core.hs

24 lines
850 B
Haskell
Raw Normal View History

module Commands.Dev.Core where
2022-09-14 17:16:15 +03:00
import Commands.Base
import Commands.Dev.Core.Asm as Asm
import Commands.Dev.Core.Compile as Compile
2022-09-14 17:16:15 +03:00
import Commands.Dev.Core.Eval as Eval
import Commands.Dev.Core.FromConcrete as FromConcrete
import Commands.Dev.Core.Normalize as Normalize
2022-09-14 17:16:15 +03:00
import Commands.Dev.Core.Options
import Commands.Dev.Core.Read as Read
import Commands.Dev.Core.Repl as Repl
import Commands.Dev.Core.Strip as Strip
2022-09-14 17:16:15 +03:00
runCommand :: forall r. (Members '[Embed IO, App] r) => CoreCommand -> Sem r ()
2022-09-14 17:16:15 +03:00
runCommand = \case
Repl opts -> Repl.runCommand opts
Eval opts -> Eval.runCommand opts
Normalize opts -> Normalize.runCommand opts
2022-09-14 17:16:15 +03:00
Read opts -> Read.runCommand opts
FromConcrete opts -> FromConcrete.runCommand opts
Strip opts -> Strip.runCommand opts
CoreAsm opts -> Asm.runCommand opts
CoreCompile opts -> Compile.runCommand opts