disco-0.2: Functional programming language for teaching discrete math.
Copyrightdisco team and contributors
LicenseBSD-3-Clause
Maintainer[email protected]
Safe HaskellSafe-Inferred
LanguageHaskell2010

Disco.Typecheck.Constraints

Description

Constraints generated by type inference & checking.

Synopsis

Documentation

data Constraint where Source #

Constraints are generated as a result of type inference and checking. These constraints are accumulated during the inference and checking phase and are subsequently solved by the constraint solver.

Instances

Instances details
Monoid Constraint Source # 
Instance details

Defined in Disco.Typecheck.Constraints

Semigroup Constraint Source # 
Instance details

Defined in Disco.Typecheck.Constraints

Generic Constraint Source # 
Instance details

Defined in Disco.Typecheck.Constraints

Associated Types

type Rep Constraint :: Type -> Type #

Show Constraint Source # 
Instance details

Defined in Disco.Typecheck.Constraints

Pretty Constraint Source # 
Instance details

Defined in Disco.Typecheck.Constraints

Methods

pretty :: forall (r :: EffectRow) ann. Members '[Reader PA, LFresh] r => Constraint -> Sem r (Doc ann) Source #

Alpha Constraint Source # 
Instance details

Defined in Disco.Typecheck.Constraints

Subst Type Constraint Source # 
Instance details

Defined in Disco.Typecheck.Constraints

type Rep Constraint Source # 
Instance details

Defined in Disco.Typecheck.Constraints

type Rep Constraint = D1 ('MetaData "Constraint" "Disco.Typecheck.Constraints" "disco-0.2-Ic5OYLGQ1QL1sNsEHodldc" 'False) ((C1 ('MetaCons "CSub" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: (C1 ('MetaCons "CEq" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)) :+: C1 ('MetaCons "CQual" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Qualifier) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Type)))) :+: ((C1 ('MetaCons "CAnd" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty Constraint))) :+: C1 ('MetaCons "CTrue" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "COr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (NonEmpty Constraint))) :+: C1 ('MetaCons "CAll" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Bind [Name Type] Constraint))))))