derive-2.6.1: A program and library to derive instances for data types

Safe HaskellNone
LanguageHaskell2010

Language.Haskell

Documentation

(?) :: Bool -> a -> a -> a infix 1 #

foralls :: Type () -> Type () #

tyApps :: Type () -> [Type ()] -> Type () #

fromTyApps :: Type () -> (Type (), [Type ()]) #

fromTyTuple :: Type t -> [Type t] #

fromTyParen :: Type () -> Type () #

fromTyParens :: Type () -> Type () #

tyRoot :: Type () -> String #

isTyFun :: Type () -> Bool #

isTyParen :: Type t -> Bool #

fromTyList :: Type t -> Maybe (Type t) #

(~=) :: Pretty a => a -> String -> Bool #

appP :: Exp () -> Exp () -> Exp () #

simplify :: Data a => a -> a #

isGuardFalse :: Match t -> Bool #

rename :: QName () -> QName () #

isAtom :: Exp t -> Bool #

paren :: Exp () -> Exp () #

sl :: SrcLoc #

noSl :: Data from => from -> from #

isIdent :: [Char] -> Bool #

title :: [Char] -> [Char] #

qname :: String -> QName () #

var :: String -> Exp () #

con :: String -> Exp () #

tyVar :: String -> Type () #

tyVarBind :: String -> TyVarBind () #

tyCon :: String -> Type () #

pVar :: String -> Pat () #

qvop :: String -> QOp () #

dataDeclType :: DataDecl -> Type () #

type DataDecl = Decl () #

type CtorDecl = Either (QualConDecl ()) (GadtDecl ()) #

type FieldDecl = [(String, Type ())] #

type FullDataDecl = (ModuleName (), DataDecl) #

moduleName :: Module t -> ModuleName t #

moduleDecls :: Module t -> [Decl t] #

moduleImports :: Module t -> [ImportDecl t] #

modulePragmas :: Module t -> [ModulePragma t] #

showDecls :: Pretty a => [a] -> String #

tyApp :: Type () -> [Type ()] -> Type () #

tyFun :: [Type ()] -> Type () #

apps :: Exp () -> [Exp ()] -> Exp () #

bind :: String -> [Pat ()] -> Exp () -> Decl () #

binds :: String -> [([Pat ()], Exp ())] -> Decl () #

isDataDecl :: Decl () -> Bool #

fromDeclHead :: DeclHead a -> (Name a, [TyVarBind a]) #

fromIParen :: InstRule a -> InstRule a #

fromInstHead :: InstHead a -> (QName a, [Type a]) #

ctorDeclName' :: CtorDecl -> Name () #

declName :: Decl () -> String #