never executed always true always false
    1 module HelVM.HelMA.Automata.Cat.Evaluator (
    2   runRio,
    3   run,
    4   evalParams,
    5   eval
    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 :: AppEff m => EvalParams -> m ()
   27 evalParams = eval . source
   28 
   29 eval :: MonadEff m => Source -> m ()
   30 eval = putLine