module ProjectM36.TypeConstructorDef where
import ProjectM36.Base

name :: TypeConstructorDef -> TypeConstructorName
name :: TypeConstructorDef -> TypeConstructorName
name (ADTypeConstructorDef TypeConstructorName
nam [TypeConstructorName]
_) = TypeConstructorName
nam
name (PrimitiveTypeConstructorDef TypeConstructorName
nam AtomType
_) = TypeConstructorName
nam

typeVars :: TypeConstructorDef -> [TypeVarName]
typeVars :: TypeConstructorDef -> [TypeConstructorName]
typeVars (PrimitiveTypeConstructorDef TypeConstructorName
_ AtomType
_) = []                      
typeVars (ADTypeConstructorDef TypeConstructorName
_ [TypeConstructorName]
args) = [TypeConstructorName]
args