ddc-core-0.4.3.1: Disciplined Disciple Compiler core language and type checker.

Safe HaskellSafe
LanguageHaskell98

DDC.Type.Exp.TyCon

Synopsis

Documentation

data SoCon Source #

Sort constructor.

Constructors

SoConProp

Sort of witness kinds.

SoConComp

Sort of computation kinds.

Instances

Eq SoCon Source # 

Methods

(==) :: SoCon -> SoCon -> Bool #

(/=) :: SoCon -> SoCon -> Bool #

Ord SoCon Source # 

Methods

compare :: SoCon -> SoCon -> Ordering #

(<) :: SoCon -> SoCon -> Bool #

(<=) :: SoCon -> SoCon -> Bool #

(>) :: SoCon -> SoCon -> Bool #

(>=) :: SoCon -> SoCon -> Bool #

max :: SoCon -> SoCon -> SoCon #

min :: SoCon -> SoCon -> SoCon #

Show SoCon Source # 

Methods

showsPrec :: Int -> SoCon -> ShowS #

show :: SoCon -> String #

showList :: [SoCon] -> ShowS #

data KiCon Source #

Kind constructor.

Constructors

KiConFun

Function kind constructor. This is only well formed when it is fully applied.

KiConWitness

Kind of witnesses.

KiConData

Kind of data values.

KiConRegion

Kind of regions.

KiConEffect

Kind of effects.

KiConClosure

Kind of closures.

Instances

Eq KiCon Source # 

Methods

(==) :: KiCon -> KiCon -> Bool #

(/=) :: KiCon -> KiCon -> Bool #

Ord KiCon Source # 

Methods

compare :: KiCon -> KiCon -> Ordering #

(<) :: KiCon -> KiCon -> Bool #

(<=) :: KiCon -> KiCon -> Bool #

(>) :: KiCon -> KiCon -> Bool #

(>=) :: KiCon -> KiCon -> Bool #

max :: KiCon -> KiCon -> KiCon #

min :: KiCon -> KiCon -> KiCon #

Show KiCon Source # 

Methods

showsPrec :: Int -> KiCon -> ShowS #

show :: KiCon -> String #

showList :: [KiCon] -> ShowS #

data TwCon Source #

Witness type constructors.

Constructors

TwConImpl 
TwConPure

Purity of some effect.

TwConConst

Constancy of some region.

TwConDeepConst

Constancy of material regions in some type

TwConMutable

Mutability of some region.

TwConDeepMutable

Mutability of material regions in some type.

TwConDistinct Int

Distinctness of some n regions

TwConDisjoint

Non-interfering effects are disjoint. Used for rewrite rules.

Instances

Eq TwCon Source # 

Methods

(==) :: TwCon -> TwCon -> Bool #

(/=) :: TwCon -> TwCon -> Bool #

Ord TwCon Source # 

Methods

compare :: TwCon -> TwCon -> Ordering #

(<) :: TwCon -> TwCon -> Bool #

(<=) :: TwCon -> TwCon -> Bool #

(>) :: TwCon -> TwCon -> Bool #

(>=) :: TwCon -> TwCon -> Bool #

max :: TwCon -> TwCon -> TwCon #

min :: TwCon -> TwCon -> TwCon #

Show TwCon Source # 

Methods

showsPrec :: Int -> TwCon -> ShowS #

show :: TwCon -> String #

showList :: [TwCon] -> ShowS #

data TcCon Source #

Other constructors at the spec level.

Constructors

TcConUnit

The unit data type constructor is baked in.

TcConFun

Pure function.

TcConSusp

A suspended computation.

TcConRead

Read of some region.

TcConHeadRead

Read the head region in a data type.

TcConDeepRead

Read of all material regions in a data type.

TcConWrite

Write of some region.

TcConDeepWrite

Write to all material regions in some data type.

TcConAlloc

Allocation into some region.

TcConDeepAlloc

Allocation into all material regions in some data type.

Instances

Eq TcCon Source # 

Methods

(==) :: TcCon -> TcCon -> Bool #

(/=) :: TcCon -> TcCon -> Bool #

Ord TcCon Source # 

Methods

compare :: TcCon -> TcCon -> Ordering #

(<) :: TcCon -> TcCon -> Bool #

(<=) :: TcCon -> TcCon -> Bool #

(>) :: TcCon -> TcCon -> Bool #

(>=) :: TcCon -> TcCon -> Bool #

max :: TcCon -> TcCon -> TcCon #

min :: TcCon -> TcCon -> TcCon #

Show TcCon Source # 

Methods

showsPrec :: Int -> TcCon -> ShowS #

show :: TcCon -> String #

showList :: [TcCon] -> ShowS #