curry-frontend-1.0.4: Compile the functional logic language Curry to several intermediate formats

Copyright(c) 2016 Finn Teegen
LicenseBSD-3-clause
Maintainerbjp@informatik.uni-kiel.de
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Base.TypeExpansion

Description

This module implements expansion of alias types in types and predicates.

Documentation

expandType :: ModuleIdent -> TCEnv -> Type -> Type Source #

expandType' :: ModuleIdent -> TCEnv -> Type -> [Type] -> Type Source #

expandPred :: ModuleIdent -> TCEnv -> Pred -> Pred Source #

expandPredSet :: ModuleIdent -> TCEnv -> ClassEnv -> PredSet -> PredSet Source #

expandMonoType :: ModuleIdent -> TCEnv -> [Ident] -> TypeExpr -> Type Source #

expandPolyType :: ModuleIdent -> TCEnv -> ClassEnv -> QualTypeExpr -> PredType Source #

expandConstrType :: ModuleIdent -> TCEnv -> ClassEnv -> QualIdent -> [Ident] -> Context -> [TypeExpr] -> PredType Source #

expandMethodType :: ModuleIdent -> TCEnv -> ClassEnv -> QualIdent -> Ident -> QualTypeExpr -> PredType Source #