-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Utilities for caching type families results. Sometimes complex type families take long time to compile, so it is proficient to cache them and use the final result without the need of re-computation. -- -- Utilities for caching type families results. Sometimes complex type -- families take long time to compile, so it is proficient to cache them -- and use the final result without the need of re-computation. @package type-cache @version 1.0 module Type.Cache.TH helperName :: Name -> Name targetName :: Name -> Maybe String -> Name cacheHelper :: Name -> Maybe String -> Q [Dec] cacheType :: Name -> Maybe String -> Q [Dec] assertTypesEq :: (Monad m, Typeable * a, Typeable * a1) => a -> a1 -> m [t] appsT :: Foldable t => Type -> t Type -> Type class HasName a name :: HasName a => Lens' a Name class MayHaveTyVarBndrs a tryTyVarBndrs :: MayHaveTyVarBndrs a => Lens' a (Maybe [TyVarBndr]) tyVarBndrs' :: MayHaveTyVarBndrs a => Lens' a [TyVarBndr] tyVarBndrs :: MayHaveTyVarBndrs a => Lens' a [TyVarBndr] fromMaybeLens :: a -> Lens' (Maybe a) a maybeToListLens :: Lens' (Maybe [a]) [a] fromMaybe :: t -> Maybe t -> t maybeToList :: Maybe [t] -> [t] capturable :: Name -> Name instance Type.Cache.TH.HasName Language.Haskell.TH.Syntax.TyVarBndr instance Type.Cache.TH.MayHaveTyVarBndrs Language.Haskell.TH.Syntax.Info instance Type.Cache.TH.MayHaveTyVarBndrs Language.Haskell.TH.Syntax.Type instance Type.Cache.TH.MayHaveTyVarBndrs Language.Haskell.TH.Syntax.Dec