Agda-2.4.0.2: A dependently typed functional programming language and proof assistant

Safe HaskellNone
LanguageHaskell98

Agda.Syntax.Translation.ConcreteToAbstract

Description

Translation from Agda.Syntax.Concrete to Agda.Syntax.Abstract. Involves scope analysis, figuring out infix operator precedences and tidying up definitions.

Synopsis

Documentation

class ToAbstract concrete abstract | concrete -> abstract where Source

Things that can be translated to abstract syntax are instances of this class.

Methods

toAbstract :: concrete -> ScopeM abstract Source

localToAbstract :: ToAbstract c a => c -> (a -> ScopeM b) -> ScopeM b Source

This operation does not affect the scope, i.e. the original scope is restored upon completion.

newtype OldName Source

Constructors

OldName Name 

data TopLevel a Source

Temporary data type to scope check a file.

Constructors

TopLevel 

Fields

topLevelPath :: AbsolutePath

The file path from which we loaded this module.

topLevelTheThing :: a

The file content.

topLevelModuleName :: TopLevelInfo -> ModuleName Source

The top-level module name.