free-compiler-0.3.0.0: A Haskell to Coq compiler.

Safe HaskellSafe
LanguageHaskell2010

FreeC.LiftedIR.Syntax.Name

Contents

Description

This module reexports the data types for names from FreeC.IR.Syntax.Name.

Synopsis

Documentation

data Name Source #

An identifier or a symbolic name.

The constructors of this type do not contain source spans because Names are intended to be comparable. They are used as keys to identify nodes of the dependency graph for example.

Constructors

Ident String

An identifier, e.g. Ident "f" for a function f.

Symbol String

A symbolic name, e.g. Symbol "+" for (+).

Instances
Eq Name Source # 
Instance details

Defined in FreeC.IR.Syntax.Name

Methods

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

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

Ord Name Source # 
Instance details

Defined in FreeC.IR.Syntax.Name

Show Name Source # 
Instance details

Defined in FreeC.IR.Syntax.Name

Pretty Name Source #

Pretty instance for identifiers and symbols.

Instance details

Defined in FreeC.IR.Syntax.Name

Methods

pretty :: Name -> Doc #

prettyList :: [Name] -> Doc #

Parseable Name Source #

Names can be parsed.

Instance details

Defined in FreeC.Frontend.IR.Parser

Methods

parseIR' :: Parser Name Source #

data QName Source #

A qualifiable Name.

Constructors

Qual ModName Name

A qualified Name.

UnQual Name

An unqualified Name.

Instances
Eq QName Source # 
Instance details

Defined in FreeC.IR.Syntax.Name

Methods

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

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

Ord QName Source # 
Instance details

Defined in FreeC.IR.Syntax.Name

Show QName Source # 
Instance details

Defined in FreeC.IR.Syntax.Name

Pretty QName Source #

Pretty instance for qualifiable identifiers and symbols.

Instance details

Defined in FreeC.IR.Syntax.Name

Methods

pretty :: QName -> Doc #

prettyList :: [QName] -> Doc #

FromJSON QName

All Haskell names in the interface file are qualified.

Instance details

Defined in FreeC.Environment.ModuleInterface.Decoder

Methods

parseJSON :: Value -> Parser QName

parseJSONList :: Value -> Parser [QName]

ToJSON QName 
Instance details

Defined in FreeC.Environment.ModuleInterface.Encoder

Methods

toJSON :: QName -> Value

toEncoding :: QName -> Encoding

toJSONList :: [QName] -> Value

toEncodingList :: [QName] -> Encoding

Parseable QName Source #

Qualifiable names can be parsed.

Instance details

Defined in FreeC.Frontend.IR.Parser

Methods

parseIR' :: Parser QName Source #

Value Level Names

type ConName = QName Source #

The name of a constructor used in prefix notation, e.g. (:) x xs.

type VarName = QName Source #

The name of a function or built-in operator used in prefix notation, e.g. f x y or (+) n m

Type Level Names

type TypeVarIdent = String Source #

The name of a type variable.

type TypeConName = QName Source #

The name of a type or type constructor, e.g. Integer or [] a