mirror of
https://github.com/github/semantic.git
synced 2024-12-22 06:11:49 +03:00
Expand on the 📝 for eval to mention the open-recursive child term evaluator.
This commit is contained in:
parent
d2d37375b1
commit
be7295223f
@ -20,7 +20,7 @@ import Prelude hiding (fail)
|
||||
|
||||
-- | The 'Eval' class defines the necessary interface for a term to be evaluated. While a default definition of 'eval' is given, instances with computational content must implement 'eval' to perform their small-step operational semantics.
|
||||
class Monad m => Eval term v m constr where
|
||||
-- | Evaluate a term.
|
||||
-- | Evaluate a term using an open-recursive evaluator for any child terms.
|
||||
eval :: ((v -> m v) -> term -> m v) -> ((v -> m v) -> constr term -> m v)
|
||||
|
||||
default eval :: (MonadFail m, Show1 constr) => ((v -> m v) -> term -> m v) -> ((v -> m v) -> constr term -> m v)
|
||||
|
Loading…
Reference in New Issue
Block a user