diff --git a/src/Control/Abstract/Value.hs b/src/Control/Abstract/Value.hs index 3d880d4f6..1c5fffede 100644 --- a/src/Control/Abstract/Value.hs +++ b/src/Control/Abstract/Value.hs @@ -67,6 +67,9 @@ class (MonadAnalysis term value m, Show value) => MonadValue term value m where -- | Evaluate an application (like a function call). apply :: value -> [m value] -> m value + -- | Primitive looping combinator, approximately equivalent to 'fix'. This should be used in place of direct recursion, as it allows abstraction over recursion. + -- + -- The function argument takes an action which recurs through the loop. loop :: (m value -> m value) -> m value -- | Attempt to extract a 'Prelude.Bool' from a given value.