never executed always true always false
    1 module HelVM.HelMA.Automata.Cat.Evaluator
    2   ( eval
    3   , evalParams
    4   , run
    5   , runRio
    6   ) where
    7 
    8 import qualified HelVM.HelMA.Automaton.API.AppOptions as App
    9 import           HelVM.HelMA.Automaton.API.Emit
   10 import           HelVM.HelMA.Automaton.API.Env
   11 import           HelVM.HelMA.Automaton.API.EvalParams
   12 import           HelVM.HelMA.Automaton.API.IOTypes
   13 import           HelVM.HelMA.Automaton.Eff.MonadEff
   14 import           HelVM.HelMA.Automaton.Extra
   15 
   16 import qualified RIO
   17 
   18 runRio ∷ Has env ⇒ RIO.RIO env ()
   19 runRio = runWithOptions =<< optionsRio where
   20   runWithOptions o =  run (App.emit o) . App.evalParams o =<< readSourceFileRio
   21 
   22 run ∷ Has env ⇒ Emit → EvalParams → RIO.RIO env ()
   23 run No = runAsRIO . evalParams
   24 run _  = fallback
   25 
   26 evalParams ∷ AppSafeEff m ⇒ EvalParams → m ()
   27 evalParams = eval . source
   28 
   29 eval ∷ MonadEff m ⇒ Source → m ()
   30 eval = putLine