idris-1.0: Functional Programming Language with Dependent Types

CopyrightLicense : BSD3
MaintainerThe Idris Community.
Safe HaskellNone
LanguageHaskell98

Idris.Delaborate

Description

 

Synopsis

Documentation

delab :: IState -> Term -> PTerm Source #

Delaborate a term without resugaring

delabDirect :: IState -> Term -> PTerm Source #

Delaborate a term directly, leaving case applications as they are. We need this for interactive case splitting, where we need access to the underlying function in a delaborated form, to generate the right patterns

delabSugared :: IState -> Term -> PTerm Source #

Delaborate and resugar a term

delabTy' Source #

Arguments

:: IState 
-> [PArg]

implicit arguments to type, if any

-> [(Name, Type)]

Names and types in environment (for properly hiding scoped implicits)

-> Term 
-> Bool

use full names

-> Bool

Don't treat metavariables specially

-> Bool

resugar cases

-> PTerm 

fancifyAnnots :: IState -> Bool -> OutputAnnotation -> OutputAnnotation Source #

Add extra metadata to an output annotation, optionally marking metavariables.

pprintDelab :: IState -> Term -> Doc OutputAnnotation Source #

Pretty-print a core term using delaboration

pprintDelabTy :: IState -> Name -> Doc OutputAnnotation Source #

Pretty-print the type of some name

resugar :: IState -> PTerm -> PTerm Source #

Re-add syntactic sugar in a term