MiniAgda
Safe HaskellNone
LanguageHaskell98

Concrete

Synopsis

Documentation

data Name Source #

Concrete names.

Constructors

Name 

Fields

Instances

Instances details
Show Name Source # 
Instance details

Defined in Concrete

Methods

showsPrec :: Int -> Name -> ShowS #

show :: Name -> String #

showList :: [Name] -> ShowS #

Eq Name Source # 
Instance details

Defined in Concrete

Methods

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

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

Ord Name Source # 
Instance details

Defined in Concrete

Methods

compare :: Name -> Name -> Ordering #

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

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

(>) :: Name -> Name -> Bool #

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

max :: Name -> Name -> Name #

min :: Name -> Name -> Name #

data QName Source #

Possibly qualified names.

Constructors

Qual

X.x e.g. qualified constructor.

Fields

QName

x.

Fields

Instances

Instances details
Show QName Source # 
Instance details

Defined in Concrete

Methods

showsPrec :: Int -> QName -> ShowS #

show :: QName -> String #

showList :: [QName] -> ShowS #

Eq QName Source # 
Instance details

Defined in Concrete

Methods

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

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

Ord QName Source # 
Instance details

Defined in Concrete

Methods

compare :: QName -> QName -> Ordering #

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

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

(>) :: QName -> QName -> Bool #

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

max :: QName -> QName -> QName #

min :: QName -> QName -> QName #

data Expr Source #

Concrete expressions syntax.

Constructors

Set Expr

Universe Set e; Set for Set 0.

CoSet Expr 
Size

Size type of sizes.

Succ Expr

$e.

Zero

0.

Infty

#.

Max

max.

Plus Expr Expr

e + e'.

RApp Expr Expr

e |> f.

App Expr [Expr]

f e1 ... en or f <| e.

Lam Name Expr

x -> e.

Case Expr (Maybe Type) [Clause]

case e : A { cls }.

LLet LetDef Expr

let x = e in e' local let.

Quant PiSigma Telescope Expr

(x : A) -> B, [x : A] -> B, (x : A) & B.

Pair Expr Expr

e , e'.

Record [([Name], Expr)]

record { x = e, x' y = e' }.

Proj Name

.x.

Ident QName

x or D.c.

Unknown

_.

Sing Expr Expr

: A singleton type. | EBind TBind Expr -- ^ [x : A] B

Instances

Instances details
HasPred Expr Source # 
Instance details

Defined in Concrete

Show Expr Source # 
Instance details

Defined in Concrete

Methods

showsPrec :: Int -> Expr -> ShowS #

show :: Expr -> String #

showList :: [Expr] -> ShowS #

Eq Expr Source # 
Instance details

Defined in Concrete

Methods

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

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

data LetDef Source #

Instances

Instances details
Show LetDef Source # 
Instance details

Defined in Concrete

Eq LetDef Source # 
Instance details

Defined in Concrete

Methods

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

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

data TypeSig Source #

Constructors

TypeSig Name Type 

Instances

Instances details
Show TypeSig Source # 
Instance details

Defined in Concrete

Eq TypeSig Source # 
Instance details

Defined in Concrete

Methods

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

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

type Type = Expr Source #

data Constructor Source #

Constructors

Constructor 

Instances

Instances details
Show Constructor Source # 
Instance details

Defined in Concrete

Eq Constructor Source # 
Instance details

Defined in Concrete

data TBinding a Source #

Constructors

TBind 

Fields

TBounded 
TMeasure (Measure Expr) 
TBound (Bound Expr) 

Instances

Instances details
Show a => Show (TBinding a) Source # 
Instance details

Defined in Concrete

Methods

showsPrec :: Int -> TBinding a -> ShowS #

show :: TBinding a -> String #

showList :: [TBinding a] -> ShowS #

Eq a => Eq (TBinding a) Source # 
Instance details

Defined in Concrete

Methods

(==) :: TBinding a -> TBinding a -> Bool #

(/=) :: TBinding a -> TBinding a -> Bool #

data DefClause Source #

Constructors

DefClause Name [Elim] (Maybe Expr) 

Instances

Instances details
Show DefClause Source # 
Instance details

Defined in Concrete

Eq DefClause Source # 
Instance details

Defined in Concrete

data Elim Source #

Constructors

EApp Pattern 
EProj Name [Pattern] 

Instances

Instances details
Show Elim Source # 
Instance details

Defined in Concrete

Methods

showsPrec :: Int -> Elim -> ShowS #

show :: Elim -> String #

showList :: [Elim] -> ShowS #

Eq Elim Source # 
Instance details

Defined in Concrete

Methods

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

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

data Clause Source #

Constructors

Clause (Maybe Name) [Pattern] (Maybe Expr) 

Instances

Instances details
Show Clause Source # 
Instance details

Defined in Concrete

Eq Clause Source # 
Instance details

Defined in Concrete

Methods

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

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

data Pattern Source #

Constructors

ConP Bool QName [Pattern]

(c ps) if False; (.c ps) if True@.

PairP Pattern Pattern
(p, p')
SuccP Pattern
($ p)
DotP Expr
.e
IdentP QName

x or c or D.c.

SizeP Expr Name

(x > y) or y < # or ...

AbsurdP
()

Instances

Instances details
Show Pattern Source # 
Instance details

Defined in Concrete

Eq Pattern Source # 
Instance details

Defined in Concrete

Methods

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

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

patApp :: Pattern -> [Pattern] -> Pattern Source #

Used in Parser.

Pretty printing.