HORIZON HASKELLDocslts/ghc-9.10.xc74966e2026-09-27Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · c74966e · 2026-09-27

ModuleAgda-2.7.0.1Haskell2010

Agda.Syntax.Notation

As a concrete name, a notation is a non-empty list of alternating IdParts and holes. In contrast to concrete names, holes can be binders.

Example: syntax fmap (λ x → e) xs = for x ∈ xs return e

The declared notation for fmap is for_∈_return_ where the first hole is a binder.

  • 4 types
  • 15 values
  • PackageAgda-2.7.0.1
  • Exports19
  • LanguageHaskell2010
  • LicenceMIT
  • SourceNotation.hs
datadata NotationKind
#

Classification of notations.

Constructors

Instances6Eq, Show, Generic, NFData, Pretty, Rep
datadata NewNotation
#

All the notation information related to a name.

Constructors

Instances6Show, Generic, NFData, Pretty, LensFixity, Rep
valuenotationNames :: NewNotation -> [QName]
#

Return the IdParts of a notation, the first part qualified, the other parts unqualified. This allows for qualified use of operators, e.g., M.for x ∈ xs return e, or x ℕ.+ y.

Merges NewNotations that have the same precedence level and notation, with two exceptions:

  • Operators and notations coming from syntax declarations are kept separate.

  • If all instances of a given NewNotation have the same precedence level or are "unrelated", then they are merged. They get the given precedence level, if any, and otherwise they become unrelated (but related to each other).

If NewNotations that are merged have distinct associativities, then they get NonAssoc as their associativity.

Precondition: No Name may occur in more than one list element. Every NewNotation must have the same notaName.

Postcondition: No Name occurs in more than one list element.

Sections

2 declarations
datadata NotationSection
#

Sections, as well as non-sectioned operators.

Constructors

Instances5Show, Generic, NFData, Pretty, Rep

Pretty printing

0 declarations