diff --git a/pass/Traversal.hs b/pass/Traversal.hs index c5cddf1..f9fed94 100644 --- a/pass/Traversal.hs +++ b/pass/Traversal.hs @@ -33,17 +33,16 @@ import Pass -- | A transformation for a single 'Data' type with explicit descent. -- The first argument passed is a function that can be called to explicitly -- descend into a generic value. -type ExplicitTrans t = Data t => - (forall s. Data s => s -> PassM s) -> t -> PassM t +type ExplicitTrans t = (forall s. Data s => s -> PassM s) -> t -> PassM t -- | A transformation for a single 'Data' type with implicit descent. -- This can be applied recursively throughout a data structure. -type Transform t = Data t => t -> PassM t +type Transform t = t -> PassM t -- | A check for a single 'Data' type with implicit descent. -- This is like 'Transform', but it doesn't change the value; it may fail or -- modify the state, though. -type Check t = Data t => t -> PassM () +type Check t = t -> PassM () -- | Make an 'ExplicitTrans' that applies a 'Transform', recursing depth-first. transformToExplicitDepth :: Data t => Transform t -> ExplicitTrans t