language-pts-0: Pure Type Systems

Safe HaskellSafe
LanguageHaskell2010

Language.PTS.Sym

Synopsis

Documentation

newtype Sym Source #

Symbols.

Constructors

Sym Text 
Instances
Eq Sym Source # 
Instance details

Defined in Language.PTS.Sym

Methods

(==) :: Sym -> Sym -> Bool Source #

(/=) :: Sym -> Sym -> Bool Source #

Ord Sym Source # 
Instance details

Defined in Language.PTS.Sym

Methods

compare :: Sym -> Sym -> Ordering Source #

(<) :: Sym -> Sym -> Bool Source #

(<=) :: Sym -> Sym -> Bool Source #

(>) :: Sym -> Sym -> Bool Source #

(>=) :: Sym -> Sym -> Bool Source #

max :: Sym -> Sym -> Sym Source #

min :: Sym -> Sym -> Sym Source #

Show Sym Source # 
Instance details

Defined in Language.PTS.Sym

IsString Sym Source # 
Instance details

Defined in Language.PTS.Sym

PrettyPrec Sym Source #

Generates fresh names.

Uses pppMarkSym, see also pppFreshSym, and pppScopedSym.

>>> prettyPut $ ppp0 ("x" :: Sym)
x
>>> prettyPut $ ppp0 ("x2" :: Sym)
x₂
Instance details

Defined in Language.PTS.Pretty

Methods

ppp :: Prec -> Sym -> PrettyM Doc Source #

newtype IrrSym Source #

Irrelevant symbols. Are all equal.

>>> "a" == ("b" :: IrrSym)
True

Constructors

IrrSym Sym 
Instances
Eq IrrSym Source # 
Instance details

Defined in Language.PTS.Sym

Ord IrrSym Source # 
Instance details

Defined in Language.PTS.Sym

Show IrrSym Source # 
Instance details

Defined in Language.PTS.Sym

IsString IrrSym Source # 
Instance details

Defined in Language.PTS.Sym

PrettyPrec IrrSym Source # 
Instance details

Defined in Language.PTS.Pretty

Methods

ppp :: Prec -> IrrSym -> PrettyM Doc Source #

data IrrSym2 Source #

Two irrelevant symbols. Either one.

Essentially a Bool.

Constructors

IrrSym1 Sym 
IrrSym2 Sym 
Instances
Eq IrrSym2 Source # 
Instance details

Defined in Language.PTS.Sym

Show IrrSym2 Source # 
Instance details

Defined in Language.PTS.Sym

irrSym2fold :: a -> a -> IrrSym2 -> a Source #

data IrrSym3 Source #

Three irrelevant symbols.

Constructors

IrrSymI Sym 
IrrSymJ Sym 
IrrSymK Sym 
Instances
Eq IrrSym3 Source # 
Instance details

Defined in Language.PTS.Sym

Show IrrSym3 Source # 
Instance details

Defined in Language.PTS.Sym

irrSym3fold :: a -> a -> a -> IrrSym3 -> a Source #

data V3 a Source #

three of a kind

Constructors

V3 a a a 
Instances
Eq a => Eq (V3 a) Source # 
Instance details

Defined in Language.PTS.Sym

Methods

(==) :: V3 a -> V3 a -> Bool Source #

(/=) :: V3 a -> V3 a -> Bool Source #

Show a => Show (V3 a) Source # 
Instance details

Defined in Language.PTS.Sym

Methods

showsPrec :: Int -> V3 a -> ShowS Source #

show :: V3 a -> String Source #

showList :: [V3 a] -> ShowS Source #

>>> :set -XOverloadedStrings