mirror of
https://github.com/anoma/juvix.git
synced 2024-12-29 18:43:42 +03:00
97030f8cb4
- ⚠️ Depends on #2644 The `effectful` library does not support the `Embed` effect out of the box. However, it offers `IOE`, which is equivalent to `Embed IO` from polysemy. In preparation to a possible migration to `effectful`, this pr hides the general `Embed` effect from the prelude and it exports a specialized `EmbedIO` in its place.
24 lines
861 B
Haskell
24 lines
861 B
Haskell
module Commands.Dev.Core where
|
|
|
|
import Commands.Base
|
|
import Commands.Dev.Core.Asm as Asm
|
|
import Commands.Dev.Core.Compile as Compile
|
|
import Commands.Dev.Core.Eval as Eval
|
|
import Commands.Dev.Core.FromConcrete as FromConcrete
|
|
import Commands.Dev.Core.Normalize as Normalize
|
|
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
|
|
|
|
runCommand :: forall r. (Members '[EmbedIO, App, TaggedLock] r) => CoreCommand -> Sem r ()
|
|
runCommand = \case
|
|
Repl opts -> Repl.runCommand opts
|
|
Eval opts -> Eval.runCommand opts
|
|
Normalize opts -> Normalize.runCommand opts
|
|
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
|