unison-parser-typechecker-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.PatternMatchCoverage.Class

Synopsis

Documentation

class (Ord loc, Var vt, Var v, MonadFix m) => Pmc vt v loc m | m -> vt v loc where Source #

A typeclass for the queries required to perform pattern match coverage checking.

Methods

getConstructors :: Type vt loc -> m (EnumeratedConstructors vt v loc) Source #

Get the constructors of a type

getConstructorVarTypes :: Type vt loc -> ConstructorReference -> m [Type vt loc] Source #

Get the types of the arguments of a specific constructor

fresh :: m v Source #

Get a fresh variable

getPrettyPrintEnv :: m PrettyPrintEnv Source #

data EnumeratedConstructors vt v loc Source #

Instances

Instances details
(Show v, Show vt) => Show (EnumeratedConstructors vt v loc) Source # 
Instance details

Defined in Unison.PatternMatchCoverage.Class