diff --git a/src/Semantic/Parse.hs b/src/Semantic/Parse.hs index 3e831d9ab..768112e4f 100644 --- a/src/Semantic/Parse.hs +++ b/src/Semantic/Parse.hs @@ -3,6 +3,7 @@ module Semantic.Parse ( Parse(..) ) where +import Control.Effect.Carrier import Data.Blob import Parsing.Parser @@ -10,3 +11,6 @@ data Parse m k = forall term . Parse (Parser term) Blob (term -> m k) deriving instance Functor m => Functor (Parse m) + +instance HFunctor Parse where + hmap f (Parse parser blob k) = Parse parser blob (f . k)