Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
class Monad m => MonadEval m where Source #
Monads which provide functionality to evaluate some Fortran type or value.
We abstract over the evaluation target type in order to reuse this for both value evaluation, and "type evaluation", since there is (a small amount of) overlap.
Instances of this class will have a way to access variables in the current
context (e.g. a Reader
over a Map
), and log warnings (e.g. a Writer
String
).
lookupFVar :: Name -> m (Maybe (EvalTo m)) Source #
warn :: String -> m () Source #
Arbitrarily record some user-facing information concerning evaluation.
For example, potentially useful when making defaulting decisions.
Instances
MonadEval EvalValueSimple Source # | |
Defined in Language.Fortran.Repr.Eval.Value type EvalTo EvalValueSimple Source # lookupFVar :: Name -> EvalValueSimple (Maybe (EvalTo EvalValueSimple)) Source # warn :: String -> EvalValueSimple () Source # |