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

Safe HaskellNone

DDC.Core.Parser

Contents

Description

Core language parser.

Synopsis

Documentation

type Parser n a = Parser (Tok n) aSource

A parser of core language tokens.

Modules

pModule :: (Ord n, Pretty n) => Parser n (Module () n)Source

Parse a core module.

Expressions

pExp :: Ord n => Parser n (Exp () n)Source

Parse a core language expression.

pExpApp :: Ord n => Parser n (Exp () n)Source

pExpAtom :: Ord n => Parser n (Exp () n)Source

Parse a variable, constructor or parenthesised expression.

Types

pType :: Ord n => Parser n (Type n)Source

Parse a type.

pTypeApp :: Ord n => Parser n (Type n)Source

Parse a type application.

pTypeAtom :: Ord n => Parser n (Type n)Source

Parse a variable, constructor or parenthesised type.

Witnesses

pWitness :: Ord n => Parser n (Witness n)Source

Parse a witness expression.

pWitnessApp :: Ord n => Parser n (Witness n)Source

Parse a witness application.

pWitnessAtom :: Ord n => Parser n (Witness n)Source

Parse a variable, constructor or parenthesised witness.

Constructors

pCon :: Parser n nSource

Parse a constructor name.

pLit :: Parser n nSource

Parse a literal

Variables

pBinder :: Ord n => Parser n (Binder n)Source

Parse a binder.

pIndex :: Parser n IntSource

Parse a deBruijn index

pVar :: Parser n nSource

Parse a variable.

pName :: Parser n nSource

Parse a constructor or variable name.

Raw Tokens

pTok :: TokAtom -> Parser n ()Source

Parse an atomic token.

pTokAs :: TokAtom -> a -> Parser n aSource

Parse an atomic token and return some value.