1
1
mirror of https://github.com/anoma/juvix.git synced 2025-01-01 12:06:57 +03:00
juvix/app/Commands/Dev/Core.hs

24 lines
861 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 '[EmbedIO, App, TaggedLock] 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