never executed always true always false
    1 module HelVM.HelMA.Automata.Piet.Evaluator (
    2   runRio,
    3   run,
    4   simpleEval,
    5 ) where
    6 
    7 import           HelVM.HelMA.Automata.Piet.Automaton
    8 import           HelVM.HelMA.Automata.Piet.Compiler
    9 import           HelVM.HelMA.Automata.Piet.Parser
   10 
   11 import           HelVM.HelMA.Automata.Piet.API.LexerType
   12 
   13 import qualified HelVM.HelMA.Automaton.API.AppOptions    as App
   14 import           HelVM.HelMA.Automaton.API.Env
   15 
   16 import           HelVM.HelMA.Automaton.Eff.MonadEff
   17 
   18 import           HelVM.HelMA.Automaton.Extra
   19 
   20 import qualified Codec.Picture                           as Picture
   21 
   22 import qualified RIO
   23 
   24 runRio :: Has env => Maybe LexerType -> Maybe Natural -> RIO.RIO env ()
   25 runRio  _ codelInfo = runWithOptions =<< optionsRio where
   26   runWithOptions o = run codelInfo =<< readImageRio (App.file o)
   27 
   28 run :: Has env =>  Maybe Natural -> Picture.DynamicImage -> RIO.RIO env ()
   29 run cl i = runAsRIO $ simpleEval cl i
   30 
   31 simpleEval :: AppEff m => Maybe Natural -> Picture.DynamicImage -> m ()
   32 simpleEval codelInfo dynamicImage = (interpret . compile) $ processImage codelInfo dynamicImage