diff --git a/src/Semantic/Task.hs b/src/Semantic/Task.hs index d32f37142..20c3c8a5f 100644 --- a/src/Semantic/Task.hs +++ b/src/Semantic/Task.hs @@ -2,6 +2,7 @@ module Semantic.Task ( Task , RAlgebra +, Message(..) , Differ , readBlobs , readBlobPairs @@ -44,6 +45,13 @@ data TaskF output where -- | A high-level task producing some result, e.g. parsing, diffing, rendering. 'Task's can also specify explicit concurrency via 'distribute', 'distributeFor', and 'distributeFoldMap' type Task = Freer TaskF +-- | A log message at a specific level. +data Message + = Error ByteString + | Warning ByteString + | Debug ByteString + deriving (Eq, Show) + -- | A function to compute the 'Diff' for a pair of 'Term's with arbitrary syntax functor & annotation types. type Differ f a = Both (Term f a) -> Diff f a