filepather-0.3.0: src/System/FilePath/FilePather/LiftI.hs
{-# LANGUAGE MultiParamTypeClasses, FunctionalDependencies #-}
module System.FilePath.FilePather.LiftI
(
LiftI(..)
) where
import System.FilePath.FilePather.RecursePredicate
import System.FilePath.FilePather.FilterPredicate
-- | A type-class for lifting a value.
-- This type-class probably belongs elsewhere (pointers appreciated!).
class LiftI f a | f -> a where
liftI ::
Monad g =>
g a
-> f g
instance LiftI RecursePredicateT Bool where
liftI =
recursePredicateT . const
instance LiftI FilterPredicateT Bool where
liftI =
filterPredicateT . const . const