Hets - the Heterogeneous Tool Set

Copyright(c) Christian Maeder and Uni Bremen 2007
LicenseGPLv2 or higher, see LICENSE.txt
MaintainerChristian.Maeder@dfki.de
Stabilityprovisional
Portabilityportable
Safe HaskellSafe-Inferred

HasCASL.FoldType

Description

folding types

Synopsis

Documentation

data FoldTypeRec a

Constructors

FoldTypeRec 

Fields

foldTypeName :: Type -> Id -> RawKind -> Int -> a
 
foldTypeAppl :: Type -> a -> a -> a
 
foldExpandedType :: Type -> a -> a -> a
 
foldTypeAbs :: Type -> TypeArg -> a -> Range -> a
 
foldKindedType :: Type -> a -> Set Kind -> Range -> a
 
foldTypeToken :: Type -> Token -> a
 
foldBracketType :: Type -> BracketKind -> [a] -> Range -> a
 
foldMixfixType :: Type -> [a] -> a
 

replAlias :: (Id -> RawKind -> Int -> Type) -> Type -> Type

recursively substitute type alias names within a type

leaves :: (Int -> Bool) -> Type -> [(Int, (Id, RawKind))]

the type name components of a type

freeTVars :: Type -> [(Int, (Id, RawKind))]

uninstantiate, non-generalized, unknown type variables