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

Safe Haskell | Safe-Inferred
Language | Haskell2010

Agda.Syntax.Common

Contents

- Delayed
- File
- Agda variants
- Record Directives
- Eta-equality
- Induction
- Hiding
- Modalities
- Quantities
  - Quantity origin.
    - Instances for `Q0Origin`.
    - Instances for `Q1Origin`.
    - Instances for `QωOrigin`.
  - Quantity.
  - Erased.
- Relevance
- Annotations
- Locks
- Cohesion
- Origin of arguments (user-written, inserted or reflected)
- Free variable annotations
- Argument decoration
- Arguments
- Names
- Named arguments
  - ArgName
- Range decoration.
- Raw names (before parsing into name parts).
- Further constructor and projection info
- Infixity, access, abstract, etc.
  - private blocks, public imports
  - abstract blocks
  - instance blocks
  - macro blocks
- NameId
- Meta variables
- Problems
- Placeholders (used to parse sections)
- Interaction meta variables
- Fixity
- Notation coupled with `Fixity`
- Import directive
  - HasRange instances
  - KillRange instances
  - NFData instances
- Termination
- Positivity
- Universe checking
- Universe checking
- Rewrite Directives on the LHS
- Information on expanded ellipsis (`...`)

Description

Some common syntactic entities are defined in this module.

Synopsis

- type Nat = Int
- type Arity = Nat
- data Delayed
  - = Delayed
  - | NotDelayed
- data FileType
  - = AgdaFileType
  - | MdFileType
  - | RstFileType
  - | TexFileType
  - | OrgFileType
- data Cubical
  - = CErased
  - | CFull
- data Language
  - = WithoutK
  - | WithK
  - | Cubical Cubical
- data RecordDirectives' a = RecordDirectives {
  - recInductive :: Maybe (Ranged Induction)
  - recHasEta :: Maybe HasEta0
  - recPattern :: Maybe Range
  - recConstructor :: Maybe a
  }
- emptyRecordDirectives :: RecordDirectives' a
- data HasEta' a
  - = YesEta
  - | NoEta a
- type HasEta = HasEta' PatternOrCopattern
- type HasEta0 = HasEta' ()
- data PatternOrCopattern
  - = PatternMatching
  - | CopatternMatching
- class PatternMatchingAllowed a where
  - patternMatchingAllowed :: a -> Bool
- class CopatternMatchingAllowed a where
  - copatternMatchingAllowed :: a -> Bool
- data Induction
  - = Inductive
  - | CoInductive
- data Overlappable
  - = YesOverlap
  - | NoOverlap
- data Hiding
  - = Hidden
  - | Instance Overlappable
  - | NotHidden
- data WithHiding a = WithHiding {
  - whHiding :: !Hiding
  - whThing :: a
  }
- class LensHiding a where
  - getHiding :: a -> Hiding
  - setHiding :: Hiding -> a -> a
  - mapHiding :: (Hiding -> Hiding) -> a -> a
- mergeHiding :: LensHiding a => WithHiding a -> a
- visible :: LensHiding a => a -> Bool
- notVisible :: LensHiding a => a -> Bool
- hidden :: LensHiding a => a -> Bool
- hide :: LensHiding a => a -> a
- hideOrKeepInstance :: LensHiding a => a -> a
- makeInstance :: LensHiding a => a -> a
- makeInstance' :: LensHiding a => Overlappable -> a -> a
- isOverlappable :: LensHiding a => a -> Bool
- isInstance :: LensHiding a => a -> Bool
- sameHiding :: (LensHiding a, LensHiding b) => a -> b -> Bool
- newtype UnderAddition t = UnderAddition t
- newtype UnderComposition t = UnderComposition t
- data Modality = Modality {
  - modRelevance :: Relevance
  - modQuantity :: Quantity
  - modCohesion :: Cohesion
  }
- moreUsableModality :: Modality -> Modality -> Bool
- usableModality :: LensModality a => a -> Bool
- composeModality :: Modality -> Modality -> Modality
- applyModality :: LensModality a => Modality -> a -> a
- inverseComposeModality :: Modality -> Modality -> Modality
- inverseApplyModalityButNotQuantity :: LensModality a => Modality -> a -> a
- addModality :: Modality -> Modality -> Modality
- zeroModality :: Modality
- unitModality :: Modality
- topModality :: Modality
- defaultModality :: Modality
- sameModality :: (LensModality a, LensModality b) => a -> b -> Bool
- lModRelevance :: Lens' Relevance Modality
- lModQuantity :: Lens' Quantity Modality
- lModCohesion :: Lens' Cohesion Modality
- class LensModality a where
  - getModality :: a -> Modality
  - setModality :: Modality -> a -> a
  - mapModality :: (Modality -> Modality) -> a -> a
- getRelevanceMod :: LensModality a => LensGet Relevance a
- setRelevanceMod :: LensModality a => LensSet Relevance a
- mapRelevanceMod :: LensModality a => LensMap Relevance a
- getQuantityMod :: LensModality a => LensGet Quantity a
- setQuantityMod :: LensModality a => LensSet Quantity a
- mapQuantityMod :: LensModality a => LensMap Quantity a
- getCohesionMod :: LensModality a => LensGet Cohesion a
- setCohesionMod :: LensModality a => LensSet Cohesion a
- mapCohesionMod :: LensModality a => LensMap Cohesion a
- data Q0Origin
  - = Q0Inferred
  - | Q0 Range
  - | Q0Erased Range
- data Q1Origin
  - = Q1Inferred
  - | Q1 Range
  - | Q1Linear Range
- data QωOrigin
  - = QωInferred
  - | Qω Range
  - | QωPlenty Range
- data Quantity
  - = Quantity0 Q0Origin
  - | Quantity1 Q1Origin
  - | Quantityω QωOrigin
- sameQuantity :: Quantity -> Quantity -> Bool
- addQuantity :: Quantity -> Quantity -> Quantity
- zeroQuantity :: Quantity
- defaultQuantity :: Quantity
- unitQuantity :: Quantity
- topQuantity :: Quantity
- moreQuantity :: Quantity -> Quantity -> Bool
- composeQuantity :: Quantity -> Quantity -> Quantity
- applyQuantity :: LensQuantity a => Quantity -> a -> a
- inverseComposeQuantity :: Quantity -> Quantity -> Quantity
- inverseApplyQuantity :: LensQuantity a => Quantity -> a -> a
- hasQuantity0 :: LensQuantity a => a -> Bool
- hasQuantity1 :: LensQuantity a => a -> Bool
- hasQuantityω :: LensQuantity a => a -> Bool
- noUserQuantity :: LensQuantity a => a -> Bool
- usableQuantity :: LensQuantity a => a -> Bool
- class LensQuantity a where
  - getQuantity :: a -> Quantity
  - setQuantity :: Quantity -> a -> a
  - mapQuantity :: (Quantity -> Quantity) -> a -> a
- data Erased
  - = Erased Q0Origin
  - | NotErased QωOrigin
- defaultErased :: Erased
- asQuantity :: Erased -> Quantity
- erasedFromQuantity :: Quantity -> Maybe Erased
- sameErased :: Erased -> Erased -> Bool
- isErased :: Erased -> Bool
- composeErased :: Erased -> Erased -> Erased
- data Relevance
  - = Relevant
  - | NonStrict
  - | Irrelevant
- allRelevances :: [Relevance]
- class LensRelevance a where
  - getRelevance :: a -> Relevance
  - setRelevance :: Relevance -> a -> a
  - mapRelevance :: (Relevance -> Relevance) -> a -> a
- isRelevant :: LensRelevance a => a -> Bool
- isIrrelevant :: LensRelevance a => a -> Bool
- isNonStrict :: LensRelevance a => a -> Bool
- moreRelevant :: Relevance -> Relevance -> Bool
- sameRelevance :: Relevance -> Relevance -> Bool
- usableRelevance :: LensRelevance a => a -> Bool
- composeRelevance :: Relevance -> Relevance -> Relevance
- applyRelevance :: LensRelevance a => Relevance -> a -> a
- inverseComposeRelevance :: Relevance -> Relevance -> Relevance
- inverseApplyRelevance :: LensRelevance a => Relevance -> a -> a
- addRelevance :: Relevance -> Relevance -> Relevance
- zeroRelevance :: Relevance
- unitRelevance :: Relevance
- topRelevance :: Relevance
- defaultRelevance :: Relevance
- irrToNonStrict :: Relevance -> Relevance
- nonStrictToRel :: Relevance -> Relevance
- nonStrictToIrr :: Relevance -> Relevance
- data Annotation = Annotation {
  - annLock :: Lock
  }
- defaultAnnotation :: Annotation
- class LensAnnotation a where
  - getAnnotation :: a -> Annotation
  - setAnnotation :: Annotation -> a -> a
  - mapAnnotation :: (Annotation -> Annotation) -> a -> a
- data Lock
  - = IsNotLock
  - | IsLock
- defaultLock :: Lock
- class LensLock a where
  - getLock :: a -> Lock
  - setLock :: Lock -> a -> a
  - mapLock :: (Lock -> Lock) -> a -> a
- data Cohesion
  - = Flat
  - | Continuous
  - | Squash
- allCohesions :: [Cohesion]
- class LensCohesion a where
  - getCohesion :: a -> Cohesion
  - setCohesion :: Cohesion -> a -> a
  - mapCohesion :: (Cohesion -> Cohesion) -> a -> a
- moreCohesion :: Cohesion -> Cohesion -> Bool
- sameCohesion :: Cohesion -> Cohesion -> Bool
- usableCohesion :: LensCohesion a => a -> Bool
- composeCohesion :: Cohesion -> Cohesion -> Cohesion
- applyCohesion :: LensCohesion a => Cohesion -> a -> a
- inverseComposeCohesion :: Cohesion -> Cohesion -> Cohesion
- inverseApplyCohesion :: LensCohesion a => Cohesion -> a -> a
- addCohesion :: Cohesion -> Cohesion -> Cohesion
- zeroCohesion :: Cohesion
- unitCohesion :: Cohesion
- topCohesion :: Cohesion
- defaultCohesion :: Cohesion
- data Origin
  - = UserWritten
  - | Inserted
  - | Reflected
  - | CaseSplit
  - | Substitution
- data WithOrigin a = WithOrigin {
  - woOrigin :: !Origin
  - woThing :: a
  }
- class LensOrigin a where
  - getOrigin :: a -> Origin
  - setOrigin :: Origin -> a -> a
  - mapOrigin :: (Origin -> Origin) -> a -> a
- data FreeVariables
  - = UnknownFVs
  - | KnownFVs IntSet
- unknownFreeVariables :: FreeVariables
- noFreeVariables :: FreeVariables
- oneFreeVariable :: Int -> FreeVariables
- freeVariablesFromList :: [Int] -> FreeVariables
- class LensFreeVariables a where
  - getFreeVariables :: a -> FreeVariables
  - setFreeVariables :: FreeVariables -> a -> a
  - mapFreeVariables :: (FreeVariables -> FreeVariables) -> a -> a
- hasNoFreeVariables :: LensFreeVariables a => a -> Bool
- data ArgInfo = ArgInfo {
  - argInfoHiding :: Hiding
  - argInfoModality :: Modality
  - argInfoOrigin :: Origin
  - argInfoFreeVariables :: FreeVariables
  - argInfoAnnotation :: Annotation
  }
- class LensArgInfo a where
  - getArgInfo :: a -> ArgInfo
  - setArgInfo :: ArgInfo -> a -> a
  - mapArgInfo :: (ArgInfo -> ArgInfo) -> a -> a
- defaultArgInfo :: ArgInfo
- getHidingArgInfo :: LensArgInfo a => LensGet Hiding a
- setHidingArgInfo :: LensArgInfo a => LensSet Hiding a
- mapHidingArgInfo :: LensArgInfo a => LensMap Hiding a
- getModalityArgInfo :: LensArgInfo a => LensGet Modality a
- setModalityArgInfo :: LensArgInfo a => LensSet Modality a
- mapModalityArgInfo :: LensArgInfo a => LensMap Modality a
- getOriginArgInfo :: LensArgInfo a => LensGet Origin a
- setOriginArgInfo :: LensArgInfo a => LensSet Origin a
- mapOriginArgInfo :: LensArgInfo a => LensMap Origin a
- getFreeVariablesArgInfo :: LensArgInfo a => LensGet FreeVariables a
- setFreeVariablesArgInfo :: LensArgInfo a => LensSet FreeVariables a
- mapFreeVariablesArgInfo :: LensArgInfo a => LensMap FreeVariables a
- isInsertedHidden :: (LensHiding a, LensOrigin a) => a -> Bool
- data Arg e = Arg {
  - argInfo :: ArgInfo
  - unArg :: e
  }
- defaultArg :: a -> Arg a
- withArgsFrom :: [a] -> [Arg b] -> [Arg a]
- withNamedArgsFrom :: [a] -> [NamedArg b] -> [NamedArg a]
- class Eq a => Underscore a where
  - underscore :: a
  - isUnderscore :: a -> Bool
- data Named name a = Named {
  - nameOf :: Maybe name
  - namedThing :: a
  }
- type Named_ = Named NamedName
- type NamedName = WithOrigin (Ranged ArgName)
- sameName :: NamedName -> NamedName -> Bool
- unnamed :: a -> Named name a
- isUnnamed :: Named name a -> Maybe a
- named :: name -> a -> Named name a
- userNamed :: Ranged ArgName -> a -> Named_ a
- class LensNamed a where
  - type NameOf a
  - lensNamed :: Lens' (Maybe (NameOf a)) a
- getNameOf :: LensNamed a => a -> Maybe (NameOf a)
- setNameOf :: LensNamed a => Maybe (NameOf a) -> a -> a
- mapNameOf :: LensNamed a => (Maybe (NameOf a) -> Maybe (NameOf a)) -> a -> a
- bareNameOf :: (LensNamed a, NameOf a ~ NamedName) => a -> Maybe ArgName
- bareNameWithDefault :: (LensNamed a, NameOf a ~ NamedName) => ArgName -> a -> ArgName
- namedSame :: (LensNamed a, LensNamed b, NameOf a ~ NamedName, NameOf b ~ NamedName) => a -> b -> Bool
- fittingNamedArg :: (LensNamed arg, NameOf arg ~ NamedName, LensHiding arg, LensNamed dom, NameOf dom ~ NamedName, LensHiding dom) => arg -> dom -> Maybe Bool
- type NamedArg a = Arg (Named_ a)
- namedArg :: NamedArg a -> a
- defaultNamedArg :: a -> NamedArg a
- unnamedArg :: ArgInfo -> a -> NamedArg a
- updateNamedArg :: (a -> b) -> NamedArg a -> NamedArg b
- updateNamedArgA :: Applicative f => (a -> f b) -> NamedArg a -> f (NamedArg b)
- setNamedArg :: NamedArg a -> b -> NamedArg b
- type ArgName = String
- argNameToString :: ArgName -> String
- stringToArgName :: String -> ArgName
- appendArgNames :: ArgName -> ArgName -> ArgName
- data Ranged a = Ranged {
  - rangeOf :: Range
  - rangedThing :: a
  }
- unranged :: a -> Ranged a
- type RawName = String
- rawNameToString :: RawName -> String
- stringToRawName :: String -> RawName
- type RString = Ranged RawName
- data ConOrigin
  - = ConOSystem
  - | ConOCon
  - | ConORec
  - | ConOSplit
- bestConInfo :: ConOrigin -> ConOrigin -> ConOrigin
- data ProjOrigin
  - = ProjPrefix
  - | ProjPostfix
  - | ProjSystem
- data IsInfix
  - = InfixDef
  - | PrefixDef
- data Access
  - = PrivateAccess Origin
  - | PublicAccess
- data IsAbstract
  - = AbstractDef
  - | ConcreteDef
- class LensIsAbstract a where
  - lensIsAbstract :: Lens' IsAbstract a
- class AnyIsAbstract a where
  - anyIsAbstract :: a -> IsAbstract
- data IsInstance
  - = InstanceDef Range
  - | NotInstanceDef
- data IsMacro
  - = MacroDef
  - | NotMacroDef
- newtype ModuleNameHash = ModuleNameHash Word64
- noModuleNameHash :: ModuleNameHash
- data NameId = NameId !Word64 !ModuleNameHash
- newtype MetaId = MetaId {
  - metaId :: Nat
  }
- newtype Constr a = Constr a
- newtype ProblemId = ProblemId Nat
- data PositionInName
  - = Beginning
  - | Middle
  - | End
- data MaybePlaceholder e
  - = Placeholder !PositionInName
  - | NoPlaceholder !(Maybe PositionInName) e
- noPlaceholder :: e -> MaybePlaceholder e
- newtype InteractionId = InteractionId {
  - interactionId :: Nat
  }
- type PrecedenceLevel = Double
- data FixityLevel
  - = Unrelated
  - | Related !PrecedenceLevel
- data Associativity
  - = NonAssoc
  - | LeftAssoc
  - | RightAssoc
- data Fixity = Fixity {
  - fixityRange :: Range
  - fixityLevel :: !FixityLevel
  - fixityAssoc :: !Associativity
  }
- noFixity :: Fixity
- defaultFixity :: Fixity
- data Fixity' = Fixity' {
  - theFixity :: !Fixity
  - theNotation :: Notation
  - theNameRange :: Range
  }
- noFixity' :: Fixity'
- _fixityAssoc :: Lens' Associativity Fixity
- _fixityLevel :: Lens' FixityLevel Fixity
- class LensFixity a where
  - lensFixity :: Lens' Fixity a
- class LensFixity' a where
  - lensFixity' :: Lens' Fixity' a
- data ImportDirective' n m = ImportDirective {
  - importDirRange :: Range
  - using :: Using' n m
  - hiding :: HidingDirective' n m
  - impRenaming :: RenamingDirective' n m
  - publicOpen :: Maybe Range
  }
- type HidingDirective' n m = [ImportedName' n m]
- type RenamingDirective' n m = [Renaming' n m]
- defaultImportDir :: ImportDirective' n m
- isDefaultImportDir :: ImportDirective' n m -> Bool
- data Using' n m
  - = UseEverything
  - | Using [ImportedName' n m]
- mapUsing :: ([ImportedName' n1 m1] -> [ImportedName' n2 m2]) -> Using' n1 m1 -> Using' n2 m2
- data ImportedName' n m
  - = ImportedModule m
  - | ImportedName n
- fromImportedName :: ImportedName' a a -> a
- setImportedName :: ImportedName' a a -> a -> ImportedName' a a
- partitionImportedNames :: [ImportedName' n m] -> ([n], [m])
- data Renaming' n m = Renaming {
  - renFrom :: ImportedName' n m
  - renTo :: ImportedName' n m
  - renFixity :: Maybe Fixity
  - renToRange :: Range
  }
- data TerminationCheck m
  - = TerminationCheck
  - | NoTerminationCheck
  - | NonTerminating
  - | Terminating
  - | TerminationMeasure Range m
- data PositivityCheck
  - = YesPositivityCheck
  - | NoPositivityCheck
- data UniverseCheck
  - = YesUniverseCheck
  - | NoUniverseCheck
- data CoverageCheck
  - = YesCoverageCheck
  - | NoCoverageCheck
- data RewriteEqn' qn nm p e
  - = Rewrite (List1 (qn, e))
  - | Invert qn (List1 (Named nm (p, e)))
- data ExpandedEllipsis
  - = ExpandedEllipsis {
    - ellipsisRange :: Range
    - ellipsisWithArgs :: Int
    }
  - | NoEllipsis
- type Notation = [GenPart]
- noNotation :: Notation
- data GenPart
  - = BindHole Range (Ranged Int)
  - | NormalHole Range (NamedArg (Ranged Int))
  - | WildHole (Ranged Int)
  - | IdPart RString

# Documentation

type Nat = Int Source #

type Arity = Nat Source #

# Delayed

data Delayed Source #

Used to specify whether something should be delayed.

Constructors

Delayed |
NotDelayed |

#### Instances

Instances details

KillRange Delayed Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Delayed Source #
EmbPrj Delayed Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Delayed -> S Int32 Source # icod_ :: Delayed -> S Int32 Source # value :: Int32 -> R Delayed Source #
Data Delayed Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Delayed -> c Delayed Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Delayed Source #

toConstr :: Delayed -> Constr Source #

dataTypeOf :: Delayed -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Delayed) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Delayed) Source #

gmapT :: (forall b. Data b => b -> b) -> Delayed -> Delayed Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Delayed -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Delayed -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Delayed -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Delayed -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Delayed -> m Delayed Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Delayed -> m Delayed Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Delayed -> m Delayed Source #

Generic Delayed Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Delayed :: Type -> Type Source # Methods from :: Delayed -> Rep Delayed x Source # to :: Rep Delayed x -> Delayed Source #
Show Delayed Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Delayed -> ShowS Source # show :: Delayed -> String Source # showList :: [Delayed] -> ShowS Source #
NFData Delayed Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Delayed -> () Source #
Eq Delayed Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Delayed -> Delayed -> Bool Source # (/=) :: Delayed -> Delayed -> Bool Source #
Ord Delayed Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Delayed -> Delayed -> Ordering Source # (<) :: Delayed -> Delayed -> Bool Source # (<=) :: Delayed -> Delayed -> Bool Source # (>) :: Delayed -> Delayed -> Bool Source # (>=) :: Delayed -> Delayed -> Bool Source # max :: Delayed -> Delayed -> Delayed Source # min :: Delayed -> Delayed -> Delayed Source #
type Rep Delayed Source # |
Instance details Defined in Agda.Syntax.Common type Rep Delayed = D1 ('MetaData "Delayed" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "Delayed" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotDelayed" 'PrefixI 'False) (U1 :: Type -> Type))

# File

data FileType Source #

Constructors

AgdaFileType |
MdFileType |
RstFileType |
TexFileType |
OrgFileType |

#### Instances

Instances details

EmbPrj FileType Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: FileType -> S Int32 Source # icod_ :: FileType -> S Int32 Source # value :: Int32 -> R FileType Source #
Pretty FileType Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: FileType -> Doc Source # prettyPrec :: Int -> FileType -> Doc Source # prettyList :: [FileType] -> Doc Source #
Data FileType Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FileType -> c FileType Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FileType Source #

toConstr :: FileType -> Constr Source #

dataTypeOf :: FileType -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FileType) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FileType) Source #

gmapT :: (forall b. Data b => b -> b) -> FileType -> FileType Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FileType -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FileType -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> FileType -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FileType -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FileType -> m FileType Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FileType -> m FileType Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FileType -> m FileType Source #

Generic FileType Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep FileType :: Type -> Type Source # Methods from :: FileType -> Rep FileType x Source # to :: Rep FileType x -> FileType Source #
Show FileType Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> FileType -> ShowS Source # show :: FileType -> String Source # showList :: [FileType] -> ShowS Source #
NFData FileType Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: FileType -> () Source #
Eq FileType Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: FileType -> FileType -> Bool Source # (/=) :: FileType -> FileType -> Bool Source #
Ord FileType Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: FileType -> FileType -> Ordering Source # (<) :: FileType -> FileType -> Bool Source # (<=) :: FileType -> FileType -> Bool Source # (>) :: FileType -> FileType -> Bool Source # (>=) :: FileType -> FileType -> Bool Source # max :: FileType -> FileType -> FileType Source # min :: FileType -> FileType -> FileType Source #
type Rep FileType Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep FileType = D1 ('MetaData "FileType" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) ((C1 ('MetaCons "AgdaFileType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MdFileType" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "RstFileType" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "TexFileType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OrgFileType" 'PrefixI 'False) (U1 :: Type -> Type))))

# Agda variants

data Cubical Source #

Variants of Cubical Agda.

Constructors

CErased |
CFull |

#### Instances

Instances details

EmbPrj Cubical Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Cubical -> S Int32 Source # icod_ :: Cubical -> S Int32 Source # value :: Int32 -> R Cubical Source #
Generic Cubical Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Cubical :: Type -> Type Source # Methods from :: Cubical -> Rep Cubical x Source # to :: Rep Cubical x -> Cubical Source #
Show Cubical Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Cubical -> ShowS Source # show :: Cubical -> String Source # showList :: [Cubical] -> ShowS Source #
NFData Cubical Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Cubical -> () Source #
Eq Cubical Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Cubical -> Cubical -> Bool Source # (/=) :: Cubical -> Cubical -> Bool Source #
type Rep Cubical Source # |
Instance details Defined in Agda.Syntax.Common type Rep Cubical = D1 ('MetaData "Cubical" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "CErased" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CFull" 'PrefixI 'False) (U1 :: Type -> Type))

data Language Source #

Agda variants.

Only some variants are tracked.

Constructors

WithoutK |
WithK |
Cubical Cubical |

#### Instances

Instances details

KillRange Language Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Language Source #
EmbPrj Language Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Language -> S Int32 Source # icod_ :: Language -> S Int32 Source # value :: Int32 -> R Language Source #
Generic Language Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Language :: Type -> Type Source # Methods from :: Language -> Rep Language x Source # to :: Rep Language x -> Language Source #
Show Language Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Language -> ShowS Source # show :: Language -> String Source # showList :: [Language] -> ShowS Source #
NFData Language Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Language -> () Source #
Eq Language Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Language -> Language -> Bool Source # (/=) :: Language -> Language -> Bool Source #
type Rep Language Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep Language = D1 ('MetaData "Language" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "WithoutK" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "WithK" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Cubical" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cubical))))

# Record Directives

data RecordDirectives' a Source #

Constructors

RecordDirectives |

Fields

- recInductive :: Maybe (Ranged Induction)
- recHasEta :: Maybe HasEta0
- recPattern :: Maybe Range
- recConstructor :: Maybe a

#### Instances

Instances details

DeclaredNames RecordDirectives Source # |
Instance details Defined in Agda.Syntax.Abstract.Views Methods declaredNames :: Collection KName m => RecordDirectives -> m Source #
Functor RecordDirectives' Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> RecordDirectives' a -> RecordDirectives' b Source # (<$) :: a -> RecordDirectives' b -> RecordDirectives' a Source #
HasRange a => HasRange (RecordDirectives' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: RecordDirectives' a -> Range Source #
KillRange a => KillRange (RecordDirectives' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (RecordDirectives' a) Source #
Data a => Data (RecordDirectives' a) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RecordDirectives' a -> c (RecordDirectives' a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (RecordDirectives' a) Source #

toConstr :: RecordDirectives' a -> Constr Source #

dataTypeOf :: RecordDirectives' a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (RecordDirectives' a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (RecordDirectives' a)) Source #

gmapT :: (forall b. Data b => b -> b) -> RecordDirectives' a -> RecordDirectives' a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RecordDirectives' a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RecordDirectives' a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> RecordDirectives' a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RecordDirectives' a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RecordDirectives' a -> m (RecordDirectives' a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RecordDirectives' a -> m (RecordDirectives' a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RecordDirectives' a -> m (RecordDirectives' a) Source #

Show a => Show (RecordDirectives' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> RecordDirectives' a -> ShowS Source # show :: RecordDirectives' a -> String Source # showList :: [RecordDirectives' a] -> ShowS Source #
NFData a => NFData (RecordDirectives' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: RecordDirectives' a -> () Source #
Eq a => Eq (RecordDirectives' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: RecordDirectives' a -> RecordDirectives' a -> Bool Source # (/=) :: RecordDirectives' a -> RecordDirectives' a -> Bool Source #

emptyRecordDirectives :: RecordDirectives' a Source #

# Eta-equality

data HasEta' a Source #

Does a record come with eta-equality?

Constructors

YesEta |
NoEta a |

#### Instances

Instances details

CopatternMatchingAllowed HasEta Source # |
Instance details Defined in Agda.Syntax.Common Methods copatternMatchingAllowed :: HasEta -> Bool Source #
PatternMatchingAllowed HasEta Source # |
Instance details Defined in Agda.Syntax.Common Methods patternMatchingAllowed :: HasEta -> Bool Source #
Foldable HasEta' Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

fold :: Monoid m => HasEta' m -> m Source #

foldMap :: Monoid m => (a -> m) -> HasEta' a -> m Source #

foldMap' :: Monoid m => (a -> m) -> HasEta' a -> m Source #

foldr :: (a -> b -> b) -> b -> HasEta' a -> b Source #

foldr' :: (a -> b -> b) -> b -> HasEta' a -> b Source #

foldl :: (b -> a -> b) -> b -> HasEta' a -> b Source #

foldl' :: (b -> a -> b) -> b -> HasEta' a -> b Source #

foldr1 :: (a -> a -> a) -> HasEta' a -> a Source #

foldl1 :: (a -> a -> a) -> HasEta' a -> a Source #

toList :: HasEta' a -> [a] Source #

null :: HasEta' a -> Bool Source #

length :: HasEta' a -> Int Source #

elem :: Eq a => a -> HasEta' a -> Bool Source #

maximum :: Ord a => HasEta' a -> a Source #

minimum :: Ord a => HasEta' a -> a Source #

sum :: Num a => HasEta' a -> a Source #

product :: Num a => HasEta' a -> a Source #

Traversable HasEta' Source # |
Instance details Defined in Agda.Syntax.Common Methods traverse :: Applicative f => (a -> f b) -> HasEta' a -> f (HasEta' b) Source # sequenceA :: Applicative f => HasEta' (f a) -> f (HasEta' a) Source # mapM :: Monad m => (a -> m b) -> HasEta' a -> m (HasEta' b) Source # sequence :: Monad m => HasEta' (m a) -> m (HasEta' a) Source #
Functor HasEta' Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> HasEta' a -> HasEta' b Source # (<$) :: a -> HasEta' b -> HasEta' a Source #
HasRange a => HasRange (HasEta' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: HasEta' a -> Range Source #
KillRange a => KillRange (HasEta' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (HasEta' a) Source #
EmbPrj a => EmbPrj (HasEta' a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: HasEta' a -> S Int32 Source # icod_ :: HasEta' a -> S Int32 Source # value :: Int32 -> R (HasEta' a) Source #
Data a => Data (HasEta' a) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> HasEta' a -> c (HasEta' a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (HasEta' a) Source #

toConstr :: HasEta' a -> Constr Source #

dataTypeOf :: HasEta' a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (HasEta' a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (HasEta' a)) Source #

gmapT :: (forall b. Data b => b -> b) -> HasEta' a -> HasEta' a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> HasEta' a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> HasEta' a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> HasEta' a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> HasEta' a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> HasEta' a -> m (HasEta' a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> HasEta' a -> m (HasEta' a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> HasEta' a -> m (HasEta' a) Source #

Show a => Show (HasEta' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> HasEta' a -> ShowS Source # show :: HasEta' a -> String Source # showList :: [HasEta' a] -> ShowS Source #
NFData a => NFData (HasEta' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: HasEta' a -> () Source #
Eq a => Eq (HasEta' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: HasEta' a -> HasEta' a -> Bool Source # (/=) :: HasEta' a -> HasEta' a -> Bool Source #
Ord a => Ord (HasEta' a) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: HasEta' a -> HasEta' a -> Ordering Source #

(<) :: HasEta' a -> HasEta' a -> Bool Source #

(<=) :: HasEta' a -> HasEta' a -> Bool Source #

(>) :: HasEta' a -> HasEta' a -> Bool Source #

(>=) :: HasEta' a -> HasEta' a -> Bool Source #

max :: HasEta' a -> HasEta' a -> HasEta' a Source #

min :: HasEta' a -> HasEta' a -> HasEta' a Source #

type HasEta = HasEta' PatternOrCopattern Source #

Pattern and copattern matching is allowed in the presence of eta.

In the absence of eta, we have to choose whether we want to allow matching on the constructor or copattern matching with the projections. Having both leads to breakage of subject reduction (issue #4560).

type HasEta0 = HasEta' () Source #

data PatternOrCopattern Source #

For a record without eta, which type of matching do we allow?

Constructors

PatternMatching | Can match on the record constructor.
CopatternMatching | Can copattern match using the projections. (Default.)

#### Instances

Instances details

CopatternMatchingAllowed HasEta Source # |
Instance details Defined in Agda.Syntax.Common Methods copatternMatchingAllowed :: HasEta -> Bool Source #
CopatternMatchingAllowed PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods copatternMatchingAllowed :: PatternOrCopattern -> Bool Source #
PatternMatchingAllowed HasEta Source # |
Instance details Defined in Agda.Syntax.Common Methods patternMatchingAllowed :: HasEta -> Bool Source #
PatternMatchingAllowed PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods patternMatchingAllowed :: PatternOrCopattern -> Bool Source #
HasRange PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: PatternOrCopattern -> Range Source #
KillRange PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT PatternOrCopattern Source #
EmbPrj PatternOrCopattern Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: PatternOrCopattern -> S Int32 Source # icod_ :: PatternOrCopattern -> S Int32 Source # value :: Int32 -> R PatternOrCopattern Source #
Data PatternOrCopattern Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PatternOrCopattern -> c PatternOrCopattern Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PatternOrCopattern Source #

toConstr :: PatternOrCopattern -> Constr Source #

dataTypeOf :: PatternOrCopattern -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PatternOrCopattern) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PatternOrCopattern) Source #

gmapT :: (forall b. Data b => b -> b) -> PatternOrCopattern -> PatternOrCopattern Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PatternOrCopattern -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PatternOrCopattern -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> PatternOrCopattern -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PatternOrCopattern -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PatternOrCopattern -> m PatternOrCopattern Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PatternOrCopattern -> m PatternOrCopattern Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PatternOrCopattern -> m PatternOrCopattern Source #

Bounded PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: PatternOrCopattern Source # maxBound :: PatternOrCopattern Source #
Enum PatternOrCopattern Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: PatternOrCopattern -> PatternOrCopattern Source #

pred :: PatternOrCopattern -> PatternOrCopattern Source #

toEnum :: Int -> PatternOrCopattern Source #

fromEnum :: PatternOrCopattern -> Int Source #

enumFrom :: PatternOrCopattern -> [PatternOrCopattern] Source #

enumFromThen :: PatternOrCopattern -> PatternOrCopattern -> [PatternOrCopattern] Source #

enumFromTo :: PatternOrCopattern -> PatternOrCopattern -> [PatternOrCopattern] Source #

enumFromThenTo :: PatternOrCopattern -> PatternOrCopattern -> PatternOrCopattern -> [PatternOrCopattern] Source #

Show PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> PatternOrCopattern -> ShowS Source # show :: PatternOrCopattern -> String Source # showList :: [PatternOrCopattern] -> ShowS Source #
NFData PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: PatternOrCopattern -> () Source #
Eq PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: PatternOrCopattern -> PatternOrCopattern -> Bool Source # (/=) :: PatternOrCopattern -> PatternOrCopattern -> Bool Source #
Ord PatternOrCopattern Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: PatternOrCopattern -> PatternOrCopattern -> Ordering Source #

(<) :: PatternOrCopattern -> PatternOrCopattern -> Bool Source #

(<=) :: PatternOrCopattern -> PatternOrCopattern -> Bool Source #

(>) :: PatternOrCopattern -> PatternOrCopattern -> Bool Source #

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

max :: PatternOrCopattern -> PatternOrCopattern -> PatternOrCopattern Source #

min :: PatternOrCopattern -> PatternOrCopattern -> PatternOrCopattern Source #

class PatternMatchingAllowed a where Source #

Can we pattern match on the record constructor?

Methods

patternMatchingAllowed :: a -> Bool Source #

#### Instances

Instances details

PatternMatchingAllowed HasEta Source # |
Instance details Defined in Agda.Syntax.Common Methods patternMatchingAllowed :: HasEta -> Bool Source #
PatternMatchingAllowed Induction Source # |
Instance details Defined in Agda.Syntax.Common Methods patternMatchingAllowed :: Induction -> Bool Source #
PatternMatchingAllowed PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods patternMatchingAllowed :: PatternOrCopattern -> Bool Source #
PatternMatchingAllowed EtaEquality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods patternMatchingAllowed :: EtaEquality -> Bool Source #

class CopatternMatchingAllowed a where Source #

Can we construct a record by copattern matching?

Methods

copatternMatchingAllowed :: a -> Bool Source #

#### Instances

Instances details

CopatternMatchingAllowed HasEta Source # |
Instance details Defined in Agda.Syntax.Common Methods copatternMatchingAllowed :: HasEta -> Bool Source #
CopatternMatchingAllowed PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods copatternMatchingAllowed :: PatternOrCopattern -> Bool Source #
CopatternMatchingAllowed EtaEquality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods copatternMatchingAllowed :: EtaEquality -> Bool Source #

# Induction

data Induction Source #

    Inductive < Coinductive

Constructors

Inductive |
CoInductive |

#### Instances

Instances details

PatternMatchingAllowed Induction Source # |
Instance details Defined in Agda.Syntax.Common Methods patternMatchingAllowed :: Induction -> Bool Source #
HasRange Induction Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Induction -> Range Source #
KillRange Induction Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Induction Source #
EmbPrj Induction Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Induction -> S Int32 Source # icod_ :: Induction -> S Int32 Source # value :: Int32 -> R Induction Source #
Pretty Induction Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Induction -> Doc Source # prettyPrec :: Int -> Induction -> Doc Source # prettyList :: [Induction] -> Doc Source #
Data Induction Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Induction -> c Induction Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Induction Source #

toConstr :: Induction -> Constr Source #

dataTypeOf :: Induction -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Induction) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Induction) Source #

gmapT :: (forall b. Data b => b -> b) -> Induction -> Induction Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Induction -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Induction -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Induction -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Induction -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Induction -> m Induction Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Induction -> m Induction Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Induction -> m Induction Source #

Show Induction Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Induction -> ShowS Source # show :: Induction -> String Source # showList :: [Induction] -> ShowS Source #
NFData Induction Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Induction -> () Source #
Eq Induction Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Induction -> Induction -> Bool Source # (/=) :: Induction -> Induction -> Bool Source #
Ord Induction Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: Induction -> Induction -> Ordering Source #

(<) :: Induction -> Induction -> Bool Source #

(<=) :: Induction -> Induction -> Bool Source #

(>) :: Induction -> Induction -> Bool Source #

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

max :: Induction -> Induction -> Induction Source #

min :: Induction -> Induction -> Induction Source #

# Hiding

data Overlappable Source #

Constructors

YesOverlap |
NoOverlap |

#### Instances

Instances details

Data Overlappable Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Overlappable -> c Overlappable Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Overlappable Source #

toConstr :: Overlappable -> Constr Source #

dataTypeOf :: Overlappable -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Overlappable) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Overlappable) Source #

gmapT :: (forall b. Data b => b -> b) -> Overlappable -> Overlappable Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Overlappable -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Overlappable -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Overlappable -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Overlappable -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Overlappable -> m Overlappable Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Overlappable -> m Overlappable Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Overlappable -> m Overlappable Source #

Monoid Overlappable Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: Overlappable Source # mappend :: Overlappable -> Overlappable -> Overlappable Source # mconcat :: [Overlappable] -> Overlappable Source #
Semigroup Overlappable Source # | Just for the `Hiding` instance. Should never combine different overlapping.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: Overlappable -> Overlappable -> Overlappable Source # sconcat :: NonEmpty Overlappable -> Overlappable Source # stimes :: Integral b => b -> Overlappable -> Overlappable Source #
Show Overlappable Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Overlappable -> ShowS Source # show :: Overlappable -> String Source # showList :: [Overlappable] -> ShowS Source #
NFData Overlappable Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Overlappable -> () Source #
Eq Overlappable Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Overlappable -> Overlappable -> Bool Source # (/=) :: Overlappable -> Overlappable -> Bool Source #
Ord Overlappable Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: Overlappable -> Overlappable -> Ordering Source #

(<) :: Overlappable -> Overlappable -> Bool Source #

(<=) :: Overlappable -> Overlappable -> Bool Source #

(>) :: Overlappable -> Overlappable -> Bool Source #

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

max :: Overlappable -> Overlappable -> Overlappable Source #

min :: Overlappable -> Overlappable -> Overlappable Source #

data Hiding Source #

Constructors

Hidden |
Instance Overlappable |
NotHidden |

#### Instances

Instances details

LensHiding Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods getHiding :: Hiding -> Hiding Source # setHiding :: Hiding -> Hiding -> Hiding Source # mapHiding :: (Hiding -> Hiding) -> Hiding -> Hiding Source #
HasRange Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Hiding -> Range Source #
KillRange Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Hiding Source #
ChooseFlex Hiding Source # |
Instance details Defined in Agda.TypeChecking.Rules.LHS.Problem Methods chooseFlex :: Hiding -> Hiding -> FlexChoice Source #
EmbPrj Hiding Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Hiding -> S Int32 Source # icod_ :: Hiding -> S Int32 Source # value :: Int32 -> R Hiding Source #
Unquote Hiding Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM Hiding Source #
Pretty Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Hiding -> Doc Source # prettyPrec :: Int -> Hiding -> Doc Source # prettyList :: [Hiding] -> Doc Source #
Data Hiding Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Hiding -> c Hiding Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Hiding Source #

toConstr :: Hiding -> Constr Source #

dataTypeOf :: Hiding -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Hiding) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Hiding) Source #

gmapT :: (forall b. Data b => b -> b) -> Hiding -> Hiding Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Hiding -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Hiding -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Hiding -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Hiding -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Hiding -> m Hiding Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Hiding -> m Hiding Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Hiding -> m Hiding Source #

Monoid Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: Hiding Source # mappend :: Hiding -> Hiding -> Hiding Source # mconcat :: [Hiding] -> Hiding Source #
Semigroup Hiding Source # | `Hiding` is an idempotent partial monoid, with unit `NotHidden`. `Instance` and `NotHidden` are incompatible.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: Hiding -> Hiding -> Hiding Source # sconcat :: NonEmpty Hiding -> Hiding Source # stimes :: Integral b => b -> Hiding -> Hiding Source #
Show Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Hiding -> ShowS Source # show :: Hiding -> String Source # showList :: [Hiding] -> ShowS Source #
NFData Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Hiding -> () Source #
Eq Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Hiding -> Hiding -> Bool Source # (/=) :: Hiding -> Hiding -> Bool Source #
Ord Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Hiding -> Hiding -> Ordering Source # (<) :: Hiding -> Hiding -> Bool Source # (<=) :: Hiding -> Hiding -> Bool Source # (>) :: Hiding -> Hiding -> Bool Source # (>=) :: Hiding -> Hiding -> Bool Source # max :: Hiding -> Hiding -> Hiding Source # min :: Hiding -> Hiding -> Hiding Source #
Conversion TOM a b => Conversion TOM (Arg a) (Hiding, b) Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: Arg a -> TOM (Hiding, b) Source #

data WithHiding a Source #

Decorating something with `Hiding` information.

Constructors

WithHiding |

Fields

- whHiding :: !Hiding
- whThing :: a

#### Instances

Instances details

Decoration WithHiding Source # |
Instance details Defined in Agda.Syntax.Common Methods traverseF :: Functor m => (a -> m b) -> WithHiding a -> m (WithHiding b) Source # distributeF :: Functor m => WithHiding (m a) -> m (WithHiding a) Source #
Foldable WithHiding Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

fold :: Monoid m => WithHiding m -> m Source #

foldMap :: Monoid m => (a -> m) -> WithHiding a -> m Source #

foldMap' :: Monoid m => (a -> m) -> WithHiding a -> m Source #

foldr :: (a -> b -> b) -> b -> WithHiding a -> b Source #

foldr' :: (a -> b -> b) -> b -> WithHiding a -> b Source #

foldl :: (b -> a -> b) -> b -> WithHiding a -> b Source #

foldl' :: (b -> a -> b) -> b -> WithHiding a -> b Source #

foldr1 :: (a -> a -> a) -> WithHiding a -> a Source #

foldl1 :: (a -> a -> a) -> WithHiding a -> a Source #

toList :: WithHiding a -> [a] Source #

null :: WithHiding a -> Bool Source #

length :: WithHiding a -> Int Source #

elem :: Eq a => a -> WithHiding a -> Bool Source #

maximum :: Ord a => WithHiding a -> a Source #

minimum :: Ord a => WithHiding a -> a Source #

sum :: Num a => WithHiding a -> a Source #

product :: Num a => WithHiding a -> a Source #

Traversable WithHiding Source # |
Instance details Defined in Agda.Syntax.Common Methods traverse :: Applicative f => (a -> f b) -> WithHiding a -> f (WithHiding b) Source # sequenceA :: Applicative f => WithHiding (f a) -> f (WithHiding a) Source # mapM :: Monad m => (a -> m b) -> WithHiding a -> m (WithHiding b) Source # sequence :: Monad m => WithHiding (m a) -> m (WithHiding a) Source #
Applicative WithHiding Source # |
Instance details Defined in Agda.Syntax.Common Methods pure :: a -> WithHiding a Source # (<*>) :: WithHiding (a -> b) -> WithHiding a -> WithHiding b Source # liftA2 :: (a -> b -> c) -> WithHiding a -> WithHiding b -> WithHiding c Source # (*>) :: WithHiding a -> WithHiding b -> WithHiding b Source # (<*) :: WithHiding a -> WithHiding b -> WithHiding a Source #
Functor WithHiding Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> WithHiding a -> WithHiding b Source # (<$) :: a -> WithHiding b -> WithHiding a Source #
ExprLike a => ExprLike (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Views Methods recurseExpr :: RecurseExprFn m (WithHiding a) Source # foldExpr :: FoldExprFn m (WithHiding a) Source # traverseExpr :: TraverseExprFn m (WithHiding a) Source # mapExpr :: (Expr -> Expr) -> WithHiding a -> WithHiding a Source #
LensHiding (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getHiding :: WithHiding a -> Hiding Source # setHiding :: Hiding -> WithHiding a -> WithHiding a Source # mapHiding :: (Hiding -> Hiding) -> WithHiding a -> WithHiding a Source #
ExprLike a => ExprLike (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Concrete.Generic Methods mapExpr :: (Expr -> Expr) -> WithHiding a -> WithHiding a Source # foldExpr :: Monoid m => (Expr -> m) -> WithHiding a -> m Source # traverseExpr :: Monad m => (Expr -> m Expr) -> WithHiding a -> m (WithHiding a) Source #
TermLike a => TermLike (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Internal.Generic Methods traverseTermM :: Monad m => (Term -> m Term) -> WithHiding a -> m (WithHiding a) Source # foldTerm :: Monoid m => (Term -> m) -> WithHiding a -> m Source #
HasRange a => HasRange (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: WithHiding a -> Range Source #
KillRange a => KillRange (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (WithHiding a) Source #
SetRange a => SetRange (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> WithHiding a -> WithHiding a Source #
ToConcrete a => ToConcrete (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete Associated Types type ConOfAbs (WithHiding a) Source # Methods toConcrete :: WithHiding a -> AbsToCon (ConOfAbs (WithHiding a)) Source # bindToConcrete :: WithHiding a -> (ConOfAbs (WithHiding a) -> AbsToCon b) -> AbsToCon b Source #
ToAbstract c => ToAbstract (WithHiding c) Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract Associated Types type AbsOfCon (WithHiding c) Source # Methods toAbstract :: WithHiding c -> ScopeM (AbsOfCon (WithHiding c)) Source #
Free t => Free (WithHiding t) Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods freeVars' :: IsVarSet a c => WithHiding t -> FreeM a c Source #
PrettyTCM a => PrettyTCM (WithHiding a) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => WithHiding a -> m Doc Source #
Normalise t => Normalise (WithHiding t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: WithHiding t -> ReduceM (WithHiding t) Source #
EmbPrj a => EmbPrj (WithHiding a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: WithHiding a -> S Int32 Source # icod_ :: WithHiding a -> S Int32 Source # value :: Int32 -> R (WithHiding a) Source #
Subst a => Subst (WithHiding a) Source # |
Instance details Defined in Agda.TypeChecking.Substitute Associated Types type SubstArg (WithHiding a) Source # Methods applySubst :: Substitution' (SubstArg (WithHiding a)) -> WithHiding a -> WithHiding a Source #
Pretty a => Pretty (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: WithHiding a -> Doc Source # prettyPrec :: Int -> WithHiding a -> Doc Source # prettyList :: [WithHiding a] -> Doc Source #
Data a => Data (WithHiding a) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WithHiding a -> c (WithHiding a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (WithHiding a) Source #

toConstr :: WithHiding a -> Constr Source #

dataTypeOf :: WithHiding a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (WithHiding a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (WithHiding a)) Source #

gmapT :: (forall b. Data b => b -> b) -> WithHiding a -> WithHiding a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WithHiding a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WithHiding a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> WithHiding a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WithHiding a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WithHiding a -> m (WithHiding a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WithHiding a -> m (WithHiding a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WithHiding a -> m (WithHiding a) Source #

Show a => Show (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> WithHiding a -> ShowS Source # show :: WithHiding a -> String Source # showList :: [WithHiding a] -> ShowS Source #
NFData a => NFData (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: WithHiding a -> () Source #
Eq a => Eq (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: WithHiding a -> WithHiding a -> Bool Source # (/=) :: WithHiding a -> WithHiding a -> Bool Source #
Ord a => Ord (WithHiding a) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: WithHiding a -> WithHiding a -> Ordering Source #

(<) :: WithHiding a -> WithHiding a -> Bool Source #

(<=) :: WithHiding a -> WithHiding a -> Bool Source #

(>) :: WithHiding a -> WithHiding a -> Bool Source #

(>=) :: WithHiding a -> WithHiding a -> Bool Source #

max :: WithHiding a -> WithHiding a -> WithHiding a Source #

min :: WithHiding a -> WithHiding a -> WithHiding a Source #

AddContext (List1 (WithHiding Name), Dom Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => (List1 (WithHiding Name), Dom Type) -> m a -> m a Source # contextSize :: (List1 (WithHiding Name), Dom Type) -> Nat Source #
AddContext ([WithHiding Name], Dom Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => ([WithHiding Name], Dom Type) -> m a -> m a Source # contextSize :: ([WithHiding Name], Dom Type) -> Nat Source #
type ConOfAbs (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (WithHiding a) = WithHiding (ConOfAbs a)
type AbsOfCon (WithHiding c) Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon (WithHiding c) = WithHiding (AbsOfCon c)
type SubstArg (WithHiding a) Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg (WithHiding a) = SubstArg a

class LensHiding a where Source #

A lens to access the `Hiding` attribute in data structures. Minimal implementation: `getHiding` and `mapHiding` or `LensArgInfo`.

Minimal complete definition

Nothing

Methods

getHiding :: a -> Hiding Source #

default getHiding :: LensArgInfo a => a -> Hiding Source #

setHiding :: Hiding -> a -> a Source #

mapHiding :: (Hiding -> Hiding) -> a -> a Source #

default mapHiding :: LensArgInfo a => (Hiding -> Hiding) -> a -> a Source #

#### Instances

Instances details

LensHiding LamBinding Source # |
Instance details Defined in Agda.Syntax.Abstract Methods getHiding :: LamBinding -> Hiding Source # setHiding :: Hiding -> LamBinding -> LamBinding Source # mapHiding :: (Hiding -> Hiding) -> LamBinding -> LamBinding Source #
LensHiding TypedBinding Source # |
Instance details Defined in Agda.Syntax.Abstract Methods getHiding :: TypedBinding -> Hiding Source # setHiding :: Hiding -> TypedBinding -> TypedBinding Source # mapHiding :: (Hiding -> Hiding) -> TypedBinding -> TypedBinding Source #
LensHiding ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getHiding :: ArgInfo -> Hiding Source # setHiding :: Hiding -> ArgInfo -> ArgInfo Source # mapHiding :: (Hiding -> Hiding) -> ArgInfo -> ArgInfo Source #
LensHiding Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods getHiding :: Hiding -> Hiding Source # setHiding :: Hiding -> Hiding -> Hiding Source # mapHiding :: (Hiding -> Hiding) -> Hiding -> Hiding Source #
LensHiding LamBinding Source # |
Instance details Defined in Agda.Syntax.Concrete Methods getHiding :: LamBinding -> Hiding Source # setHiding :: Hiding -> LamBinding -> LamBinding Source # mapHiding :: (Hiding -> Hiding) -> LamBinding -> LamBinding Source #
LensHiding TypedBinding Source # |
Instance details Defined in Agda.Syntax.Concrete Methods getHiding :: TypedBinding -> Hiding Source # setHiding :: Hiding -> TypedBinding -> TypedBinding Source # mapHiding :: (Hiding -> Hiding) -> TypedBinding -> TypedBinding Source #
LensHiding (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getHiding :: Arg e -> Hiding Source # setHiding :: Hiding -> Arg e -> Arg e Source # mapHiding :: (Hiding -> Hiding) -> Arg e -> Arg e Source #
LensHiding (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getHiding :: WithHiding a -> Hiding Source # setHiding :: Hiding -> WithHiding a -> WithHiding a Source # mapHiding :: (Hiding -> Hiding) -> WithHiding a -> WithHiding a Source #
LensHiding (FlexibleVar a) Source # |
Instance details Defined in Agda.TypeChecking.Rules.LHS.Problem Methods getHiding :: FlexibleVar a -> Hiding Source # setHiding :: Hiding -> FlexibleVar a -> FlexibleVar a Source # mapHiding :: (Hiding -> Hiding) -> FlexibleVar a -> FlexibleVar a Source #
LensHiding a => LensHiding (Named nm a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getHiding :: Named nm a -> Hiding Source # setHiding :: Hiding -> Named nm a -> Named nm a Source # mapHiding :: (Hiding -> Hiding) -> Named nm a -> Named nm a Source #
LensHiding (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getHiding :: Dom' t e -> Hiding Source # setHiding :: Hiding -> Dom' t e -> Dom' t e Source # mapHiding :: (Hiding -> Hiding) -> Dom' t e -> Dom' t e Source #

mergeHiding :: LensHiding a => WithHiding a -> a Source #

Monoidal composition of `Hiding` information in some data.

visible :: LensHiding a => a -> Bool Source #

`NotHidden` arguments are `visible`.

notVisible :: LensHiding a => a -> Bool Source #

`Instance` and `Hidden` arguments are `notVisible`.

hidden :: LensHiding a => a -> Bool Source #

`Hidden` arguments are `hidden`.

hide :: LensHiding a => a -> a Source #

hideOrKeepInstance :: LensHiding a => a -> a Source #

makeInstance :: LensHiding a => a -> a Source #

makeInstance' :: LensHiding a => Overlappable -> a -> a Source #

isOverlappable :: LensHiding a => a -> Bool Source #

isInstance :: LensHiding a => a -> Bool Source #

sameHiding :: (LensHiding a, LensHiding b) => a -> b -> Bool Source #

Ignores `Overlappable`.

# Modalities

newtype UnderAddition t Source #

Type wrapper to indicate additive monoid/semigroup context.

Constructors

UnderAddition t |

#### Instances

Instances details

Applicative UnderAddition Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

pure :: a -> UnderAddition a Source #

(<*>) :: UnderAddition (a -> b) -> UnderAddition a -> UnderAddition b Source #

liftA2 :: (a -> b -> c) -> UnderAddition a -> UnderAddition b -> UnderAddition c Source #

(*>) :: UnderAddition a -> UnderAddition b -> UnderAddition b Source #

(<*) :: UnderAddition a -> UnderAddition b -> UnderAddition a Source #

Functor UnderAddition Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> UnderAddition a -> UnderAddition b Source # (<$) :: a -> UnderAddition b -> UnderAddition a Source #
POMonoid (UnderAddition Cohesion) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderAddition Modality) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderAddition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderAddition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderAddition Cohesion) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderAddition Modality) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderAddition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderAddition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common
PartialOrd t => PartialOrd (UnderAddition t) Source # |
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable (UnderAddition t) Source #
Monoid (UnderAddition Cohesion) Source # | `Squash` is the additive unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderAddition Cohesion Source # mappend :: UnderAddition Cohesion -> UnderAddition Cohesion -> UnderAddition Cohesion Source # mconcat :: [UnderAddition Cohesion] -> UnderAddition Cohesion Source #
Monoid (UnderAddition Modality) Source # | Pointwise additive unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderAddition Modality Source # mappend :: UnderAddition Modality -> UnderAddition Modality -> UnderAddition Modality Source # mconcat :: [UnderAddition Modality] -> UnderAddition Modality Source #
Monoid (UnderAddition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderAddition Quantity Source # mappend :: UnderAddition Quantity -> UnderAddition Quantity -> UnderAddition Quantity Source # mconcat :: [UnderAddition Quantity] -> UnderAddition Quantity Source #
Monoid (UnderAddition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderAddition Relevance Source # mappend :: UnderAddition Relevance -> UnderAddition Relevance -> UnderAddition Relevance Source # mconcat :: [UnderAddition Relevance] -> UnderAddition Relevance Source #
Semigroup (UnderAddition Cohesion) Source # | `Cohesion` forms a semigroup under addition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderAddition Cohesion -> UnderAddition Cohesion -> UnderAddition Cohesion Source # sconcat :: NonEmpty (UnderAddition Cohesion) -> UnderAddition Cohesion Source # stimes :: Integral b => b -> UnderAddition Cohesion -> UnderAddition Cohesion Source #
Semigroup (UnderAddition Modality) Source # | Pointwise addition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderAddition Modality -> UnderAddition Modality -> UnderAddition Modality Source # sconcat :: NonEmpty (UnderAddition Modality) -> UnderAddition Modality Source # stimes :: Integral b => b -> UnderAddition Modality -> UnderAddition Modality Source #
Semigroup (UnderAddition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderAddition Quantity -> UnderAddition Quantity -> UnderAddition Quantity Source # sconcat :: NonEmpty (UnderAddition Quantity) -> UnderAddition Quantity Source # stimes :: Integral b => b -> UnderAddition Quantity -> UnderAddition Quantity Source #
Semigroup (UnderAddition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderAddition Relevance -> UnderAddition Relevance -> UnderAddition Relevance Source # sconcat :: NonEmpty (UnderAddition Relevance) -> UnderAddition Relevance Source # stimes :: Integral b => b -> UnderAddition Relevance -> UnderAddition Relevance Source #
Show t => Show (UnderAddition t) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> UnderAddition t -> ShowS Source # show :: UnderAddition t -> String Source # showList :: [UnderAddition t] -> ShowS Source #
Eq t => Eq (UnderAddition t) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: UnderAddition t -> UnderAddition t -> Bool Source # (/=) :: UnderAddition t -> UnderAddition t -> Bool Source #
Ord t => Ord (UnderAddition t) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: UnderAddition t -> UnderAddition t -> Ordering Source #

(<) :: UnderAddition t -> UnderAddition t -> Bool Source #

(<=) :: UnderAddition t -> UnderAddition t -> Bool Source #

(>) :: UnderAddition t -> UnderAddition t -> Bool Source #

(>=) :: UnderAddition t -> UnderAddition t -> Bool Source #

max :: UnderAddition t -> UnderAddition t -> UnderAddition t Source #

min :: UnderAddition t -> UnderAddition t -> UnderAddition t Source #

newtype UnderComposition t Source #

Type wrapper to indicate composition or multiplicative monoid/semigroup context.

Constructors

UnderComposition t |

#### Instances

Instances details

Applicative UnderComposition Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

pure :: a -> UnderComposition a Source #

(<*>) :: UnderComposition (a -> b) -> UnderComposition a -> UnderComposition b Source #

liftA2 :: (a -> b -> c) -> UnderComposition a -> UnderComposition b -> UnderComposition c Source #

(*>) :: UnderComposition a -> UnderComposition b -> UnderComposition b Source #

(<*) :: UnderComposition a -> UnderComposition b -> UnderComposition a Source #

Functor UnderComposition Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> UnderComposition a -> UnderComposition b Source # (<$) :: a -> UnderComposition b -> UnderComposition a Source #
LeftClosedPOMonoid (UnderComposition Cohesion) Source # |
Instance details Defined in Agda.Syntax.Common Methods inverseCompose :: UnderComposition Cohesion -> UnderComposition Cohesion -> UnderComposition Cohesion Source #
LeftClosedPOMonoid (UnderComposition Modality) Source # |
Instance details Defined in Agda.Syntax.Common Methods inverseCompose :: UnderComposition Modality -> UnderComposition Modality -> UnderComposition Modality Source #
LeftClosedPOMonoid (UnderComposition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common Methods inverseCompose :: UnderComposition Quantity -> UnderComposition Quantity -> UnderComposition Quantity Source #
LeftClosedPOMonoid (UnderComposition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common Methods inverseCompose :: UnderComposition Relevance -> UnderComposition Relevance -> UnderComposition Relevance Source #
POMonoid (UnderComposition Cohesion) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderComposition Modality) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderComposition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderComposition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderComposition Cohesion) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderComposition Modality) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderComposition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderComposition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common
PartialOrd t => PartialOrd (UnderComposition t) Source # |
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable (UnderComposition t) Source #
Monoid (UnderComposition Cohesion) Source # | `Continous` is the multiplicative unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderComposition Cohesion Source # mappend :: UnderComposition Cohesion -> UnderComposition Cohesion -> UnderComposition Cohesion Source # mconcat :: [UnderComposition Cohesion] -> UnderComposition Cohesion Source #
Monoid (UnderComposition Modality) Source # | Pointwise composition unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderComposition Modality Source # mappend :: UnderComposition Modality -> UnderComposition Modality -> UnderComposition Modality Source # mconcat :: [UnderComposition Modality] -> UnderComposition Modality Source #
Monoid (UnderComposition Quantity) Source # | In the absense of finite quantities besides 0, ω is the unit. Otherwise, 1 is the unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderComposition Quantity Source # mappend :: UnderComposition Quantity -> UnderComposition Quantity -> UnderComposition Quantity Source # mconcat :: [UnderComposition Quantity] -> UnderComposition Quantity Source #
Monoid (UnderComposition Relevance) Source # | `Relevant` is the unit under composition.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderComposition Relevance Source # mappend :: UnderComposition Relevance -> UnderComposition Relevance -> UnderComposition Relevance Source # mconcat :: [UnderComposition Relevance] -> UnderComposition Relevance Source #
Semigroup (UnderComposition Cohesion) Source # | `Cohesion` forms a semigroup under composition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition Cohesion -> UnderComposition Cohesion -> UnderComposition Cohesion Source # sconcat :: NonEmpty (UnderComposition Cohesion) -> UnderComposition Cohesion Source # stimes :: Integral b => b -> UnderComposition Cohesion -> UnderComposition Cohesion Source #
Semigroup (UnderComposition Erased) Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition Erased -> UnderComposition Erased -> UnderComposition Erased Source # sconcat :: NonEmpty (UnderComposition Erased) -> UnderComposition Erased Source # stimes :: Integral b => b -> UnderComposition Erased -> UnderComposition Erased Source #
Semigroup (UnderComposition Modality) Source # | Pointwise composition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition Modality -> UnderComposition Modality -> UnderComposition Modality Source # sconcat :: NonEmpty (UnderComposition Modality) -> UnderComposition Modality Source # stimes :: Integral b => b -> UnderComposition Modality -> UnderComposition Modality Source #
Semigroup (UnderComposition Quantity) Source # | Composition of quantities (multiplication). `Quantity0` is dominant. `Quantity1` is neutral. Right-biased for origin.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition Quantity -> UnderComposition Quantity -> UnderComposition Quantity Source # sconcat :: NonEmpty (UnderComposition Quantity) -> UnderComposition Quantity Source # stimes :: Integral b => b -> UnderComposition Quantity -> UnderComposition Quantity Source #
Semigroup (UnderComposition Relevance) Source # | `Relevance` forms a semigroup under composition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition Relevance -> UnderComposition Relevance -> UnderComposition Relevance Source # sconcat :: NonEmpty (UnderComposition Relevance) -> UnderComposition Relevance Source # stimes :: Integral b => b -> UnderComposition Relevance -> UnderComposition Relevance Source #
Show t => Show (UnderComposition t) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> UnderComposition t -> ShowS Source # show :: UnderComposition t -> String Source # showList :: [UnderComposition t] -> ShowS Source #
Eq t => Eq (UnderComposition t) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: UnderComposition t -> UnderComposition t -> Bool Source # (/=) :: UnderComposition t -> UnderComposition t -> Bool Source #
Ord t => Ord (UnderComposition t) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: UnderComposition t -> UnderComposition t -> Ordering Source #

(<) :: UnderComposition t -> UnderComposition t -> Bool Source #

(<=) :: UnderComposition t -> UnderComposition t -> Bool Source #

(>) :: UnderComposition t -> UnderComposition t -> Bool Source #

(>=) :: UnderComposition t -> UnderComposition t -> Bool Source #

max :: UnderComposition t -> UnderComposition t -> UnderComposition t Source #

min :: UnderComposition t -> UnderComposition t -> UnderComposition t Source #

data Modality Source #

We have a tuple of modalities, which might not be fully orthogonal. For instance, irrelevant stuff is also run-time irrelevant.

Constructors

Modality |

Fields

- modRelevance :: Relevance

  Legacy irrelevance. See Pfenning, LiCS 2001; AbelVezzosiWinterhalter, ICFP 2017.

- modQuantity :: Quantity

  Cardinality / runtime erasure. See Conor McBride, I got plenty o' nutting, Wadlerfest 2016. See Bob Atkey, Syntax and Semantics of Quantitative Type Theory, LiCS 2018.

- modCohesion :: Cohesion

  Cohesion/what was in Agda-flat. see "Brouwer's fixed-point theorem in real-cohesive homotopy type theory" (arXiv:1509.07584) Currently only the comonad is implemented.

#### Instances

Instances details

LensCohesion Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getCohesion :: Modality -> Cohesion Source # setCohesion :: Cohesion -> Modality -> Modality Source # mapCohesion :: (Cohesion -> Cohesion) -> Modality -> Modality Source #
LensModality Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getModality :: Modality -> Modality Source # setModality :: Modality -> Modality -> Modality Source # mapModality :: (Modality -> Modality) -> Modality -> Modality Source #
LensQuantity Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getQuantity :: Modality -> Quantity Source # setQuantity :: Quantity -> Modality -> Modality Source # mapQuantity :: (Quantity -> Quantity) -> Modality -> Modality Source #
LensRelevance Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getRelevance :: Modality -> Relevance Source # setRelevance :: Relevance -> Modality -> Modality Source # mapRelevance :: (Relevance -> Relevance) -> Modality -> Modality Source #
HasRange Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Modality -> Range Source #
KillRange Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Modality Source #
PrettyTCM Modality Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Modality -> m Doc Source #
EmbPrj Modality Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Modality -> S Int32 Source # icod_ :: Modality -> S Int32 Source # value :: Int32 -> R Modality Source #
Unquote Modality Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM Modality Source #
PartialOrd Modality Source # | Dominance ordering.
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable Modality Source #
Pretty Modality Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Modality -> Doc Source # prettyPrec :: Int -> Modality -> Doc Source # prettyList :: [Modality] -> Doc Source #
Data Modality Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Modality -> c Modality Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Modality Source #

toConstr :: Modality -> Constr Source #

dataTypeOf :: Modality -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Modality) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Modality) Source #

gmapT :: (forall b. Data b => b -> b) -> Modality -> Modality Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Modality -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Modality -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Modality -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Modality -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Modality -> m Modality Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Modality -> m Modality Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Modality -> m Modality Source #

Generic Modality Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Modality :: Type -> Type Source # Methods from :: Modality -> Rep Modality x Source # to :: Rep Modality x -> Modality Source #
Show Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Modality -> ShowS Source # show :: Modality -> String Source # showList :: [Modality] -> ShowS Source #
NFData Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Modality -> () Source #
Eq Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Modality -> Modality -> Bool Source # (/=) :: Modality -> Modality -> Bool Source #
Ord Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Modality -> Modality -> Ordering Source # (<) :: Modality -> Modality -> Bool Source # (<=) :: Modality -> Modality -> Bool Source # (>) :: Modality -> Modality -> Bool Source # (>=) :: Modality -> Modality -> Bool Source # max :: Modality -> Modality -> Modality Source # min :: Modality -> Modality -> Modality Source #
IsVarSet () AllowedVar Source # |
Instance details Defined in Agda.TypeChecking.MetaVars.Occurs Methods withVarOcc :: VarOcc' () -> AllowedVar -> AllowedVar Source #
LeftClosedPOMonoid (UnderComposition Modality) Source # |
Instance details Defined in Agda.Syntax.Common Methods inverseCompose :: UnderComposition Modality -> UnderComposition Modality -> UnderComposition Modality Source #
POMonoid (UnderAddition Modality) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderComposition Modality) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderAddition Modality) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderComposition Modality) Source # |
Instance details Defined in Agda.Syntax.Common
Monoid (UnderAddition Modality) Source # | Pointwise additive unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderAddition Modality Source # mappend :: UnderAddition Modality -> UnderAddition Modality -> UnderAddition Modality Source # mconcat :: [UnderAddition Modality] -> UnderAddition Modality Source #
Monoid (UnderComposition Modality) Source # | Pointwise composition unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderComposition Modality Source # mappend :: UnderComposition Modality -> UnderComposition Modality -> UnderComposition Modality Source # mconcat :: [UnderComposition Modality] -> UnderComposition Modality Source #
Semigroup (UnderAddition Modality) Source # | Pointwise addition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderAddition Modality -> UnderAddition Modality -> UnderAddition Modality Source # sconcat :: NonEmpty (UnderAddition Modality) -> UnderAddition Modality Source # stimes :: Integral b => b -> UnderAddition Modality -> UnderAddition Modality Source #
Semigroup (UnderComposition Modality) Source # | Pointwise composition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition Modality -> UnderComposition Modality -> UnderComposition Modality Source # sconcat :: NonEmpty (UnderComposition Modality) -> UnderComposition Modality Source # stimes :: Integral b => b -> UnderComposition Modality -> UnderComposition Modality Source #
type Rep Modality Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep Modality = D1 ('MetaData "Modality" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "Modality" 'PrefixI 'True) (S1 ('MetaSel ('Just "modRelevance") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Relevance) :*: (S1 ('MetaSel ('Just "modQuantity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Quantity) :*: S1 ('MetaSel ('Just "modCohesion") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Cohesion))))

moreUsableModality :: Modality -> Modality -> Bool Source #

`m `moreUsableModality` m'` means that an `m` can be used where ever an `m'` is required.

usableModality :: LensModality a => a -> Bool Source #

composeModality :: Modality -> Modality -> Modality Source #

Multiplicative monoid (standard monoid).

applyModality :: LensModality a => Modality -> a -> a Source #

Compose with modality flag from the left. This function is e.g. used to update the modality information on pattern variables `a` after a match against something of modality `q`.

inverseComposeModality :: Modality -> Modality -> Modality Source #

`inverseComposeModality r x` returns the least modality `y` such that forall `x`, `y` we have `x `moreUsableModality` (r `composeModality` y)` iff `(r `inverseComposeModality` x) `moreUsableModality` y` (Galois connection).

inverseApplyModalityButNotQuantity :: LensModality a => Modality -> a -> a Source #

Left division by a `Modality`. Used e.g. to modify context when going into a `m` argument.

Note that this function does not change quantities.

addModality :: Modality -> Modality -> Modality Source #

`Modality` forms a pointwise additive monoid.

zeroModality :: Modality Source #

Identity under addition

unitModality :: Modality Source #

Identity under composition

topModality :: Modality Source #

Absorptive element under addition.

defaultModality :: Modality Source #

The default Modality Beware that this is neither the additive unit nor the unit under composition, because the default quantity is ω.

sameModality :: (LensModality a, LensModality b) => a -> b -> Bool Source #

Equality ignoring origin.

lModRelevance :: Lens' Relevance Modality Source #

lModQuantity :: Lens' Quantity Modality Source #

lModCohesion :: Lens' Cohesion Modality Source #

class LensModality a where Source #

Minimal complete definition

Nothing

Methods

getModality :: a -> Modality Source #

default getModality :: LensArgInfo a => a -> Modality Source #

setModality :: Modality -> a -> a Source #

mapModality :: (Modality -> Modality) -> a -> a Source #

default mapModality :: LensArgInfo a => (Modality -> Modality) -> a -> a Source #

#### Instances

Instances details

LensModality ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getModality :: ArgInfo -> Modality Source # setModality :: Modality -> ArgInfo -> ArgInfo Source # mapModality :: (Modality -> Modality) -> ArgInfo -> ArgInfo Source #
LensModality Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getModality :: Modality -> Modality Source # setModality :: Modality -> Modality -> Modality Source # mapModality :: (Modality -> Modality) -> Modality -> Modality Source #
LensModality Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModality :: Definition -> Modality Source # setModality :: Modality -> Definition -> Definition Source # mapModality :: (Modality -> Modality) -> Definition -> Definition Source #
LensModality MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModality :: MetaInfo -> Modality Source # setModality :: Modality -> MetaInfo -> MetaInfo Source # mapModality :: (Modality -> Modality) -> MetaInfo -> MetaInfo Source #
LensModality MetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModality :: MetaVariable -> Modality Source # setModality :: Modality -> MetaVariable -> MetaVariable Source # mapModality :: (Modality -> Modality) -> MetaVariable -> MetaVariable Source #
LensModality TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModality :: TCEnv -> Modality Source # setModality :: Modality -> TCEnv -> TCEnv Source # mapModality :: (Modality -> Modality) -> TCEnv -> TCEnv Source #
LensModality (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getModality :: Arg e -> Modality Source # setModality :: Modality -> Arg e -> Arg e Source # mapModality :: (Modality -> Modality) -> Arg e -> Arg e Source #
LensModality (VarOcc' a) Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods getModality :: VarOcc' a -> Modality Source # setModality :: Modality -> VarOcc' a -> VarOcc' a Source # mapModality :: (Modality -> Modality) -> VarOcc' a -> VarOcc' a Source #
LensModality (FlexibleVar a) Source # |
Instance details Defined in Agda.TypeChecking.Rules.LHS.Problem Methods getModality :: FlexibleVar a -> Modality Source # setModality :: Modality -> FlexibleVar a -> FlexibleVar a Source # mapModality :: (Modality -> Modality) -> FlexibleVar a -> FlexibleVar a Source #
LensModality (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getModality :: Dom' t e -> Modality Source # setModality :: Modality -> Dom' t e -> Dom' t e Source # mapModality :: (Modality -> Modality) -> Dom' t e -> Dom' t e Source #
LensModality (FreeEnv' a b c) Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods getModality :: FreeEnv' a b c -> Modality Source # setModality :: Modality -> FreeEnv' a b c -> FreeEnv' a b c Source # mapModality :: (Modality -> Modality) -> FreeEnv' a b c -> FreeEnv' a b c Source #

getRelevanceMod :: LensModality a => LensGet Relevance a Source #

setRelevanceMod :: LensModality a => LensSet Relevance a Source #

mapRelevanceMod :: LensModality a => LensMap Relevance a Source #

getQuantityMod :: LensModality a => LensGet Quantity a Source #

setQuantityMod :: LensModality a => LensSet Quantity a Source #

mapQuantityMod :: LensModality a => LensMap Quantity a Source #

getCohesionMod :: LensModality a => LensGet Cohesion a Source #

setCohesionMod :: LensModality a => LensSet Cohesion a Source #

mapCohesionMod :: LensModality a => LensMap Cohesion a Source #

# Quantities

## Quantity origin.

data Q0Origin Source #

Origin of `Quantity0`.

Constructors

Q0Inferred | User wrote nothing.
Q0 Range | User wrote "@0".
Q0Erased Range | User wrote "@erased".

#### Instances

Instances details

HasRange Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Q0Origin -> Range Source #
KillRange Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Q0Origin Source #
SetRange Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> Q0Origin -> Q0Origin Source #
EmbPrj Q0Origin Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Q0Origin -> S Int32 Source # icod_ :: Q0Origin -> S Int32 Source # value :: Int32 -> R Q0Origin Source #
Null Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Q0Origin Source # null :: Q0Origin -> Bool Source #
Pretty Q0Origin Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Q0Origin -> Doc Source # prettyPrec :: Int -> Q0Origin -> Doc Source # prettyList :: [Q0Origin] -> Doc Source #
Data Q0Origin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Q0Origin -> c Q0Origin Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Q0Origin Source #

toConstr :: Q0Origin -> Constr Source #

dataTypeOf :: Q0Origin -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Q0Origin) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Q0Origin) Source #

gmapT :: (forall b. Data b => b -> b) -> Q0Origin -> Q0Origin Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Q0Origin -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Q0Origin -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Q0Origin -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Q0Origin -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Q0Origin -> m Q0Origin Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Q0Origin -> m Q0Origin Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Q0Origin -> m Q0Origin Source #

Monoid Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: Q0Origin Source # mappend :: Q0Origin -> Q0Origin -> Q0Origin Source # mconcat :: [Q0Origin] -> Q0Origin Source #
Semigroup Q0Origin Source # | Right-biased composition, because the left quantity acts as context, and the right one as occurrence.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: Q0Origin -> Q0Origin -> Q0Origin Source # sconcat :: NonEmpty Q0Origin -> Q0Origin Source # stimes :: Integral b => b -> Q0Origin -> Q0Origin Source #
Generic Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Q0Origin :: Type -> Type Source # Methods from :: Q0Origin -> Rep Q0Origin x Source # to :: Rep Q0Origin x -> Q0Origin Source #
Show Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Q0Origin -> ShowS Source # show :: Q0Origin -> String Source # showList :: [Q0Origin] -> ShowS Source #
NFData Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Q0Origin -> () Source #
Eq Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Q0Origin -> Q0Origin -> Bool Source # (/=) :: Q0Origin -> Q0Origin -> Bool Source #
Ord Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Q0Origin -> Q0Origin -> Ordering Source # (<) :: Q0Origin -> Q0Origin -> Bool Source # (<=) :: Q0Origin -> Q0Origin -> Bool Source # (>) :: Q0Origin -> Q0Origin -> Bool Source # (>=) :: Q0Origin -> Q0Origin -> Bool Source # max :: Q0Origin -> Q0Origin -> Q0Origin Source # min :: Q0Origin -> Q0Origin -> Q0Origin Source #
type Rep Q0Origin Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep Q0Origin = D1 ('MetaData "Q0Origin" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "Q0Inferred" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Q0" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "Q0Erased" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))

data Q1Origin Source #

Origin of `Quantity1`.

Constructors

Q1Inferred | User wrote nothing.
Q1 Range | User wrote "@1".
Q1Linear Range | User wrote "@linear".

#### Instances

Instances details

HasRange Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Q1Origin -> Range Source #
KillRange Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Q1Origin Source #
SetRange Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> Q1Origin -> Q1Origin Source #
EmbPrj Q1Origin Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Q1Origin -> S Int32 Source # icod_ :: Q1Origin -> S Int32 Source # value :: Int32 -> R Q1Origin Source #
Null Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Q1Origin Source # null :: Q1Origin -> Bool Source #
Pretty Q1Origin Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Q1Origin -> Doc Source # prettyPrec :: Int -> Q1Origin -> Doc Source # prettyList :: [Q1Origin] -> Doc Source #
Data Q1Origin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Q1Origin -> c Q1Origin Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Q1Origin Source #

toConstr :: Q1Origin -> Constr Source #

dataTypeOf :: Q1Origin -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Q1Origin) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Q1Origin) Source #

gmapT :: (forall b. Data b => b -> b) -> Q1Origin -> Q1Origin Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Q1Origin -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Q1Origin -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Q1Origin -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Q1Origin -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Q1Origin -> m Q1Origin Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Q1Origin -> m Q1Origin Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Q1Origin -> m Q1Origin Source #

Monoid Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: Q1Origin Source # mappend :: Q1Origin -> Q1Origin -> Q1Origin Source # mconcat :: [Q1Origin] -> Q1Origin Source #
Semigroup Q1Origin Source # | Right-biased composition, because the left quantity acts as context, and the right one as occurrence.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: Q1Origin -> Q1Origin -> Q1Origin Source # sconcat :: NonEmpty Q1Origin -> Q1Origin Source # stimes :: Integral b => b -> Q1Origin -> Q1Origin Source #
Generic Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Q1Origin :: Type -> Type Source # Methods from :: Q1Origin -> Rep Q1Origin x Source # to :: Rep Q1Origin x -> Q1Origin Source #
Show Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Q1Origin -> ShowS Source # show :: Q1Origin -> String Source # showList :: [Q1Origin] -> ShowS Source #
NFData Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Q1Origin -> () Source #
Eq Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Q1Origin -> Q1Origin -> Bool Source # (/=) :: Q1Origin -> Q1Origin -> Bool Source #
Ord Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Q1Origin -> Q1Origin -> Ordering Source # (<) :: Q1Origin -> Q1Origin -> Bool Source # (<=) :: Q1Origin -> Q1Origin -> Bool Source # (>) :: Q1Origin -> Q1Origin -> Bool Source # (>=) :: Q1Origin -> Q1Origin -> Bool Source # max :: Q1Origin -> Q1Origin -> Q1Origin Source # min :: Q1Origin -> Q1Origin -> Q1Origin Source #
type Rep Q1Origin Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep Q1Origin = D1 ('MetaData "Q1Origin" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "Q1Inferred" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Q1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "Q1Linear" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))

data QωOrigin Source #

Origin of `Quantityω`.

Constructors

QωInferred | User wrote nothing.
Qω Range | User wrote "@ω".
QωPlenty Range | User wrote "@plenty".

#### Instances

Instances details

HasRange QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: QωOrigin -> Range Source #
KillRange QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT QωOrigin Source #
SetRange QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> QωOrigin -> QωOrigin Source #
EmbPrj QωOrigin Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: QωOrigin -> S Int32 Source # icod_ :: QωOrigin -> S Int32 Source # value :: Int32 -> R QωOrigin Source #
Null QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: QωOrigin Source # null :: QωOrigin -> Bool Source #
Pretty QωOrigin Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: QωOrigin -> Doc Source # prettyPrec :: Int -> QωOrigin -> Doc Source # prettyList :: [QωOrigin] -> Doc Source #
Data QωOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> QωOrigin -> c QωOrigin Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c QωOrigin Source #

toConstr :: QωOrigin -> Constr Source #

dataTypeOf :: QωOrigin -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c QωOrigin) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c QωOrigin) Source #

gmapT :: (forall b. Data b => b -> b) -> QωOrigin -> QωOrigin Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> QωOrigin -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> QωOrigin -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> QωOrigin -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> QωOrigin -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> QωOrigin -> m QωOrigin Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> QωOrigin -> m QωOrigin Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> QωOrigin -> m QωOrigin Source #

Monoid QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: QωOrigin Source # mappend :: QωOrigin -> QωOrigin -> QωOrigin Source # mconcat :: [QωOrigin] -> QωOrigin Source #
Semigroup QωOrigin Source # | Right-biased composition, because the left quantity acts as context, and the right one as occurrence.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: QωOrigin -> QωOrigin -> QωOrigin Source # sconcat :: NonEmpty QωOrigin -> QωOrigin Source # stimes :: Integral b => b -> QωOrigin -> QωOrigin Source #
Generic QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep QωOrigin :: Type -> Type Source # Methods from :: QωOrigin -> Rep QωOrigin x Source # to :: Rep QωOrigin x -> QωOrigin Source #
Show QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> QωOrigin -> ShowS Source # show :: QωOrigin -> String Source # showList :: [QωOrigin] -> ShowS Source #
NFData QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: QωOrigin -> () Source #
Eq QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: QωOrigin -> QωOrigin -> Bool Source # (/=) :: QωOrigin -> QωOrigin -> Bool Source #
Ord QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: QωOrigin -> QωOrigin -> Ordering Source # (<) :: QωOrigin -> QωOrigin -> Bool Source # (<=) :: QωOrigin -> QωOrigin -> Bool Source # (>) :: QωOrigin -> QωOrigin -> Bool Source # (>=) :: QωOrigin -> QωOrigin -> Bool Source # max :: QωOrigin -> QωOrigin -> QωOrigin Source # min :: QωOrigin -> QωOrigin -> QωOrigin Source #
type Rep QωOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep QωOrigin = D1 ('MetaData "Q\969Origin" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "Q\969Inferred" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Q\969" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "Q\969Plenty" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))

### Instances for `Q0Origin`.

### Instances for `Q1Origin`.

### Instances for `QωOrigin`.

## Quantity.

data Quantity Source #

Quantity for linearity.

A quantity is a set of natural numbers, indicating possible semantic uses of a variable. A singleton set `{n}` requires that the corresponding variable is used exactly `n` times.

Constructors

Quantity0 Q0Origin | Zero uses `{0}`, erased at runtime.
Quantity1 Q1Origin | Linear use `{1}` (could be updated destructively). Mostly TODO (needs postponable constraints between quantities to compute uses).
Quantityω QωOrigin | Unrestricted use `ℕ`.

#### Instances

Instances details

LensQuantity Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods getQuantity :: Quantity -> Quantity Source # setQuantity :: Quantity -> Quantity -> Quantity Source # mapQuantity :: (Quantity -> Quantity) -> Quantity -> Quantity Source #
HasRange Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Quantity -> Range Source #
KillRange Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Quantity Source #
SetRange Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> Quantity -> Quantity Source #
PrettyTCM Quantity Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Quantity -> m Doc Source #
EmbPrj Quantity Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Quantity -> S Int32 Source # icod_ :: Quantity -> S Int32 Source # value :: Int32 -> R Quantity Source #
Unquote Quantity Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM Quantity Source #
PartialOrd Quantity Source # | Note that the order is `ω ≤ 0,1`, more options is smaller.
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable Quantity Source #
Pretty Quantity Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Quantity -> Doc Source # prettyPrec :: Int -> Quantity -> Doc Source # prettyList :: [Quantity] -> Doc Source #
Data Quantity Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Quantity -> c Quantity Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Quantity Source #

toConstr :: Quantity -> Constr Source #

dataTypeOf :: Quantity -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Quantity) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Quantity) Source #

gmapT :: (forall b. Data b => b -> b) -> Quantity -> Quantity Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Quantity -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Quantity -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Quantity -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Quantity -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Quantity -> m Quantity Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Quantity -> m Quantity Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Quantity -> m Quantity Source #

Generic Quantity Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Quantity :: Type -> Type Source # Methods from :: Quantity -> Rep Quantity x Source # to :: Rep Quantity x -> Quantity Source #
Show Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Quantity -> ShowS Source # show :: Quantity -> String Source # showList :: [Quantity] -> ShowS Source #
NFData Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Quantity -> () Source #
Eq Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Quantity -> Quantity -> Bool Source # (/=) :: Quantity -> Quantity -> Bool Source #
Ord Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Quantity -> Quantity -> Ordering Source # (<) :: Quantity -> Quantity -> Bool Source # (<=) :: Quantity -> Quantity -> Bool Source # (>) :: Quantity -> Quantity -> Bool Source # (>=) :: Quantity -> Quantity -> Bool Source # max :: Quantity -> Quantity -> Quantity Source # min :: Quantity -> Quantity -> Quantity Source #
LeftClosedPOMonoid (UnderComposition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common Methods inverseCompose :: UnderComposition Quantity -> UnderComposition Quantity -> UnderComposition Quantity Source #
POMonoid (UnderAddition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderComposition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderAddition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderComposition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common
Monoid (UnderAddition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderAddition Quantity Source # mappend :: UnderAddition Quantity -> UnderAddition Quantity -> UnderAddition Quantity Source # mconcat :: [UnderAddition Quantity] -> UnderAddition Quantity Source #
Monoid (UnderComposition Quantity) Source # | In the absense of finite quantities besides 0, ω is the unit. Otherwise, 1 is the unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderComposition Quantity Source # mappend :: UnderComposition Quantity -> UnderComposition Quantity -> UnderComposition Quantity Source # mconcat :: [UnderComposition Quantity] -> UnderComposition Quantity Source #
Semigroup (UnderAddition Quantity) Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderAddition Quantity -> UnderAddition Quantity -> UnderAddition Quantity Source # sconcat :: NonEmpty (UnderAddition Quantity) -> UnderAddition Quantity Source # stimes :: Integral b => b -> UnderAddition Quantity -> UnderAddition Quantity Source #
Semigroup (UnderComposition Quantity) Source # | Composition of quantities (multiplication). `Quantity0` is dominant. `Quantity1` is neutral. Right-biased for origin.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition Quantity -> UnderComposition Quantity -> UnderComposition Quantity Source # sconcat :: NonEmpty (UnderComposition Quantity) -> UnderComposition Quantity Source # stimes :: Integral b => b -> UnderComposition Quantity -> UnderComposition Quantity Source #
type Rep Quantity Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep Quantity = D1 ('MetaData "Quantity" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "Quantity0" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Q0Origin)) :+: (C1 ('MetaCons "Quantity1" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Q1Origin)) :+: C1 ('MetaCons "Quantity\969" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QωOrigin))))

sameQuantity :: Quantity -> Quantity -> Bool Source #

Equality ignoring origin.

addQuantity :: Quantity -> Quantity -> Quantity Source #

`Quantity` forms an additive monoid with zero Quantity0.

zeroQuantity :: Quantity Source #

Identity element under addition

defaultQuantity :: Quantity Source #

Absorptive element! This differs from Relevance and Cohesion whose default is the multiplicative unit.

unitQuantity :: Quantity Source #

Identity element under composition

topQuantity :: Quantity Source #

Absorptive element is ω.

moreQuantity :: Quantity -> Quantity -> Bool Source #

`m `moreUsableQuantity` m'` means that an `m` can be used where ever an `m'` is required.

composeQuantity :: Quantity -> Quantity -> Quantity Source #

Composition of quantities (multiplication).

`Quantity0` is dominant. `Quantity1` is neutral.

Right-biased for origin.

applyQuantity :: LensQuantity a => Quantity -> a -> a Source #

Compose with quantity flag from the left. This function is e.g. used to update the quantity information on pattern variables `a` after a match against something of quantity `q`.

inverseComposeQuantity :: Quantity -> Quantity -> Quantity Source #

`inverseComposeQuantity r x` returns the least quantity `y` such that forall `x`, `y` we have `x `moreQuantity` (r `composeQuantity` y)` iff `(r `inverseComposeQuantity` x) `moreQuantity` y` (Galois connection).

inverseApplyQuantity :: LensQuantity a => Quantity -> a -> a Source #

Left division by a `Quantity`. Used e.g. to modify context when going into a `q` argument.

hasQuantity0 :: LensQuantity a => a -> Bool Source #

Check for `Quantity0`.

hasQuantity1 :: LensQuantity a => a -> Bool Source #

Check for `Quantity1`.

hasQuantityω :: LensQuantity a => a -> Bool Source #

Check for `Quantityω`.

noUserQuantity :: LensQuantity a => a -> Bool Source #

Did the user supply a quantity annotation?

usableQuantity :: LensQuantity a => a -> Bool Source #

A thing of quantity 0 is unusable, all others are usable.

class LensQuantity a where Source #

Minimal complete definition

Nothing

Methods

getQuantity :: a -> Quantity Source #

default getQuantity :: LensModality a => a -> Quantity Source #

setQuantity :: Quantity -> a -> a Source #

mapQuantity :: (Quantity -> Quantity) -> a -> a Source #

default mapQuantity :: LensModality a => (Quantity -> Quantity) -> a -> a Source #

#### Instances

Instances details

LensQuantity ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getQuantity :: ArgInfo -> Quantity Source # setQuantity :: Quantity -> ArgInfo -> ArgInfo Source # mapQuantity :: (Quantity -> Quantity) -> ArgInfo -> ArgInfo Source #
LensQuantity Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getQuantity :: Modality -> Quantity Source # setQuantity :: Quantity -> Modality -> Modality Source # mapQuantity :: (Quantity -> Quantity) -> Modality -> Modality Source #
LensQuantity Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods getQuantity :: Quantity -> Quantity Source # setQuantity :: Quantity -> Quantity -> Quantity Source # mapQuantity :: (Quantity -> Quantity) -> Quantity -> Quantity Source #
LensQuantity Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: Definition -> Quantity Source # setQuantity :: Quantity -> Definition -> Definition Source # mapQuantity :: (Quantity -> Quantity) -> Definition -> Definition Source #
LensQuantity MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: MetaInfo -> Quantity Source # setQuantity :: Quantity -> MetaInfo -> MetaInfo Source # mapQuantity :: (Quantity -> Quantity) -> MetaInfo -> MetaInfo Source #
LensQuantity MetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: MetaVariable -> Quantity Source # setQuantity :: Quantity -> MetaVariable -> MetaVariable Source # mapQuantity :: (Quantity -> Quantity) -> MetaVariable -> MetaVariable Source #
LensQuantity TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: TCEnv -> Quantity Source # setQuantity :: Quantity -> TCEnv -> TCEnv Source # mapQuantity :: (Quantity -> Quantity) -> TCEnv -> TCEnv Source #
LensQuantity (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getQuantity :: Arg e -> Quantity Source # setQuantity :: Quantity -> Arg e -> Arg e Source # mapQuantity :: (Quantity -> Quantity) -> Arg e -> Arg e Source #
LensQuantity (VarOcc' a) Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods getQuantity :: VarOcc' a -> Quantity Source # setQuantity :: Quantity -> VarOcc' a -> VarOcc' a Source # mapQuantity :: (Quantity -> Quantity) -> VarOcc' a -> VarOcc' a Source #
LensQuantity (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getQuantity :: Dom' t e -> Quantity Source # setQuantity :: Quantity -> Dom' t e -> Dom' t e Source # mapQuantity :: (Quantity -> Quantity) -> Dom' t e -> Dom' t e Source #
LensQuantity (FreeEnv' a b c) Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods getQuantity :: FreeEnv' a b c -> Quantity Source # setQuantity :: Quantity -> FreeEnv' a b c -> FreeEnv' a b c Source # mapQuantity :: (Quantity -> Quantity) -> FreeEnv' a b c -> FreeEnv' a b c Source #

## Erased.

data Erased Source #

A special case of `Quantity`: erased or not.

Constructors

Erased Q0Origin |
NotErased QωOrigin |

#### Instances

Instances details

HasRange Erased Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Erased -> Range Source #
KillRange Erased Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Erased Source #
Data Erased Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Erased -> c Erased Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Erased Source #

toConstr :: Erased -> Constr Source #

dataTypeOf :: Erased -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Erased) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Erased) Source #

gmapT :: (forall b. Data b => b -> b) -> Erased -> Erased Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Erased -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Erased -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Erased -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Erased -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Erased -> m Erased Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Erased -> m Erased Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Erased -> m Erased Source #

Generic Erased Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Erased :: Type -> Type Source # Methods from :: Erased -> Rep Erased x Source # to :: Rep Erased x -> Erased Source #
Show Erased Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Erased -> ShowS Source # show :: Erased -> String Source # showList :: [Erased] -> ShowS Source #
NFData Erased Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Erased -> () Source #
Eq Erased Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Erased -> Erased -> Bool Source # (/=) :: Erased -> Erased -> Bool Source #
Semigroup (UnderComposition Erased) Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition Erased -> UnderComposition Erased -> UnderComposition Erased Source # sconcat :: NonEmpty (UnderComposition Erased) -> UnderComposition Erased Source # stimes :: Integral b => b -> UnderComposition Erased -> UnderComposition Erased Source #
type Rep Erased Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep Erased = D1 ('MetaData "Erased" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "Erased" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Q0Origin)) :+: C1 ('MetaCons "NotErased" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 QωOrigin)))

defaultErased :: Erased Source #

The default value of type `Erased`: not erased.

asQuantity :: Erased -> Quantity Source #

`Erased` can be embedded into `Quantity`.

erasedFromQuantity :: Quantity -> Maybe Erased Source #

`Quantity` can be projected onto `Erased`.

sameErased :: Erased -> Erased -> Bool Source #

Equality ignoring origin.

isErased :: Erased -> Bool Source #

Is the value "erased"?

composeErased :: Erased -> Erased -> Erased Source #

Composition of values of type `Erased`.

`Erased` is dominant. `NotErased` is neutral.

Right-biased for the origin.

# Relevance

data Relevance Source #

A function argument can be relevant or irrelevant. See Agda.TypeChecking.Irrelevance.

Constructors

Relevant | The argument is (possibly) relevant at compile-time.
NonStrict | The argument may never flow into evaluation position. Therefore, it is irrelevant at run-time. It is treated relevantly during equality checking.
Irrelevant | The argument is irrelevant at compile- and runtime.

#### Instances

Instances details

LensRelevance Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods getRelevance :: Relevance -> Relevance Source # setRelevance :: Relevance -> Relevance -> Relevance Source # mapRelevance :: (Relevance -> Relevance) -> Relevance -> Relevance Source #
HasRange Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Relevance -> Range Source #
KillRange Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Relevance Source #
SetRange Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> Relevance -> Relevance Source #
PrettyTCM Relevance Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Relevance -> m Doc Source #
EmbPrj Relevance Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Relevance -> S Int32 Source # icod_ :: Relevance -> S Int32 Source # value :: Int32 -> R Relevance Source #
Unquote Relevance Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM Relevance Source #
PartialOrd Relevance Source # | More relevant is smaller.
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable Relevance Source #
Pretty Relevance Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Relevance -> Doc Source # prettyPrec :: Int -> Relevance -> Doc Source # prettyList :: [Relevance] -> Doc Source #
Data Relevance Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Relevance -> c Relevance Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Relevance Source #

toConstr :: Relevance -> Constr Source #

dataTypeOf :: Relevance -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Relevance) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Relevance) Source #

gmapT :: (forall b. Data b => b -> b) -> Relevance -> Relevance Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Relevance -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Relevance -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Relevance -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Relevance -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Relevance -> m Relevance Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Relevance -> m Relevance Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Relevance -> m Relevance Source #

Bounded Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: Relevance Source # maxBound :: Relevance Source #
Enum Relevance Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: Relevance -> Relevance Source #

pred :: Relevance -> Relevance Source #

toEnum :: Int -> Relevance Source #

fromEnum :: Relevance -> Int Source #

enumFrom :: Relevance -> [Relevance] Source #

enumFromThen :: Relevance -> Relevance -> [Relevance] Source #

enumFromTo :: Relevance -> Relevance -> [Relevance] Source #

enumFromThenTo :: Relevance -> Relevance -> Relevance -> [Relevance] Source #

Generic Relevance Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Relevance :: Type -> Type Source # Methods from :: Relevance -> Rep Relevance x Source # to :: Rep Relevance x -> Relevance Source #
Show Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Relevance -> ShowS Source # show :: Relevance -> String Source # showList :: [Relevance] -> ShowS Source #
NFData Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Relevance -> () Source #
Eq Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Relevance -> Relevance -> Bool Source # (/=) :: Relevance -> Relevance -> Bool Source #
Ord Relevance Source # | More relevant is smaller.

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: Relevance -> Relevance -> Ordering Source #

(<) :: Relevance -> Relevance -> Bool Source #

(<=) :: Relevance -> Relevance -> Bool Source #

(>) :: Relevance -> Relevance -> Bool Source #

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

max :: Relevance -> Relevance -> Relevance Source #

min :: Relevance -> Relevance -> Relevance Source #

LeftClosedPOMonoid (UnderComposition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common Methods inverseCompose :: UnderComposition Relevance -> UnderComposition Relevance -> UnderComposition Relevance Source #
POMonoid (UnderAddition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderComposition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderAddition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderComposition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common
Monoid (UnderAddition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderAddition Relevance Source # mappend :: UnderAddition Relevance -> UnderAddition Relevance -> UnderAddition Relevance Source # mconcat :: [UnderAddition Relevance] -> UnderAddition Relevance Source #
Monoid (UnderComposition Relevance) Source # | `Relevant` is the unit under composition.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderComposition Relevance Source # mappend :: UnderComposition Relevance -> UnderComposition Relevance -> UnderComposition Relevance Source # mconcat :: [UnderComposition Relevance] -> UnderComposition Relevance Source #
Semigroup (UnderAddition Relevance) Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderAddition Relevance -> UnderAddition Relevance -> UnderAddition Relevance Source # sconcat :: NonEmpty (UnderAddition Relevance) -> UnderAddition Relevance Source # stimes :: Integral b => b -> UnderAddition Relevance -> UnderAddition Relevance Source #
Semigroup (UnderComposition Relevance) Source # | `Relevance` forms a semigroup under composition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition Relevance -> UnderComposition Relevance -> UnderComposition Relevance Source # sconcat :: NonEmpty (UnderComposition Relevance) -> UnderComposition Relevance Source # stimes :: Integral b => b -> UnderComposition Relevance -> UnderComposition Relevance Source #
type Rep Relevance Source # |
Instance details Defined in Agda.Syntax.Common type Rep Relevance = D1 ('MetaData "Relevance" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "Relevant" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "NonStrict" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Irrelevant" 'PrefixI 'False) (U1 :: Type -> Type)))

allRelevances :: [Relevance] Source #

class LensRelevance a where Source #

A lens to access the `Relevance` attribute in data structures. Minimal implementation: `getRelevance` and `mapRelevance` or `LensModality`.

Minimal complete definition

Nothing

Methods

getRelevance :: a -> Relevance Source #

default getRelevance :: LensModality a => a -> Relevance Source #

setRelevance :: Relevance -> a -> a Source #

mapRelevance :: (Relevance -> Relevance) -> a -> a Source #

default mapRelevance :: LensModality a => (Relevance -> Relevance) -> a -> a Source #

#### Instances

Instances details

LensRelevance ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getRelevance :: ArgInfo -> Relevance Source # setRelevance :: Relevance -> ArgInfo -> ArgInfo Source # mapRelevance :: (Relevance -> Relevance) -> ArgInfo -> ArgInfo Source #
LensRelevance Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getRelevance :: Modality -> Relevance Source # setRelevance :: Relevance -> Modality -> Modality Source # mapRelevance :: (Relevance -> Relevance) -> Modality -> Modality Source #
LensRelevance Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods getRelevance :: Relevance -> Relevance Source # setRelevance :: Relevance -> Relevance -> Relevance Source # mapRelevance :: (Relevance -> Relevance) -> Relevance -> Relevance Source #
LensRelevance TypedBinding Source # |
Instance details Defined in Agda.Syntax.Concrete Methods getRelevance :: TypedBinding -> Relevance Source # setRelevance :: Relevance -> TypedBinding -> TypedBinding Source # mapRelevance :: (Relevance -> Relevance) -> TypedBinding -> TypedBinding Source #
LensRelevance Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRelevance :: Definition -> Relevance Source # setRelevance :: Relevance -> Definition -> Definition Source # mapRelevance :: (Relevance -> Relevance) -> Definition -> Definition Source #
LensRelevance TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRelevance :: TCEnv -> Relevance Source # setRelevance :: Relevance -> TCEnv -> TCEnv Source # mapRelevance :: (Relevance -> Relevance) -> TCEnv -> TCEnv Source #
LensRelevance (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRelevance :: Arg e -> Relevance Source # setRelevance :: Relevance -> Arg e -> Arg e Source # mapRelevance :: (Relevance -> Relevance) -> Arg e -> Arg e Source #
LensRelevance (VarOcc' a) Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods getRelevance :: VarOcc' a -> Relevance Source # setRelevance :: Relevance -> VarOcc' a -> VarOcc' a Source # mapRelevance :: (Relevance -> Relevance) -> VarOcc' a -> VarOcc' a Source #
LensRelevance (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getRelevance :: Dom' t e -> Relevance Source # setRelevance :: Relevance -> Dom' t e -> Dom' t e Source # mapRelevance :: (Relevance -> Relevance) -> Dom' t e -> Dom' t e Source #
LensRelevance (FreeEnv' a b c) Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods getRelevance :: FreeEnv' a b c -> Relevance Source # setRelevance :: Relevance -> FreeEnv' a b c -> FreeEnv' a b c Source # mapRelevance :: (Relevance -> Relevance) -> FreeEnv' a b c -> FreeEnv' a b c Source #

isRelevant :: LensRelevance a => a -> Bool Source #

isIrrelevant :: LensRelevance a => a -> Bool Source #

isNonStrict :: LensRelevance a => a -> Bool Source #

moreRelevant :: Relevance -> Relevance -> Bool Source #

Information ordering. `Relevant `moreRelevant` NonStrict `moreRelevant` Irrelevant`

sameRelevance :: Relevance -> Relevance -> Bool Source #

Equality ignoring origin.

usableRelevance :: LensRelevance a => a -> Bool Source #

`usableRelevance rel == False` iff we cannot use a variable of `rel`.

composeRelevance :: Relevance -> Relevance -> Relevance Source #

`Relevance` composition. `Irrelevant` is dominant, `Relevant` is neutral. Composition coincides with `max`.

applyRelevance :: LensRelevance a => Relevance -> a -> a Source #

Compose with relevance flag from the left. This function is e.g. used to update the relevance information on pattern variables `a` after a match against something `rel`.

inverseComposeRelevance :: Relevance -> Relevance -> Relevance Source #

`inverseComposeRelevance r x` returns the most irrelevant `y` such that forall `x`, `y` we have `x `moreRelevant` (r `composeRelevance` y)` iff `(r `inverseComposeRelevance` x) `moreRelevant` y` (Galois connection).

inverseApplyRelevance :: LensRelevance a => Relevance -> a -> a Source #

Left division by a `Relevance`. Used e.g. to modify context when going into a `rel` argument.

addRelevance :: Relevance -> Relevance -> Relevance Source #

Combine inferred `Relevance`. The unit is `Irrelevant`.

zeroRelevance :: Relevance Source #

`Relevance` forms a monoid under addition, and even a semiring.

unitRelevance :: Relevance Source #

Identity element under composition

topRelevance :: Relevance Source #

Absorptive element under addition.

defaultRelevance :: Relevance Source #

Default Relevance is the identity element under composition

irrToNonStrict :: Relevance -> Relevance Source #

Irrelevant function arguments may appear non-strictly in the codomain type.

nonStrictToRel :: Relevance -> Relevance Source #

Applied when working on types (unless --experimental-irrelevance).

nonStrictToIrr :: Relevance -> Relevance Source #

# Annotations

data Annotation Source #

We have a tuple of annotations, which might not be fully orthogonal.

Constructors

Annotation |

Fields

- annLock :: Lock

  Fitch-style dependent right adjoints. See Modal Dependent Type Theory and Dependent Right Adjoints, arXiv:1804.05236.

#### Instances

Instances details

LensAnnotation Annotation Source # |
Instance details Defined in Agda.Syntax.Common Methods getAnnotation :: Annotation -> Annotation Source # setAnnotation :: Annotation -> Annotation -> Annotation Source # mapAnnotation :: (Annotation -> Annotation) -> Annotation -> Annotation Source #
HasRange Annotation Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Annotation -> Range Source #
KillRange Annotation Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Annotation Source #
EmbPrj Annotation Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Annotation -> S Int32 Source # icod_ :: Annotation -> S Int32 Source # value :: Int32 -> R Annotation Source #
Data Annotation Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Annotation -> c Annotation Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Annotation Source #

toConstr :: Annotation -> Constr Source #

dataTypeOf :: Annotation -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Annotation) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Annotation) Source #

gmapT :: (forall b. Data b => b -> b) -> Annotation -> Annotation Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Annotation -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Annotation -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Annotation -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Annotation -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Annotation -> m Annotation Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Annotation -> m Annotation Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Annotation -> m Annotation Source #

Generic Annotation Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Annotation :: Type -> Type Source # Methods from :: Annotation -> Rep Annotation x Source # to :: Rep Annotation x -> Annotation Source #
Show Annotation Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Annotation -> ShowS Source # show :: Annotation -> String Source # showList :: [Annotation] -> ShowS Source #
NFData Annotation Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Annotation -> () Source #
Eq Annotation Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Annotation -> Annotation -> Bool Source # (/=) :: Annotation -> Annotation -> Bool Source #
Ord Annotation Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: Annotation -> Annotation -> Ordering Source #

(<) :: Annotation -> Annotation -> Bool Source #

(<=) :: Annotation -> Annotation -> Bool Source #

(>) :: Annotation -> Annotation -> Bool Source #

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

max :: Annotation -> Annotation -> Annotation Source #

min :: Annotation -> Annotation -> Annotation Source #

type Rep Annotation Source # |
Instance details Defined in Agda.Syntax.Common type Rep Annotation = D1 ('MetaData "Annotation" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "Annotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "annLock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lock)))

defaultAnnotation :: Annotation Source #

class LensAnnotation a where Source #

Minimal complete definition

Nothing

Methods

getAnnotation :: a -> Annotation Source #

default getAnnotation :: LensArgInfo a => a -> Annotation Source #

setAnnotation :: Annotation -> a -> a Source #

default setAnnotation :: LensArgInfo a => Annotation -> a -> a Source #

mapAnnotation :: (Annotation -> Annotation) -> a -> a Source #

#### Instances

Instances details

LensAnnotation Annotation Source # |
Instance details Defined in Agda.Syntax.Common Methods getAnnotation :: Annotation -> Annotation Source # setAnnotation :: Annotation -> Annotation -> Annotation Source # mapAnnotation :: (Annotation -> Annotation) -> Annotation -> Annotation Source #
LensAnnotation ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getAnnotation :: ArgInfo -> Annotation Source # setAnnotation :: Annotation -> ArgInfo -> ArgInfo Source # mapAnnotation :: (Annotation -> Annotation) -> ArgInfo -> ArgInfo Source #
LensAnnotation (Arg t) Source # |
Instance details Defined in Agda.Syntax.Common Methods getAnnotation :: Arg t -> Annotation Source # setAnnotation :: Annotation -> Arg t -> Arg t Source # mapAnnotation :: (Annotation -> Annotation) -> Arg t -> Arg t Source #
LensAnnotation (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getAnnotation :: Dom' t e -> Annotation Source # setAnnotation :: Annotation -> Dom' t e -> Dom' t e Source # mapAnnotation :: (Annotation -> Annotation) -> Dom' t e -> Dom' t e Source #

# Locks

data Lock Source #

Constructors

IsNotLock |
IsLock | In the future there might be different kinds of them. For now we assume lock weakening.

#### Instances

Instances details

LensLock Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods getLock :: Lock -> Lock Source # setLock :: Lock -> Lock -> Lock Source # mapLock :: (Lock -> Lock) -> Lock -> Lock Source #
EmbPrj Lock Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Lock -> S Int32 Source # icod_ :: Lock -> S Int32 Source # value :: Int32 -> R Lock Source #
Data Lock Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Lock -> c Lock Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Lock Source #

toConstr :: Lock -> Constr Source #

dataTypeOf :: Lock -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Lock) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Lock) Source #

gmapT :: (forall b. Data b => b -> b) -> Lock -> Lock Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Lock -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Lock -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Lock -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Lock -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Lock -> m Lock Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Lock -> m Lock Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Lock -> m Lock Source #

Bounded Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: Lock Source # maxBound :: Lock Source #
Enum Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods succ :: Lock -> Lock Source # pred :: Lock -> Lock Source # toEnum :: Int -> Lock Source # fromEnum :: Lock -> Int Source # enumFrom :: Lock -> [Lock] Source # enumFromThen :: Lock -> Lock -> [Lock] Source # enumFromTo :: Lock -> Lock -> [Lock] Source # enumFromThenTo :: Lock -> Lock -> Lock -> [Lock] Source #
Generic Lock Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Lock :: Type -> Type Source # Methods from :: Lock -> Rep Lock x Source # to :: Rep Lock x -> Lock Source #
Show Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Lock -> ShowS Source # show :: Lock -> String Source # showList :: [Lock] -> ShowS Source #
NFData Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Lock -> () Source #
Eq Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Lock -> Lock -> Bool Source # (/=) :: Lock -> Lock -> Bool Source #
Ord Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Lock -> Lock -> Ordering Source # (<) :: Lock -> Lock -> Bool Source # (<=) :: Lock -> Lock -> Bool Source # (>) :: Lock -> Lock -> Bool Source # (>=) :: Lock -> Lock -> Bool Source # max :: Lock -> Lock -> Lock Source # min :: Lock -> Lock -> Lock Source #
type Rep Lock Source # |
Instance details Defined in Agda.Syntax.Common type Rep Lock = D1 ('MetaData "Lock" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "IsNotLock" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsLock" 'PrefixI 'False) (U1 :: Type -> Type))

defaultLock :: Lock Source #

class LensLock a where Source #

Minimal complete definition

getLock

Methods

getLock :: a -> Lock Source #

setLock :: Lock -> a -> a Source #

mapLock :: (Lock -> Lock) -> a -> a Source #

#### Instances

Instances details

LensLock ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getLock :: ArgInfo -> Lock Source # setLock :: Lock -> ArgInfo -> ArgInfo Source # mapLock :: (Lock -> Lock) -> ArgInfo -> ArgInfo Source #
LensLock Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods getLock :: Lock -> Lock Source # setLock :: Lock -> Lock -> Lock Source # mapLock :: (Lock -> Lock) -> Lock -> Lock Source #
LensLock (Arg t) Source # |
Instance details Defined in Agda.Syntax.Common Methods getLock :: Arg t -> Lock Source # setLock :: Lock -> Arg t -> Arg t Source # mapLock :: (Lock -> Lock) -> Arg t -> Arg t Source #

# Cohesion

data Cohesion Source #

Cohesion modalities see "Brouwer's fixed-point theorem in real-cohesive homotopy type theory" (arXiv:1509.07584) types are now given an additional topological layer which the modalities interact with.

Constructors

Flat | same points, discrete topology, idempotent comonad, box-like.
Continuous | identity modality. | Sharp -- ^ same points, codiscrete topology, idempotent monad, diamond-like.
Squash | single point space, artificially added for Flat left-composition.

#### Instances

Instances details

LensCohesion Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods getCohesion :: Cohesion -> Cohesion Source # setCohesion :: Cohesion -> Cohesion -> Cohesion Source # mapCohesion :: (Cohesion -> Cohesion) -> Cohesion -> Cohesion Source #
HasRange Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Cohesion -> Range Source #
KillRange Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Cohesion Source #
SetRange Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> Cohesion -> Cohesion Source #
EmbPrj Cohesion Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Cohesion -> S Int32 Source # icod_ :: Cohesion -> S Int32 Source # value :: Int32 -> R Cohesion Source #
PartialOrd Cohesion Source # | Flatter is smaller.
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable Cohesion Source #
Pretty Cohesion Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Cohesion -> Doc Source # prettyPrec :: Int -> Cohesion -> Doc Source # prettyList :: [Cohesion] -> Doc Source #
Data Cohesion Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Cohesion -> c Cohesion Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Cohesion Source #

toConstr :: Cohesion -> Constr Source #

dataTypeOf :: Cohesion -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Cohesion) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Cohesion) Source #

gmapT :: (forall b. Data b => b -> b) -> Cohesion -> Cohesion Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Cohesion -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Cohesion -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Cohesion -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Cohesion -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Cohesion -> m Cohesion Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Cohesion -> m Cohesion Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Cohesion -> m Cohesion Source #

Bounded Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: Cohesion Source # maxBound :: Cohesion Source #
Enum Cohesion Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: Cohesion -> Cohesion Source #

pred :: Cohesion -> Cohesion Source #

toEnum :: Int -> Cohesion Source #

fromEnum :: Cohesion -> Int Source #

enumFrom :: Cohesion -> [Cohesion] Source #

enumFromThen :: Cohesion -> Cohesion -> [Cohesion] Source #

enumFromTo :: Cohesion -> Cohesion -> [Cohesion] Source #

enumFromThenTo :: Cohesion -> Cohesion -> Cohesion -> [Cohesion] Source #

Generic Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep Cohesion :: Type -> Type Source # Methods from :: Cohesion -> Rep Cohesion x Source # to :: Rep Cohesion x -> Cohesion Source #
Show Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Cohesion -> ShowS Source # show :: Cohesion -> String Source # showList :: [Cohesion] -> ShowS Source #
NFData Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Cohesion -> () Source #
Eq Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Cohesion -> Cohesion -> Bool Source # (/=) :: Cohesion -> Cohesion -> Bool Source #
Ord Cohesion Source # | Order is given by implication: flatter is smaller.
Instance details Defined in Agda.Syntax.Common Methods compare :: Cohesion -> Cohesion -> Ordering Source # (<) :: Cohesion -> Cohesion -> Bool Source # (<=) :: Cohesion -> Cohesion -> Bool Source # (>) :: Cohesion -> Cohesion -> Bool Source # (>=) :: Cohesion -> Cohesion -> Bool Source # max :: Cohesion -> Cohesion -> Cohesion Source # min :: Cohesion -> Cohesion -> Cohesion Source #
LeftClosedPOMonoid (UnderComposition Cohesion) Source # |
Instance details Defined in Agda.Syntax.Common Methods inverseCompose :: UnderComposition Cohesion -> UnderComposition Cohesion -> UnderComposition Cohesion Source #
POMonoid (UnderAddition Cohesion) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderComposition Cohesion) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderAddition Cohesion) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderComposition Cohesion) Source # |
Instance details Defined in Agda.Syntax.Common
Monoid (UnderAddition Cohesion) Source # | `Squash` is the additive unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderAddition Cohesion Source # mappend :: UnderAddition Cohesion -> UnderAddition Cohesion -> UnderAddition Cohesion Source # mconcat :: [UnderAddition Cohesion] -> UnderAddition Cohesion Source #
Monoid (UnderComposition Cohesion) Source # | `Continous` is the multiplicative unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderComposition Cohesion Source # mappend :: UnderComposition Cohesion -> UnderComposition Cohesion -> UnderComposition Cohesion Source # mconcat :: [UnderComposition Cohesion] -> UnderComposition Cohesion Source #
Semigroup (UnderAddition Cohesion) Source # | `Cohesion` forms a semigroup under addition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderAddition Cohesion -> UnderAddition Cohesion -> UnderAddition Cohesion Source # sconcat :: NonEmpty (UnderAddition Cohesion) -> UnderAddition Cohesion Source # stimes :: Integral b => b -> UnderAddition Cohesion -> UnderAddition Cohesion Source #
Semigroup (UnderComposition Cohesion) Source # | `Cohesion` forms a semigroup under composition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition Cohesion -> UnderComposition Cohesion -> UnderComposition Cohesion Source # sconcat :: NonEmpty (UnderComposition Cohesion) -> UnderComposition Cohesion Source # stimes :: Integral b => b -> UnderComposition Cohesion -> UnderComposition Cohesion Source #
type Rep Cohesion Source # |
Instance details Defined in Agda.Syntax.Common type Rep Cohesion = D1 ('MetaData "Cohesion" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "Flat" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Continuous" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Squash" 'PrefixI 'False) (U1 :: Type -> Type)))

allCohesions :: [Cohesion] Source #

class LensCohesion a where Source #

A lens to access the `Cohesion` attribute in data structures. Minimal implementation: `getCohesion` and `mapCohesion` or `LensModality`.

Minimal complete definition

Nothing

Methods

getCohesion :: a -> Cohesion Source #

default getCohesion :: LensModality a => a -> Cohesion Source #

setCohesion :: Cohesion -> a -> a Source #

mapCohesion :: (Cohesion -> Cohesion) -> a -> a Source #

default mapCohesion :: LensModality a => (Cohesion -> Cohesion) -> a -> a Source #

#### Instances

Instances details

LensCohesion ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getCohesion :: ArgInfo -> Cohesion Source # setCohesion :: Cohesion -> ArgInfo -> ArgInfo Source # mapCohesion :: (Cohesion -> Cohesion) -> ArgInfo -> ArgInfo Source #
LensCohesion Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods getCohesion :: Cohesion -> Cohesion Source # setCohesion :: Cohesion -> Cohesion -> Cohesion Source # mapCohesion :: (Cohesion -> Cohesion) -> Cohesion -> Cohesion Source #
LensCohesion Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getCohesion :: Modality -> Cohesion Source # setCohesion :: Cohesion -> Modality -> Modality Source # mapCohesion :: (Cohesion -> Cohesion) -> Modality -> Modality Source #
LensCohesion (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getCohesion :: Arg e -> Cohesion Source # setCohesion :: Cohesion -> Arg e -> Arg e Source # mapCohesion :: (Cohesion -> Cohesion) -> Arg e -> Arg e Source #
LensCohesion (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getCohesion :: Dom' t e -> Cohesion Source # setCohesion :: Cohesion -> Dom' t e -> Dom' t e Source # mapCohesion :: (Cohesion -> Cohesion) -> Dom' t e -> Dom' t e Source #

moreCohesion :: Cohesion -> Cohesion -> Bool Source #

Information ordering. `Flat `moreCohesion` Continuous `moreCohesion` Sharp `moreCohesion` Squash`

sameCohesion :: Cohesion -> Cohesion -> Bool Source #

Equality ignoring origin.

usableCohesion :: LensCohesion a => a -> Bool Source #

`usableCohesion rel == False` iff we cannot use a variable of `rel`.

composeCohesion :: Cohesion -> Cohesion -> Cohesion Source #

`Cohesion` composition. `Squash` is dominant, `Continuous` is neutral.

applyCohesion :: LensCohesion a => Cohesion -> a -> a Source #

Compose with cohesion flag from the left. This function is e.g. used to update the cohesion information on pattern variables `a` after a match against something of cohesion `rel`.

inverseComposeCohesion :: Cohesion -> Cohesion -> Cohesion Source #

`inverseComposeCohesion r x` returns the least `y` such that forall `x`, `y` we have `x `moreCohesion` (r `composeCohesion` y)` iff `(r `inverseComposeCohesion` x) `moreCohesion` y` (Galois connection). The above law fails for `r = Squash`.

inverseApplyCohesion :: LensCohesion a => Cohesion -> a -> a Source #

Left division by a `Cohesion`. Used e.g. to modify context when going into a `rel` argument.

addCohesion :: Cohesion -> Cohesion -> Cohesion Source #

Combine inferred `Cohesion`. The unit is `Squash`.

zeroCohesion :: Cohesion Source #

`Cohesion` forms a monoid under addition, and even a semiring.

unitCohesion :: Cohesion Source #

Identity under composition

topCohesion :: Cohesion Source #

Absorptive element under addition.

defaultCohesion :: Cohesion Source #

Default Cohesion is the identity element under composition

# Origin of arguments (user-written, inserted or reflected)

data Origin Source #

Origin of arguments.

Constructors

UserWritten | From the source file / user input. (Preserve!)
Inserted | E.g. inserted hidden arguments.
Reflected | Produced by the reflection machinery.
CaseSplit | Produced by an interactive case split.
Substitution | Named application produced to represent a substitution. E.g. "?0 (x = n)" instead of "?0 n"

#### Instances

Instances details

LensOrigin Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods getOrigin :: Origin -> Origin Source # setOrigin :: Origin -> Origin -> Origin Source # mapOrigin :: (Origin -> Origin) -> Origin -> Origin Source #
HasRange Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Origin -> Range Source #
KillRange Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Origin Source #
ChooseFlex Origin Source # |
Instance details Defined in Agda.TypeChecking.Rules.LHS.Problem Methods chooseFlex :: Origin -> Origin -> FlexChoice Source #
EmbPrj Origin Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Origin -> S Int32 Source # icod_ :: Origin -> S Int32 Source # value :: Int32 -> R Origin Source #
Data Origin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Origin -> c Origin Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Origin Source #

toConstr :: Origin -> Constr Source #

dataTypeOf :: Origin -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Origin) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Origin) Source #

gmapT :: (forall b. Data b => b -> b) -> Origin -> Origin Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Origin -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Origin -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Origin -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Origin -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Origin -> m Origin Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Origin -> m Origin Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Origin -> m Origin Source #

Show Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Origin -> ShowS Source # show :: Origin -> String Source # showList :: [Origin] -> ShowS Source #
NFData Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Origin -> () Source #
Eq Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Origin -> Origin -> Bool Source # (/=) :: Origin -> Origin -> Bool Source #
Ord Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Origin -> Origin -> Ordering Source # (<) :: Origin -> Origin -> Bool Source # (<=) :: Origin -> Origin -> Bool Source # (>) :: Origin -> Origin -> Bool Source # (>=) :: Origin -> Origin -> Bool Source # max :: Origin -> Origin -> Origin Source # min :: Origin -> Origin -> Origin Source #

data WithOrigin a Source #

Decorating something with `Origin` information.

Constructors

WithOrigin |

Fields

- woOrigin :: !Origin
- woThing :: a

#### Instances

Instances details

MapNamedArgPattern NAP Source # |
Instance details Defined in Agda.Syntax.Abstract.Pattern Methods mapNamedArgPattern :: (NAP -> NAP) -> NAP -> NAP Source #
Decoration WithOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods traverseF :: Functor m => (a -> m b) -> WithOrigin a -> m (WithOrigin b) Source # distributeF :: Functor m => WithOrigin (m a) -> m (WithOrigin a) Source #
Foldable WithOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

fold :: Monoid m => WithOrigin m -> m Source #

foldMap :: Monoid m => (a -> m) -> WithOrigin a -> m Source #

foldMap' :: Monoid m => (a -> m) -> WithOrigin a -> m Source #

foldr :: (a -> b -> b) -> b -> WithOrigin a -> b Source #

foldr' :: (a -> b -> b) -> b -> WithOrigin a -> b Source #

foldl :: (b -> a -> b) -> b -> WithOrigin a -> b Source #

foldl' :: (b -> a -> b) -> b -> WithOrigin a -> b Source #

foldr1 :: (a -> a -> a) -> WithOrigin a -> a Source #

foldl1 :: (a -> a -> a) -> WithOrigin a -> a Source #

toList :: WithOrigin a -> [a] Source #

null :: WithOrigin a -> Bool Source #

length :: WithOrigin a -> Int Source #

elem :: Eq a => a -> WithOrigin a -> Bool Source #

maximum :: Ord a => WithOrigin a -> a Source #

minimum :: Ord a => WithOrigin a -> a Source #

sum :: Num a => WithOrigin a -> a Source #

product :: Num a => WithOrigin a -> a Source #

Traversable WithOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods traverse :: Applicative f => (a -> f b) -> WithOrigin a -> f (WithOrigin b) Source # sequenceA :: Applicative f => WithOrigin (f a) -> f (WithOrigin a) Source # mapM :: Monad m => (a -> m b) -> WithOrigin a -> m (WithOrigin b) Source # sequence :: Monad m => WithOrigin (m a) -> m (WithOrigin a) Source #
Functor WithOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> WithOrigin a -> WithOrigin b Source # (<$) :: a -> WithOrigin b -> WithOrigin a Source #
MapNamedArgPattern a (NamedArg (Pattern' a)) Source # | Modify the content of `VarP`, and the closest surrounding `NamedArg`. Note: the `mapNamedArg` for `Pattern'` is not expressible simply by `fmap` or `traverse` etc., since `ConP` has `NamedArg` subpatterns, which are taken into account by `mapNamedArg`.
Instance details Defined in Agda.Syntax.Internal.Pattern Methods mapNamedArgPattern :: (NamedArg (Pattern' a) -> NamedArg (Pattern' a)) -> NamedArg (Pattern' a) -> NamedArg (Pattern' a) Source #
LensOrigin (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getOrigin :: WithOrigin a -> Origin Source # setOrigin :: Origin -> WithOrigin a -> WithOrigin a Source # mapOrigin :: (Origin -> Origin) -> WithOrigin a -> WithOrigin a Source #
IsNoName a => IsNoName (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Concrete.Name Methods isNoName :: WithOrigin a -> Bool Source #
PatternVars (NamedArg (Pattern' a)) Source # |
Instance details Defined in Agda.Syntax.Internal Associated Types type PatternVarOut (NamedArg (Pattern' a)) Source # Methods patternVars :: NamedArg (Pattern' a) -> [Arg (Either (PatternVarOut (NamedArg (Pattern' a))) Term)] Source #
HasRange a => HasRange (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: WithOrigin a -> Range Source #
KillRange a => KillRange (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (WithOrigin a) Source #
SetRange a => SetRange (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> WithOrigin a -> WithOrigin a Source #
PrettyTCM (NamedArg Expr) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NamedArg Expr -> m Doc Source #
PrettyTCM (NamedArg Term) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NamedArg Term -> m Doc Source #
PrettyTCM (Named_ Term) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Named_ Term -> m Doc Source #
NormaliseProjP a => NormaliseProjP (Named_ a) Source # |
Instance details Defined in Agda.TypeChecking.Records Methods normaliseProjP :: HasConstInfo m => Named_ a -> m (Named_ a) Source #
EmbPrj a => EmbPrj (WithOrigin a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: WithOrigin a -> S Int32 Source # icod_ :: WithOrigin a -> S Int32 Source # value :: Int32 -> R (WithOrigin a) Source #
Apply [NamedArg (Pattern' a)] Source # | Make sure we only drop variable patterns.
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: [NamedArg (Pattern' a)] -> Args -> [NamedArg (Pattern' a)] Source # applyE :: [NamedArg (Pattern' a)] -> Elims -> [NamedArg (Pattern' a)] Source #
Pretty e => Pretty (Named_ e) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Named_ e -> Doc Source # prettyPrec :: Int -> Named_ e -> Doc Source # prettyList :: [Named_ e] -> Doc Source #
Pretty a => Pretty (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: WithOrigin a -> Doc Source # prettyPrec :: Int -> WithOrigin a -> Doc Source # prettyList :: [WithOrigin a] -> Doc Source #
Data a => Data (WithOrigin a) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> WithOrigin a -> c (WithOrigin a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (WithOrigin a) Source #

toConstr :: WithOrigin a -> Constr Source #

dataTypeOf :: WithOrigin a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (WithOrigin a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (WithOrigin a)) Source #

gmapT :: (forall b. Data b => b -> b) -> WithOrigin a -> WithOrigin a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> WithOrigin a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> WithOrigin a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> WithOrigin a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> WithOrigin a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> WithOrigin a -> m (WithOrigin a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> WithOrigin a -> m (WithOrigin a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> WithOrigin a -> m (WithOrigin a) Source #

Show a => Show (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> WithOrigin a -> ShowS Source # show :: WithOrigin a -> String Source # showList :: [WithOrigin a] -> ShowS Source #
NFData a => NFData (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: WithOrigin a -> () Source #
Eq a => Eq (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: WithOrigin a -> WithOrigin a -> Bool Source # (/=) :: WithOrigin a -> WithOrigin a -> Bool Source #
Ord a => Ord (WithOrigin a) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: WithOrigin a -> WithOrigin a -> Ordering Source #

(<) :: WithOrigin a -> WithOrigin a -> Bool Source #

(<=) :: WithOrigin a -> WithOrigin a -> Bool Source #

(>) :: WithOrigin a -> WithOrigin a -> Bool Source #

(>=) :: WithOrigin a -> WithOrigin a -> Bool Source #

max :: WithOrigin a -> WithOrigin a -> WithOrigin a Source #

min :: WithOrigin a -> WithOrigin a -> WithOrigin a Source #

ToNLPat (NamedArg DeBruijnPattern) (Elim' NLPat) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.Clause Methods toNLPat :: NamedArg DeBruijnPattern -> Elim' NLPat Source #
AddContext (List1 (NamedArg Name), Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => (List1 (NamedArg Name), Type) -> m a -> m a Source # contextSize :: (List1 (NamedArg Name), Type) -> Nat Source #
AddContext ([NamedArg Name], Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => ([NamedArg Name], Type) -> m a -> m a Source # contextSize :: ([NamedArg Name], Type) -> Nat Source #
type PatternVarOut (NamedArg (Pattern' a)) Source # |
Instance details Defined in Agda.Syntax.Internal type PatternVarOut (NamedArg (Pattern' a)) = a

class LensOrigin a where Source #

A lens to access the `Origin` attribute in data structures. Minimal implementation: `getOrigin` and `mapOrigin` or `LensArgInfo`.

Minimal complete definition

Nothing

Methods

getOrigin :: a -> Origin Source #

default getOrigin :: LensArgInfo a => a -> Origin Source #

setOrigin :: Origin -> a -> a Source #

mapOrigin :: (Origin -> Origin) -> a -> a Source #

default mapOrigin :: LensArgInfo a => (Origin -> Origin) -> a -> a Source #

#### Instances

Instances details

LensOrigin ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getOrigin :: ArgInfo -> Origin Source # setOrigin :: Origin -> ArgInfo -> ArgInfo Source # mapOrigin :: (Origin -> Origin) -> ArgInfo -> ArgInfo Source #
LensOrigin Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods getOrigin :: Origin -> Origin Source # setOrigin :: Origin -> Origin -> Origin Source # mapOrigin :: (Origin -> Origin) -> Origin -> Origin Source #
LensOrigin AppInfo Source # |
Instance details Defined in Agda.Syntax.Info Methods getOrigin :: AppInfo -> Origin Source # setOrigin :: Origin -> AppInfo -> AppInfo Source # mapOrigin :: (Origin -> Origin) -> AppInfo -> AppInfo Source #
LensOrigin (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getOrigin :: Arg e -> Origin Source # setOrigin :: Origin -> Arg e -> Arg e Source # mapOrigin :: (Origin -> Origin) -> Arg e -> Arg e Source #
LensOrigin (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getOrigin :: WithOrigin a -> Origin Source # setOrigin :: Origin -> WithOrigin a -> WithOrigin a Source # mapOrigin :: (Origin -> Origin) -> WithOrigin a -> WithOrigin a Source #
LensOrigin (Elim' a) Source # | This instance cheats on `Proj`, use with care. `Proj`s are always assumed to be `UserWritten`, since they have no `ArgInfo`. Same for IApply
Instance details Defined in Agda.Syntax.Internal.Elim Methods getOrigin :: Elim' a -> Origin Source # setOrigin :: Origin -> Elim' a -> Elim' a Source # mapOrigin :: (Origin -> Origin) -> Elim' a -> Elim' a Source #
LensOrigin (FlexibleVar a) Source # |
Instance details Defined in Agda.TypeChecking.Rules.LHS.Problem Methods getOrigin :: FlexibleVar a -> Origin Source # setOrigin :: Origin -> FlexibleVar a -> FlexibleVar a Source # mapOrigin :: (Origin -> Origin) -> FlexibleVar a -> FlexibleVar a Source #
LensOrigin (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getOrigin :: Dom' t e -> Origin Source # setOrigin :: Origin -> Dom' t e -> Dom' t e Source # mapOrigin :: (Origin -> Origin) -> Dom' t e -> Dom' t e Source #

# Free variable annotations

data FreeVariables Source #

Constructors

UnknownFVs |
KnownFVs IntSet |

#### Instances

Instances details

LensFreeVariables FreeVariables Source # |
Instance details Defined in Agda.Syntax.Common Methods getFreeVariables :: FreeVariables -> FreeVariables Source # setFreeVariables :: FreeVariables -> FreeVariables -> FreeVariables Source # mapFreeVariables :: (FreeVariables -> FreeVariables) -> FreeVariables -> FreeVariables Source #
KillRange FreeVariables Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT FreeVariables Source #
EmbPrj FreeVariables Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: FreeVariables -> S Int32 Source # icod_ :: FreeVariables -> S Int32 Source # value :: Int32 -> R FreeVariables Source #
Data FreeVariables Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FreeVariables -> c FreeVariables Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FreeVariables Source #

toConstr :: FreeVariables -> Constr Source #

dataTypeOf :: FreeVariables -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FreeVariables) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FreeVariables) Source #

gmapT :: (forall b. Data b => b -> b) -> FreeVariables -> FreeVariables Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FreeVariables -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FreeVariables -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> FreeVariables -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FreeVariables -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FreeVariables -> m FreeVariables Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FreeVariables -> m FreeVariables Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FreeVariables -> m FreeVariables Source #

Monoid FreeVariables Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: FreeVariables Source # mappend :: FreeVariables -> FreeVariables -> FreeVariables Source # mconcat :: [FreeVariables] -> FreeVariables Source #
Semigroup FreeVariables Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: FreeVariables -> FreeVariables -> FreeVariables Source # sconcat :: NonEmpty FreeVariables -> FreeVariables Source # stimes :: Integral b => b -> FreeVariables -> FreeVariables Source #
Show FreeVariables Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> FreeVariables -> ShowS Source # show :: FreeVariables -> String Source # showList :: [FreeVariables] -> ShowS Source #
NFData FreeVariables Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: FreeVariables -> () Source #
Eq FreeVariables Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: FreeVariables -> FreeVariables -> Bool Source # (/=) :: FreeVariables -> FreeVariables -> Bool Source #
Ord FreeVariables Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: FreeVariables -> FreeVariables -> Ordering Source #

(<) :: FreeVariables -> FreeVariables -> Bool Source #

(<=) :: FreeVariables -> FreeVariables -> Bool Source #

(>) :: FreeVariables -> FreeVariables -> Bool Source #

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

max :: FreeVariables -> FreeVariables -> FreeVariables Source #

min :: FreeVariables -> FreeVariables -> FreeVariables Source #

unknownFreeVariables :: FreeVariables Source #

noFreeVariables :: FreeVariables Source #

oneFreeVariable :: Int -> FreeVariables Source #

freeVariablesFromList :: [Int] -> FreeVariables Source #

class LensFreeVariables a where Source #

A lens to access the `FreeVariables` attribute in data structures. Minimal implementation: `getFreeVariables` and `mapFreeVariables` or `LensArgInfo`.

Minimal complete definition

Nothing

Methods

getFreeVariables :: a -> FreeVariables Source #

default getFreeVariables :: LensArgInfo a => a -> FreeVariables Source #

setFreeVariables :: FreeVariables -> a -> a Source #

mapFreeVariables :: (FreeVariables -> FreeVariables) -> a -> a Source #

default mapFreeVariables :: LensArgInfo a => (FreeVariables -> FreeVariables) -> a -> a Source #

#### Instances

Instances details

LensFreeVariables ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getFreeVariables :: ArgInfo -> FreeVariables Source # setFreeVariables :: FreeVariables -> ArgInfo -> ArgInfo Source # mapFreeVariables :: (FreeVariables -> FreeVariables) -> ArgInfo -> ArgInfo Source #
LensFreeVariables FreeVariables Source # |
Instance details Defined in Agda.Syntax.Common Methods getFreeVariables :: FreeVariables -> FreeVariables Source # setFreeVariables :: FreeVariables -> FreeVariables -> FreeVariables Source # mapFreeVariables :: (FreeVariables -> FreeVariables) -> FreeVariables -> FreeVariables Source #
LensFreeVariables (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getFreeVariables :: Arg e -> FreeVariables Source # setFreeVariables :: FreeVariables -> Arg e -> Arg e Source # mapFreeVariables :: (FreeVariables -> FreeVariables) -> Arg e -> Arg e Source #
LensFreeVariables (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getFreeVariables :: Dom' t e -> FreeVariables Source # setFreeVariables :: FreeVariables -> Dom' t e -> Dom' t e Source # mapFreeVariables :: (FreeVariables -> FreeVariables) -> Dom' t e -> Dom' t e Source #

hasNoFreeVariables :: LensFreeVariables a => a -> Bool Source #

# Argument decoration

data ArgInfo Source #

A function argument can be hidden and/or irrelevant.

Constructors

ArgInfo |

Fields

- argInfoHiding :: Hiding
- argInfoModality :: Modality
- argInfoOrigin :: Origin
- argInfoFreeVariables :: FreeVariables
- argInfoAnnotation :: Annotation

  Sometimes we want a different kind of binder/pi-type, without it supporting any of the `Modality` interface.

#### Instances

Instances details

LensAnnotation ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getAnnotation :: ArgInfo -> Annotation Source # setAnnotation :: Annotation -> ArgInfo -> ArgInfo Source # mapAnnotation :: (Annotation -> Annotation) -> ArgInfo -> ArgInfo Source #
LensArgInfo ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getArgInfo :: ArgInfo -> ArgInfo Source # setArgInfo :: ArgInfo -> ArgInfo -> ArgInfo Source # mapArgInfo :: (ArgInfo -> ArgInfo) -> ArgInfo -> ArgInfo Source #
LensCohesion ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getCohesion :: ArgInfo -> Cohesion Source # setCohesion :: Cohesion -> ArgInfo -> ArgInfo Source # mapCohesion :: (Cohesion -> Cohesion) -> ArgInfo -> ArgInfo Source #
LensFreeVariables ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getFreeVariables :: ArgInfo -> FreeVariables Source # setFreeVariables :: FreeVariables -> ArgInfo -> ArgInfo Source # mapFreeVariables :: (FreeVariables -> FreeVariables) -> ArgInfo -> ArgInfo Source #
LensHiding ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getHiding :: ArgInfo -> Hiding Source # setHiding :: Hiding -> ArgInfo -> ArgInfo Source # mapHiding :: (Hiding -> Hiding) -> ArgInfo -> ArgInfo Source #
LensLock ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getLock :: ArgInfo -> Lock Source # setLock :: Lock -> ArgInfo -> ArgInfo Source # mapLock :: (Lock -> Lock) -> ArgInfo -> ArgInfo Source #
LensModality ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getModality :: ArgInfo -> Modality Source # setModality :: Modality -> ArgInfo -> ArgInfo Source # mapModality :: (Modality -> Modality) -> ArgInfo -> ArgInfo Source #
LensOrigin ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getOrigin :: ArgInfo -> Origin Source # setOrigin :: Origin -> ArgInfo -> ArgInfo Source # mapOrigin :: (Origin -> Origin) -> ArgInfo -> ArgInfo Source #
LensQuantity ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getQuantity :: ArgInfo -> Quantity Source # setQuantity :: Quantity -> ArgInfo -> ArgInfo Source # mapQuantity :: (Quantity -> Quantity) -> ArgInfo -> ArgInfo Source #
LensRelevance ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getRelevance :: ArgInfo -> Relevance Source # setRelevance :: Relevance -> ArgInfo -> ArgInfo Source # mapRelevance :: (Relevance -> Relevance) -> ArgInfo -> ArgInfo Source #
HasRange ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: ArgInfo -> Range Source #
KillRange ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT ArgInfo Source #
EqualSy ArgInfo Source # | Ignore origin and free variables.
Instance details Defined in Agda.TypeChecking.Abstract Methods equalSy :: ArgInfo -> ArgInfo -> Bool Source #
ToTerm ArgInfo Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods toTerm :: TCM (ArgInfo -> Term) Source # toTermR :: TCM (ArgInfo -> ReduceM Term) Source #
ChooseFlex ArgInfo Source # |
Instance details Defined in Agda.TypeChecking.Rules.LHS.Problem Methods chooseFlex :: ArgInfo -> ArgInfo -> FlexChoice Source #
EmbPrj ArgInfo Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: ArgInfo -> S Int32 Source # icod_ :: ArgInfo -> S Int32 Source # value :: Int32 -> R ArgInfo Source #
SynEq ArgInfo Source # |
Instance details Defined in Agda.TypeChecking.SyntacticEquality Methods synEq :: ArgInfo -> ArgInfo -> SynEqM (ArgInfo, ArgInfo) synEq' :: ArgInfo -> ArgInfo -> SynEqM (ArgInfo, ArgInfo)
Unquote ArgInfo Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM ArgInfo Source #
Data ArgInfo Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ArgInfo -> c ArgInfo Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ArgInfo Source #

toConstr :: ArgInfo -> Constr Source #

dataTypeOf :: ArgInfo -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ArgInfo) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ArgInfo) Source #

gmapT :: (forall b. Data b => b -> b) -> ArgInfo -> ArgInfo Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ArgInfo -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ArgInfo -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ArgInfo -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ArgInfo -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ArgInfo -> m ArgInfo Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ArgInfo -> m ArgInfo Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ArgInfo -> m ArgInfo Source #

Show ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> ArgInfo -> ShowS Source # show :: ArgInfo -> String Source # showList :: [ArgInfo] -> ShowS Source #
NFData ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: ArgInfo -> () Source #
Eq ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: ArgInfo -> ArgInfo -> Bool Source # (/=) :: ArgInfo -> ArgInfo -> Bool Source #
Ord ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: ArgInfo -> ArgInfo -> Ordering Source # (<) :: ArgInfo -> ArgInfo -> Bool Source # (<=) :: ArgInfo -> ArgInfo -> Bool Source # (>) :: ArgInfo -> ArgInfo -> Bool Source # (>=) :: ArgInfo -> ArgInfo -> Bool Source # max :: ArgInfo -> ArgInfo -> ArgInfo Source # min :: ArgInfo -> ArgInfo -> ArgInfo Source #

class LensArgInfo a where Source #

Minimal complete definition

getArgInfo

Methods

getArgInfo :: a -> ArgInfo Source #

setArgInfo :: ArgInfo -> a -> a Source #

mapArgInfo :: (ArgInfo -> ArgInfo) -> a -> a Source #

#### Instances

Instances details

LensArgInfo ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getArgInfo :: ArgInfo -> ArgInfo Source # setArgInfo :: ArgInfo -> ArgInfo -> ArgInfo Source # mapArgInfo :: (ArgInfo -> ArgInfo) -> ArgInfo -> ArgInfo Source #
LensArgInfo Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getArgInfo :: Definition -> ArgInfo Source # setArgInfo :: ArgInfo -> Definition -> Definition Source # mapArgInfo :: (ArgInfo -> ArgInfo) -> Definition -> Definition Source #
LensArgInfo (Arg a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getArgInfo :: Arg a -> ArgInfo Source # setArgInfo :: ArgInfo -> Arg a -> Arg a Source # mapArgInfo :: (ArgInfo -> ArgInfo) -> Arg a -> Arg a Source #
LensArgInfo (FlexibleVar a) Source # |
Instance details Defined in Agda.TypeChecking.Rules.LHS.Problem Methods getArgInfo :: FlexibleVar a -> ArgInfo Source # setArgInfo :: ArgInfo -> FlexibleVar a -> FlexibleVar a Source # mapArgInfo :: (ArgInfo -> ArgInfo) -> FlexibleVar a -> FlexibleVar a Source #
LensArgInfo (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getArgInfo :: Dom' t e -> ArgInfo Source # setArgInfo :: ArgInfo -> Dom' t e -> Dom' t e Source # mapArgInfo :: (ArgInfo -> ArgInfo) -> Dom' t e -> Dom' t e Source #

defaultArgInfo :: ArgInfo Source #

getHidingArgInfo :: LensArgInfo a => LensGet Hiding a Source #

setHidingArgInfo :: LensArgInfo a => LensSet Hiding a Source #

mapHidingArgInfo :: LensArgInfo a => LensMap Hiding a Source #

getModalityArgInfo :: LensArgInfo a => LensGet Modality a Source #

setModalityArgInfo :: LensArgInfo a => LensSet Modality a Source #

mapModalityArgInfo :: LensArgInfo a => LensMap Modality a Source #

getOriginArgInfo :: LensArgInfo a => LensGet Origin a Source #

setOriginArgInfo :: LensArgInfo a => LensSet Origin a Source #

mapOriginArgInfo :: LensArgInfo a => LensMap Origin a Source #

getFreeVariablesArgInfo :: LensArgInfo a => LensGet FreeVariables a Source #

setFreeVariablesArgInfo :: LensArgInfo a => LensSet FreeVariables a Source #

mapFreeVariablesArgInfo :: LensArgInfo a => LensMap FreeVariables a Source #

isInsertedHidden :: (LensHiding a, LensOrigin a) => a -> Bool Source #

# Arguments

data Arg e Source #

Constructors

Arg |

Fields

- argInfo :: ArgInfo
- unArg :: e

#### Instances

Instances details

MapNamedArgPattern NAP Source # |
Instance details Defined in Agda.Syntax.Abstract.Pattern Methods mapNamedArgPattern :: (NAP -> NAP) -> NAP -> NAP Source #
IsPrefixOf Args Source # |
Instance details Defined in Agda.TypeChecking.Abstract Methods isPrefixOf :: Args -> Args -> Maybe Elims Source #
Decoration Arg Source # |
Instance details Defined in Agda.Syntax.Common Methods traverseF :: Functor m => (a -> m b) -> Arg a -> m (Arg b) Source # distributeF :: Functor m => Arg (m a) -> m (Arg a) Source #
Foldable Arg Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

fold :: Monoid m => Arg m -> m Source #

foldMap :: Monoid m => (a -> m) -> Arg a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Arg a -> m Source #

foldr :: (a -> b -> b) -> b -> Arg a -> b Source #

foldr' :: (a -> b -> b) -> b -> Arg a -> b Source #

foldl :: (b -> a -> b) -> b -> Arg a -> b Source #

foldl' :: (b -> a -> b) -> b -> Arg a -> b Source #

foldr1 :: (a -> a -> a) -> Arg a -> a Source #

foldl1 :: (a -> a -> a) -> Arg a -> a Source #

toList :: Arg a -> [a] Source #

null :: Arg a -> Bool Source #

length :: Arg a -> Int Source #

elem :: Eq a => a -> Arg a -> Bool Source #

maximum :: Ord a => Arg a -> a Source #

minimum :: Ord a => Arg a -> a Source #

sum :: Num a => Arg a -> a Source #

product :: Num a => Arg a -> a Source #

Traversable Arg Source # |
Instance details Defined in Agda.Syntax.Common Methods traverse :: Applicative f => (a -> f b) -> Arg a -> f (Arg b) Source # sequenceA :: Applicative f => Arg (f a) -> f (Arg a) Source # mapM :: Monad m => (a -> m b) -> Arg a -> m (Arg b) Source # sequence :: Monad m => Arg (m a) -> m (Arg a) Source #
Functor Arg Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> Arg a -> Arg b Source # (<$) :: a -> Arg b -> Arg a Source #
Conversion TOM Clause (Maybe ([Pat O], MExp O)) Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: Clause -> TOM (Maybe ([Pat O], MExp O)) Source #
Conversion TOM Term (MExp O) Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: Term -> TOM (MExp O) Source #
Conversion TOM Type (MExp O) Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: Type -> TOM (MExp O) Source #
Conversion TOM Args (MM (ArgList O) (RefInfo O)) Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: Args -> TOM (MM (ArgList O) (RefInfo O)) Source #
MapNamedArgPattern a (NamedArg (Pattern' a)) Source # | Modify the content of `VarP`, and the closest surrounding `NamedArg`. Note: the `mapNamedArg` for `Pattern'` is not expressible simply by `fmap` or `traverse` etc., since `ConP` has `NamedArg` subpatterns, which are taken into account by `mapNamedArg`.
Instance details Defined in Agda.Syntax.Internal.Pattern Methods mapNamedArgPattern :: (NamedArg (Pattern' a) -> NamedArg (Pattern' a)) -> NamedArg (Pattern' a) -> NamedArg (Pattern' a) Source #
PatternLike a b => PatternLike a (Arg b) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern Methods foldrPattern :: Monoid m => (Pattern' a -> m -> m) -> Arg b -> m Source # traversePatternM :: Monad m => (Pattern' a -> m (Pattern' a)) -> (Pattern' a -> m (Pattern' a)) -> Arg b -> m (Arg b) Source #
Conversion MOT (Exp O) Term Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: Exp O -> MOT Term Source #
Conversion MOT (Exp O) Type Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: Exp O -> MOT Type Source #
Conversion TOM (Arg Pattern) (Pat O) Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: Arg Pattern -> TOM (Pat O) Source #
Conversion TOM [Clause] [([Pat O], MExp O)] Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: [Clause] -> TOM [([Pat O], MExp O)] Source #
Conversion TOM a b => Conversion TOM (Arg a) (Hiding, b) Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: Arg a -> TOM (Hiding, b) Source #
Conversion MOT a b => Conversion MOT (MM a (RefInfo O)) b Source # |
Instance details Defined in Agda.Auto.Convert Methods convert :: MM a (RefInfo O) -> MOT b Source #
SubstExpr a => SubstExpr (Arg a) Source # |
Instance details Defined in Agda.Syntax.Abstract Methods substExpr :: [(Name, Expr)] -> Arg a -> Arg a Source #
IsProjP a => IsProjP (Arg a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Name Methods isProjP :: Arg a -> Maybe (ProjOrigin, AmbiguousQName) Source #
APatternLike a => APatternLike (Arg a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Pattern Associated Types type ADotT (Arg a) Source # Methods foldrAPattern :: Monoid m => (Pattern' (ADotT (Arg a)) -> m -> m) -> Arg a -> m Source # traverseAPatternM :: Monad m => (Pattern' (ADotT (Arg a)) -> m (Pattern' (ADotT (Arg a)))) -> (Pattern' (ADotT (Arg a)) -> m (Pattern' (ADotT (Arg a)))) -> Arg a -> m (Arg a) Source #
DeclaredNames a => DeclaredNames (Arg a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Views Methods declaredNames :: Collection KName m => Arg a -> m Source #
ExprLike a => ExprLike (Arg a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Views Methods recurseExpr :: RecurseExprFn m (Arg a) Source # foldExpr :: FoldExprFn m (Arg a) Source # traverseExpr :: TraverseExprFn m (Arg a) Source # mapExpr :: (Expr -> Expr) -> Arg a -> Arg a Source #
LensAnnotation (Arg t) Source # |
Instance details Defined in Agda.Syntax.Common Methods getAnnotation :: Arg t -> Annotation Source # setAnnotation :: Annotation -> Arg t -> Arg t Source # mapAnnotation :: (Annotation -> Annotation) -> Arg t -> Arg t Source #
LensArgInfo (Arg a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getArgInfo :: Arg a -> ArgInfo Source # setArgInfo :: ArgInfo -> Arg a -> Arg a Source # mapArgInfo :: (ArgInfo -> ArgInfo) -> Arg a -> Arg a Source #
LensCohesion (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getCohesion :: Arg e -> Cohesion Source # setCohesion :: Cohesion -> Arg e -> Arg e Source # mapCohesion :: (Cohesion -> Cohesion) -> Arg e -> Arg e Source #
LensFreeVariables (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getFreeVariables :: Arg e -> FreeVariables Source # setFreeVariables :: FreeVariables -> Arg e -> Arg e Source # mapFreeVariables :: (FreeVariables -> FreeVariables) -> Arg e -> Arg e Source #
LensHiding (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getHiding :: Arg e -> Hiding Source # setHiding :: Hiding -> Arg e -> Arg e Source # mapHiding :: (Hiding -> Hiding) -> Arg e -> Arg e Source #
LensLock (Arg t) Source # |
Instance details Defined in Agda.Syntax.Common Methods getLock :: Arg t -> Lock Source # setLock :: Lock -> Arg t -> Arg t Source # mapLock :: (Lock -> Lock) -> Arg t -> Arg t Source #
LensModality (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getModality :: Arg e -> Modality Source # setModality :: Modality -> Arg e -> Arg e Source # mapModality :: (Modality -> Modality) -> Arg e -> Arg e Source #
LensNamed a => LensNamed (Arg a) Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type NameOf (Arg a) Source # Methods lensNamed :: Lens' (Maybe (NameOf (Arg a))) (Arg a) Source #
LensOrigin (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getOrigin :: Arg e -> Origin Source # setOrigin :: Origin -> Arg e -> Arg e Source # mapOrigin :: (Origin -> Origin) -> Arg e -> Arg e Source #
LensQuantity (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getQuantity :: Arg e -> Quantity Source # setQuantity :: Quantity -> Arg e -> Arg e Source # mapQuantity :: (Quantity -> Quantity) -> Arg e -> Arg e Source #
LensRelevance (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRelevance :: Arg e -> Relevance Source # setRelevance :: Relevance -> Arg e -> Arg e Source # mapRelevance :: (Relevance -> Relevance) -> Arg e -> Arg e Source #
ExprLike a => ExprLike (Arg a) Source # |
Instance details Defined in Agda.Syntax.Concrete.Generic Methods mapExpr :: (Expr -> Expr) -> Arg a -> Arg a Source # foldExpr :: Monoid m => (Expr -> m) -> Arg a -> m Source # traverseExpr :: Monad m => (Expr -> m Expr) -> Arg a -> m (Arg a) Source #
CPatternLike p => CPatternLike (Arg p) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pattern Methods foldrCPattern :: Monoid m => (Pattern -> m -> m) -> Arg p -> m Source # traverseCPatternA :: (Applicative m, Functor m) => (Pattern -> m Pattern -> m Pattern) -> Arg p -> m (Arg p) Source # traverseCPatternM :: Monad m => (Pattern -> m Pattern) -> (Pattern -> m Pattern) -> Arg p -> m (Arg p) Source #
IsWithP p => IsWithP (Arg p) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pattern Methods isWithP :: Arg p -> Maybe (Arg p) Source #
LensSort a => LensSort (Arg a) Source # |
Instance details Defined in Agda.Syntax.Internal Methods lensSort :: Lens' Sort (Arg a) Source # getSort :: Arg a -> Sort Source #
PatternVars (Arg (Pattern' a)) Source # |
Instance details Defined in Agda.Syntax.Internal Associated Types type PatternVarOut (Arg (Pattern' a)) Source # Methods patternVars :: Arg (Pattern' a) -> [Arg (Either (PatternVarOut (Arg (Pattern' a))) Term)] Source #
PatternVars (NamedArg (Pattern' a)) Source # |
Instance details Defined in Agda.Syntax.Internal Associated Types type PatternVarOut (NamedArg (Pattern' a)) Source # Methods patternVars :: NamedArg (Pattern' a) -> [Arg (Either (PatternVarOut (NamedArg (Pattern' a))) Term)] Source #
GetDefs a => GetDefs (Arg a) Source # |
Instance details Defined in Agda.Syntax.Internal.Defs Methods getDefs :: MonadGetDefs m => Arg a -> m () Source #
TermLike a => TermLike (Arg a) Source # |
Instance details Defined in Agda.Syntax.Internal.Generic Methods traverseTermM :: Monad m => (Term -> m Term) -> Arg a -> m (Arg a) Source # foldTerm :: Monoid m => (Term -> m) -> Arg a -> m Source #
AllMetas a => AllMetas (Arg a) Source # |
Instance details Defined in Agda.Syntax.Internal.MetaVars Methods allMetas :: Monoid m => (MetaId -> m) -> Arg a -> m Source #
NamesIn a => NamesIn (Arg a) Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesIn' :: Monoid m => (QName -> m) -> Arg a -> m Source #
CountPatternVars a => CountPatternVars (Arg a) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern Methods countPatternVars :: Arg a -> Int Source #
PatternVarModalities a => PatternVarModalities (Arg a) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern Associated Types type PatVar (Arg a) Source # Methods patternVarModalities :: Arg a -> [(PatVar (Arg a), Modality)] Source #
HasRange a => HasRange (Arg a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Arg a -> Range Source #
KillRange a => KillRange (Arg a) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (Arg a) Source #
SetRange a => SetRange (Arg a) Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> Arg a -> Arg a Source #
ToConcrete a => ToConcrete (Arg a) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete Associated Types type ConOfAbs (Arg a) Source # Methods toConcrete :: Arg a -> AbsToCon (ConOfAbs (Arg a)) Source # bindToConcrete :: Arg a -> (ConOfAbs (Arg a) -> AbsToCon b) -> AbsToCon b Source #
ToAbstract c => ToAbstract (Arg c) Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract Associated Types type AbsOfCon (Arg c) Source # Methods toAbstract :: Arg c -> ScopeM (AbsOfCon (Arg c)) Source #
Reify i => Reify (Arg i) Source # | Skip reification of implicit and irrelevant args if option is off.
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract Associated Types type ReifiesTo (Arg i) Source # Methods reify :: MonadReify m => Arg i -> m (ReifiesTo (Arg i)) Source # reifyWhen :: MonadReify m => Bool -> Arg i -> m (ReifiesTo (Arg i)) Source #
ToAbstract r => ToAbstract (Arg r) Source # |
Instance details Defined in Agda.Syntax.Translation.ReflectedToAbstract Associated Types type AbsOfRef (Arg r) Source # Methods toAbstract :: MonadReflectedToAbstract m => Arg r -> m (AbsOfRef (Arg r)) Source #
ToAbstract r => ToAbstract [Arg r] Source # |
Instance details Defined in Agda.Syntax.Translation.ReflectedToAbstract Associated Types type AbsOfRef [Arg r] Source # Methods toAbstract :: MonadReflectedToAbstract m => [Arg r] -> m (AbsOfRef [Arg r]) Source #
AbsTerm a => AbsTerm (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Abstract Methods absTerm :: Term -> Arg a -> Arg a Source #
EqualSy a => EqualSy (Arg a) Source # | Ignores irrelevant arguments and modality. (And, of course, origin and free variables).
Instance details Defined in Agda.TypeChecking.Abstract Methods equalSy :: Arg a -> Arg a -> Bool Source #
Free t => Free (Arg t) Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods freeVars' :: IsVarSet a c => Arg t -> FreeM a c Source #
PrecomputeFreeVars a => PrecomputeFreeVars (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Free.Precompute Methods precomputeFreeVars :: Arg a -> FV (Arg a) Source #
(Reduce a, ForceNotFree a) => ForceNotFree (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Free.Reduce Methods forceNotFree' :: MonadFreeRed m => Arg a -> m (Arg a)
UsableModality a => UsableModality (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Irrelevance Methods usableMod :: (ReadTCState m, HasConstInfo m, MonadTCEnv m, MonadAddContext m, MonadDebug m, MonadReduce m, MonadError Blocker m) => Modality -> Arg a -> m Bool Source #
UsableRelevance a => UsableRelevance (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Irrelevance Methods usableRel :: (ReadTCState m, HasConstInfo m, MonadTCEnv m, MonadAddContext m, MonadDebug m) => Relevance -> Arg a -> m Bool Source #
NoProjectedVar a => NoProjectedVar (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.MetaVars Methods noProjectedVar :: Arg a -> Either ProjectedVar () Source #
ReduceAndEtaContract a => ReduceAndEtaContract (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.MetaVars Methods reduceAndEtaContract :: Arg a -> TCM (Arg a) Source #
MentionsMeta t => MentionsMeta (Arg t) Source # |
Instance details Defined in Agda.TypeChecking.MetaVars.Mention Methods mentionsMetas :: HashSet MetaId -> Arg t -> Bool Source #
AnyRigid a => AnyRigid (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.MetaVars.Occurs Methods anyRigid :: PureTCM tcm => (Nat -> tcm Bool) -> Arg a -> tcm Bool Source #
Occurs a => Occurs (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.MetaVars.Occurs Methods occurs :: Arg a -> OccursM (Arg a) Source # metaOccurs :: MetaId -> Arg a -> TCM () Source #
IsInstantiatedMeta a => IsInstantiatedMeta (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.MetaVars Methods isInstantiatedMeta :: (MonadFail m, ReadTCState m) => Arg a -> m Bool Source #
ExpandPatternSynonyms a => ExpandPatternSynonyms (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Patterns.Abstract Methods expandPatternSynonyms :: Arg a -> TCM (Arg a) Source #
ComputeOccurrences a => ComputeOccurrences (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Positivity Methods occurrences :: Arg a -> OccM OccurrencesBuilder Source #
PrettyTCM (Arg Expr) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Arg Expr -> m Doc Source #
PrettyTCM (Arg Term) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Arg Term -> m Doc Source #
PrettyTCM (Arg Type) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Arg Type -> m Doc Source #
PrettyTCM (Arg Bool) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Arg Bool -> m Doc Source #
PrettyTCM (NamedArg Expr) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NamedArg Expr -> m Doc Source #
PrettyTCM (NamedArg Term) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NamedArg Term -> m Doc Source #
NormaliseProjP a => NormaliseProjP (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Records Methods normaliseProjP :: HasConstInfo m => Arg a -> m (Arg a) Source #
Instantiate t => Instantiate (Arg t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiate' :: Arg t -> ReduceM (Arg t) Source #
InstantiateFull t => InstantiateFull (Arg t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Arg t -> ReduceM (Arg t) Source #
IsMeta a => IsMeta (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods isMeta :: Arg a -> Maybe MetaId Source #
Normalise t => Normalise (Arg t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: Arg t -> ReduceM (Arg t) Source #
Reduce t => Reduce (Arg t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods reduce' :: Arg t -> ReduceM (Arg t) Source # reduceB' :: Arg t -> ReduceM (Blocked (Arg t)) Source #
Simplify t => Simplify (Arg t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods simplify' :: Arg t -> ReduceM (Arg t) Source #
GetMatchables a => GetMatchables (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods getMatchables :: Arg a -> [QName] Source #
IsFlexiblePattern a => IsFlexiblePattern (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Rules.LHS Methods maybeFlexiblePattern :: forall (m :: Type -> Type). (HasConstInfo m, MonadDebug m) => Arg a -> MaybeT m FlexibleVarKind Source # isFlexiblePattern :: (HasConstInfo m, MonadDebug m) => Arg a -> m Bool Source #
EmbPrj a => EmbPrj (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Arg a -> S Int32 Source # icod_ :: Arg a -> S Int32 Source # value :: Int32 -> R (Arg a) Source #
Apply [NamedArg (Pattern' a)] Source # | Make sure we only drop variable patterns.
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: [NamedArg (Pattern' a)] -> Args -> [NamedArg (Pattern' a)] Source # applyE :: [NamedArg (Pattern' a)] -> Elims -> [NamedArg (Pattern' a)] Source #
Subst a => Subst (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Substitute Associated Types type SubstArg (Arg a) Source # Methods applySubst :: Substitution' (SubstArg (Arg a)) -> Arg a -> Arg a Source #
SynEq a => SynEq (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.SyntacticEquality Methods synEq :: Arg a -> Arg a -> SynEqM (Arg a, Arg a) synEq' :: Arg a -> Arg a -> SynEqM (Arg a, Arg a)
PiApplyM a => PiApplyM (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Telescope Methods piApplyM' :: (MonadReduce m, HasBuiltins m) => m Empty -> Type -> Arg a -> m Type Source # piApplyM :: (MonadReduce m, HasBuiltins m) => Type -> Arg a -> m Type Source #
Unquote a => Unquote (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM (Arg a) Source #
Pretty a => Pretty (Arg a) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Arg a -> Doc Source # prettyPrec :: Int -> Arg a -> Doc Source # prettyList :: [Arg a] -> Doc Source #
Data e => Data (Arg e) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Arg e -> c (Arg e) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Arg e) Source #

toConstr :: Arg e -> Constr Source #

dataTypeOf :: Arg e -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Arg e)) Source #

dataCast2 :: Typeable t => (forall d e0. (Data d, Data e0) => c (t d e0)) -> Maybe (c (Arg e)) Source #

gmapT :: (forall b. Data b => b -> b) -> Arg e -> Arg e Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Arg e -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Arg e -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Arg e -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Arg e -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Arg e -> m (Arg e) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Arg e -> m (Arg e) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Arg e -> m (Arg e) Source #

Show e => Show (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Arg e -> ShowS Source # show :: Arg e -> String Source # showList :: [Arg e] -> ShowS Source #
NFData e => NFData (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Arg e -> () Source #
Eq e => Eq (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Arg e -> Arg e -> Bool Source # (/=) :: Arg e -> Arg e -> Bool Source #
Ord e => Ord (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Arg e -> Arg e -> Ordering Source # (<) :: Arg e -> Arg e -> Bool Source # (<=) :: Arg e -> Arg e -> Bool Source # (>) :: Arg e -> Arg e -> Bool Source # (>=) :: Arg e -> Arg e -> Bool Source # max :: Arg e -> Arg e -> Arg e Source # min :: Arg e -> Arg e -> Arg e Source #
LabelPatVars a b => LabelPatVars (Arg a) (Arg b) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern Associated Types type PatVarLabel (Arg b) Source # Methods labelPatVars :: Arg a -> State [PatVarLabel (Arg b)] (Arg b) Source # unlabelPatVars :: Arg b -> Arg a Source #
TermToPattern a b => TermToPattern (Arg a) (Arg b) Source # |
Instance details Defined in Agda.TypeChecking.Patterns.Internal Methods termToPattern :: Arg a -> TCM (Arg b) Source #
ToNLPat (Arg DeBruijnPattern) (Elim' NLPat) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.Clause Methods toNLPat :: Arg DeBruijnPattern -> Elim' NLPat Source #
ToNLPat (NamedArg DeBruijnPattern) (Elim' NLPat) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.Clause Methods toNLPat :: NamedArg DeBruijnPattern -> Elim' NLPat Source #
NLPatToTerm p a => NLPatToTerm (Arg p) (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods nlPatToTerm :: PureTCM m => Arg p -> m (Arg a) Source #
Match t a b => Match (Dom t) (Arg a) (Arg b) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods match :: Relevance -> Telescope -> Telescope -> Dom t -> Arg a -> Arg b -> NLM () Source #
PatternFrom t a b => PatternFrom (Dom t) (Arg a) (Arg b) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods patternFrom :: Relevance -> Int -> Dom t -> Arg a -> TCM (Arg b) Source #
AddContext (List1 (Arg Name), Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => (List1 (Arg Name), Type) -> m a -> m a Source # contextSize :: (List1 (Arg Name), Type) -> Nat Source #
AddContext (List1 (NamedArg Name), Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => (List1 (NamedArg Name), Type) -> m a -> m a Source # contextSize :: (List1 (NamedArg Name), Type) -> Nat Source #
AddContext ([Arg Name], Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => ([Arg Name], Type) -> m a -> m a Source # contextSize :: ([Arg Name], Type) -> Nat Source #
AddContext ([NamedArg Name], Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => ([NamedArg Name], Type) -> m a -> m a Source # contextSize :: ([NamedArg Name], Type) -> Nat Source #
type ADotT (Arg a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Pattern type ADotT (Arg a) = ADotT a
type NameOf (Arg a) Source # |
Instance details Defined in Agda.Syntax.Common type NameOf (Arg a) = NameOf a
type PatternVarOut (Arg (Pattern' a)) Source # |
Instance details Defined in Agda.Syntax.Internal type PatternVarOut (Arg (Pattern' a)) = a
type PatternVarOut (NamedArg (Pattern' a)) Source # |
Instance details Defined in Agda.Syntax.Internal type PatternVarOut (NamedArg (Pattern' a)) = a
type PatVar (Arg a) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern type PatVar (Arg a) = PatVar a
type PatVarLabel (Arg b) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern type PatVarLabel (Arg b) = PatVarLabel b
type ConOfAbs (Arg a) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (Arg a) = Arg (ConOfAbs a)
type AbsOfCon (Arg c) Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon (Arg c) = Arg (AbsOfCon c)
type ReifiesTo (Arg i) Source # |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract type ReifiesTo (Arg i) = Arg (ReifiesTo i)
type AbsOfRef (Arg r) Source # |
Instance details Defined in Agda.Syntax.Translation.ReflectedToAbstract type AbsOfRef (Arg r) = NamedArg (AbsOfRef r)
type AbsOfRef [Arg r] Source # |
Instance details Defined in Agda.Syntax.Translation.ReflectedToAbstract type AbsOfRef [Arg r] = [NamedArg (AbsOfRef r)]
type SubstArg (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg (Arg a) = SubstArg a

defaultArg :: a -> Arg a Source #

withArgsFrom :: [a] -> [Arg b] -> [Arg a] Source #

`xs `withArgsFrom` args` translates `xs` into a list of `Arg`s, using the elements in `args` to fill in the non-`unArg` fields.

Precondition: The two lists should have equal length.

withNamedArgsFrom :: [a] -> [NamedArg b] -> [NamedArg a] Source #

# Names

class Eq a => Underscore a where Source #

Minimal complete definition

underscore

Methods

underscore :: a Source #

isUnderscore :: a -> Bool Source #

#### Instances

Instances details

Underscore Expr Source # |
Instance details Defined in Agda.Syntax.Abstract Methods underscore :: Expr Source # isUnderscore :: Expr -> Bool Source #
Underscore Name Source # |
Instance details Defined in Agda.Syntax.Concrete.Name Methods underscore :: Name Source # isUnderscore :: Name -> Bool Source #
Underscore QName Source # |
Instance details Defined in Agda.Syntax.Concrete.Name Methods underscore :: QName Source # isUnderscore :: QName -> Bool Source #
Underscore ByteString Source # |
Instance details Defined in Agda.Syntax.Common Methods underscore :: ByteString Source # isUnderscore :: ByteString -> Bool Source #
Underscore Doc Source # |
Instance details Defined in Agda.Syntax.Common Methods underscore :: Doc Source # isUnderscore :: Doc -> Bool Source #
Underscore String Source # |
Instance details Defined in Agda.Syntax.Common Methods underscore :: String Source # isUnderscore :: String -> Bool Source #

# Named arguments

data Named name a Source #

Something potentially carrying a name.

Constructors

Named |

Fields

- nameOf :: Maybe name
- namedThing :: a

#### Instances

Instances details

MapNamedArgPattern NAP Source # |
Instance details Defined in Agda.Syntax.Abstract.Pattern Methods mapNamedArgPattern :: (NAP -> NAP) -> NAP -> NAP Source #
MapNamedArgPattern a (NamedArg (Pattern' a)) Source # | Modify the content of `VarP`, and the closest surrounding `NamedArg`. Note: the `mapNamedArg` for `Pattern'` is not expressible simply by `fmap` or `traverse` etc., since `ConP` has `NamedArg` subpatterns, which are taken into account by `mapNamedArg`.
Instance details Defined in Agda.Syntax.Internal.Pattern Methods mapNamedArgPattern :: (NamedArg (Pattern' a) -> NamedArg (Pattern' a)) -> NamedArg (Pattern' a) -> NamedArg (Pattern' a) Source #
PatternLike a b => PatternLike a (Named x b) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern Methods foldrPattern :: Monoid m => (Pattern' a -> m -> m) -> Named x b -> m Source # traversePatternM :: Monad m => (Pattern' a -> m (Pattern' a)) -> (Pattern' a -> m (Pattern' a)) -> Named x b -> m (Named x b) Source #
PatternVars (NamedArg (Pattern' a)) Source # |
Instance details Defined in Agda.Syntax.Internal Associated Types type PatternVarOut (NamedArg (Pattern' a)) Source # Methods patternVars :: NamedArg (Pattern' a) -> [Arg (Either (PatternVarOut (NamedArg (Pattern' a))) Term)] Source #
PrettyTCM (NamedArg Expr) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NamedArg Expr -> m Doc Source #
PrettyTCM (NamedArg Term) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NamedArg Term -> m Doc Source #
PrettyTCM (Named_ Term) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Named_ Term -> m Doc Source #
NormaliseProjP a => NormaliseProjP (Named_ a) Source # |
Instance details Defined in Agda.TypeChecking.Records Methods normaliseProjP :: HasConstInfo m => Named_ a -> m (Named_ a) Source #
Apply [NamedArg (Pattern' a)] Source # | Make sure we only drop variable patterns.
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: [NamedArg (Pattern' a)] -> Args -> [NamedArg (Pattern' a)] Source # applyE :: [NamedArg (Pattern' a)] -> Elims -> [NamedArg (Pattern' a)] Source #
Decoration (Named name) Source # |
Instance details Defined in Agda.Syntax.Common Methods traverseF :: Functor m => (a -> m b) -> Named name a -> m (Named name b) Source # distributeF :: Functor m => Named name (m a) -> m (Named name a) Source #
Pretty e => Pretty (Named_ e) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Named_ e -> Doc Source # prettyPrec :: Int -> Named_ e -> Doc Source # prettyList :: [Named_ e] -> Doc Source #
Foldable (Named name) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

fold :: Monoid m => Named name m -> m Source #

foldMap :: Monoid m => (a -> m) -> Named name a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Named name a -> m Source #

foldr :: (a -> b -> b) -> b -> Named name a -> b Source #

foldr' :: (a -> b -> b) -> b -> Named name a -> b Source #

foldl :: (b -> a -> b) -> b -> Named name a -> b Source #

foldl' :: (b -> a -> b) -> b -> Named name a -> b Source #

foldr1 :: (a -> a -> a) -> Named name a -> a Source #

foldl1 :: (a -> a -> a) -> Named name a -> a Source #

toList :: Named name a -> [a] Source #

null :: Named name a -> Bool Source #

length :: Named name a -> Int Source #

elem :: Eq a => a -> Named name a -> Bool Source #

maximum :: Ord a => Named name a -> a Source #

minimum :: Ord a => Named name a -> a Source #

sum :: Num a => Named name a -> a Source #

product :: Num a => Named name a -> a Source #

Traversable (Named name) Source # |
Instance details Defined in Agda.Syntax.Common Methods traverse :: Applicative f => (a -> f b) -> Named name a -> f (Named name b) Source # sequenceA :: Applicative f => Named name (f a) -> f (Named name a) Source # mapM :: Monad m => (a -> m b) -> Named name a -> m (Named name b) Source # sequence :: Monad m => Named name (m a) -> m (Named name a) Source #
Functor (Named name) Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> Named name a -> Named name b Source # (<$) :: a -> Named name b -> Named name a Source #
ToNLPat (NamedArg DeBruijnPattern) (Elim' NLPat) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.Clause Methods toNLPat :: NamedArg DeBruijnPattern -> Elim' NLPat Source #
SubstExpr a => SubstExpr (Named name a) Source # |
Instance details Defined in Agda.Syntax.Abstract Methods substExpr :: [(Name, Expr)] -> Named name a -> Named name a Source #
IsProjP a => IsProjP (Named n a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Name Methods isProjP :: Named n a -> Maybe (ProjOrigin, AmbiguousQName) Source #
APatternLike a => APatternLike (Named n a) Source # |

Instance details

Defined in Agda.Syntax.Abstract.Pattern

Associated Types

type ADotT (Named n a) Source #

Methods

foldrAPattern :: Monoid m => (Pattern' (ADotT (Named n a)) -> m -> m) -> Named n a -> m Source #

traverseAPatternM :: Monad m => (Pattern' (ADotT (Named n a)) -> m (Pattern' (ADotT (Named n a)))) -> (Pattern' (ADotT (Named n a)) -> m (Pattern' (ADotT (Named n a)))) -> Named n a -> m (Named n a) Source #

DeclaredNames a => DeclaredNames (Named name a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Views Methods declaredNames :: Collection KName m => Named name a -> m Source #
ExprLike a => ExprLike (Named x a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Views Methods recurseExpr :: RecurseExprFn m (Named x a) Source # foldExpr :: FoldExprFn m (Named x a) Source # traverseExpr :: TraverseExprFn m (Named x a) Source # mapExpr :: (Expr -> Expr) -> Named x a -> Named x a Source #
LensHiding a => LensHiding (Named nm a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getHiding :: Named nm a -> Hiding Source # setHiding :: Hiding -> Named nm a -> Named nm a Source # mapHiding :: (Hiding -> Hiding) -> Named nm a -> Named nm a Source #
LensNamed (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type NameOf (Named name a) Source # Methods lensNamed :: Lens' (Maybe (NameOf (Named name a))) (Named name a) Source #
ExprLike a => ExprLike (Named name a) Source # |
Instance details Defined in Agda.Syntax.Concrete.Generic Methods mapExpr :: (Expr -> Expr) -> Named name a -> Named name a Source # foldExpr :: Monoid m => (Expr -> m) -> Named name a -> m Source # traverseExpr :: Monad m => (Expr -> m Expr) -> Named name a -> m (Named name a) Source #
CPatternLike p => CPatternLike (Named n p) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pattern Methods foldrCPattern :: Monoid m => (Pattern -> m -> m) -> Named n p -> m Source # traverseCPatternA :: (Applicative m, Functor m) => (Pattern -> m Pattern -> m Pattern) -> Named n p -> m (Named n p) Source # traverseCPatternM :: Monad m => (Pattern -> m Pattern) -> (Pattern -> m Pattern) -> Named n p -> m (Named n p) Source #
IsWithP p => IsWithP (Named n p) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pattern Methods isWithP :: Named n p -> Maybe (Named n p) Source #
NamesIn a => NamesIn (Named n a) Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesIn' :: Monoid m => (QName -> m) -> Named n a -> m Source #
CountPatternVars a => CountPatternVars (Named x a) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern Methods countPatternVars :: Named x a -> Int Source #
PatternVarModalities a => PatternVarModalities (Named s a) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern Associated Types type PatVar (Named s a) Source # Methods patternVarModalities :: Named s a -> [(PatVar (Named s a), Modality)] Source #
HasRange a => HasRange (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Named name a -> Range Source #
(KillRange name, KillRange a) => KillRange (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (Named name a) Source #
SetRange a => SetRange (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> Named name a -> Named name a Source #
ToConcrete a => ToConcrete (Named name a) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete Associated Types type ConOfAbs (Named name a) Source # Methods toConcrete :: Named name a -> AbsToCon (ConOfAbs (Named name a)) Source # bindToConcrete :: Named name a -> (ConOfAbs (Named name a) -> AbsToCon b) -> AbsToCon b Source #
ToAbstract c => ToAbstract (Named name c) Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract Associated Types type AbsOfCon (Named name c) Source # Methods toAbstract :: Named name c -> ScopeM (AbsOfCon (Named name c)) Source #
Reify i => Reify (Named n i) Source # |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract Associated Types type ReifiesTo (Named n i) Source # Methods reify :: MonadReify m => Named n i -> m (ReifiesTo (Named n i)) Source # reifyWhen :: MonadReify m => Bool -> Named n i -> m (ReifiesTo (Named n i)) Source #
ToAbstract r => ToAbstract (Named name r) Source # |
Instance details Defined in Agda.Syntax.Translation.ReflectedToAbstract Associated Types type AbsOfRef (Named name r) Source # Methods toAbstract :: MonadReflectedToAbstract m => Named name r -> m (AbsOfRef (Named name r)) Source #
Free t => Free (Named nm t) Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods freeVars' :: IsVarSet a c => Named nm t -> FreeM a c Source #
AddContext (List1 (NamedArg Name), Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => (List1 (NamedArg Name), Type) -> m a -> m a Source # contextSize :: (List1 (NamedArg Name), Type) -> Nat Source #
AddContext ([NamedArg Name], Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => ([NamedArg Name], Type) -> m a -> m a Source # contextSize :: ([NamedArg Name], Type) -> Nat Source #
ExpandPatternSynonyms a => ExpandPatternSynonyms (Named n a) Source # |
Instance details Defined in Agda.TypeChecking.Patterns.Abstract Methods expandPatternSynonyms :: Named n a -> TCM (Named n a) Source #
InstantiateFull t => InstantiateFull (Named name t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Named name t -> ReduceM (Named name t) Source #
Normalise t => Normalise (Named name t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: Named name t -> ReduceM (Named name t) Source #
Simplify t => Simplify (Named name t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods simplify' :: Named name t -> ReduceM (Named name t) Source #
IsFlexiblePattern a => IsFlexiblePattern (Named name a) Source # |
Instance details Defined in Agda.TypeChecking.Rules.LHS Methods maybeFlexiblePattern :: forall (m :: Type -> Type). (HasConstInfo m, MonadDebug m) => Named name a -> MaybeT m FlexibleVarKind Source # isFlexiblePattern :: (HasConstInfo m, MonadDebug m) => Named name a -> m Bool Source #
(EmbPrj s, EmbPrj t) => EmbPrj (Named s t) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Named s t -> S Int32 Source # icod_ :: Named s t -> S Int32 Source # value :: Int32 -> R (Named s t) Source #
Subst a => Subst (Named name a) Source # |
Instance details Defined in Agda.TypeChecking.Substitute Associated Types type SubstArg (Named name a) Source # Methods applySubst :: Substitution' (SubstArg (Named name a)) -> Named name a -> Named name a Source #
PiApplyM a => PiApplyM (Named n a) Source # |
Instance details Defined in Agda.TypeChecking.Telescope Methods piApplyM' :: (MonadReduce m, HasBuiltins m) => m Empty -> Type -> Named n a -> m Type Source # piApplyM :: (MonadReduce m, HasBuiltins m) => Type -> Named n a -> m Type Source #
(Data name, Data a) => Data (Named name a) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Named name a -> c (Named name a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Named name a) Source #

toConstr :: Named name a -> Constr Source #

dataTypeOf :: Named name a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Named name a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Named name a)) Source #

gmapT :: (forall b. Data b => b -> b) -> Named name a -> Named name a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Named name a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Named name a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Named name a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Named name a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Named name a -> m (Named name a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Named name a -> m (Named name a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Named name a -> m (Named name a) Source #

(Show name, Show a) => Show (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Named name a -> ShowS Source # show :: Named name a -> String Source # showList :: [Named name a] -> ShowS Source #
(NFData name, NFData a) => NFData (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Named name a -> () Source #
(Eq name, Eq a) => Eq (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Named name a -> Named name a -> Bool Source # (/=) :: Named name a -> Named name a -> Bool Source #
(Ord name, Ord a) => Ord (Named name a) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: Named name a -> Named name a -> Ordering Source #

(<) :: Named name a -> Named name a -> Bool Source #

(<=) :: Named name a -> Named name a -> Bool Source #

(>) :: Named name a -> Named name a -> Bool Source #

(>=) :: Named name a -> Named name a -> Bool Source #

max :: Named name a -> Named name a -> Named name a Source #

min :: Named name a -> Named name a -> Named name a Source #

LabelPatVars a b => LabelPatVars (Named x a) (Named x b) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern Associated Types type PatVarLabel (Named x b) Source # Methods labelPatVars :: Named x a -> State [PatVarLabel (Named x b)] (Named x b) Source # unlabelPatVars :: Named x b -> Named x a Source #
TermToPattern a b => TermToPattern (Named c a) (Named c b) Source # |
Instance details Defined in Agda.TypeChecking.Patterns.Internal Methods termToPattern :: Named c a -> TCM (Named c b) Source #
type PatternVarOut (NamedArg (Pattern' a)) Source # |
Instance details Defined in Agda.Syntax.Internal type PatternVarOut (NamedArg (Pattern' a)) = a
type ADotT (Named n a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Pattern type ADotT (Named n a) = ADotT a
type NameOf (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common type NameOf (Named name a) = name
type PatVar (Named s a) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern type PatVar (Named s a) = PatVar a
type PatVarLabel (Named x b) Source # |
Instance details Defined in Agda.Syntax.Internal.Pattern type PatVarLabel (Named x b) = PatVarLabel b
type ConOfAbs (Named name a) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (Named name a) = Named name (ConOfAbs a)
type AbsOfCon (Named name c) Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon (Named name c) = Named name (AbsOfCon c)
type ReifiesTo (Named n i) Source # |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract type ReifiesTo (Named n i) = Named n (ReifiesTo i)
type AbsOfRef (Named name r) Source # |
Instance details Defined in Agda.Syntax.Translation.ReflectedToAbstract type AbsOfRef (Named name r) = Named name (AbsOfRef r)
type SubstArg (Named name a) Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg (Named name a) = SubstArg a

type Named_ = Named NamedName Source #

Standard naming.

type NamedName = WithOrigin (Ranged ArgName) Source #

Standard argument names.

sameName :: NamedName -> NamedName -> Bool Source #

Equality of argument names of things modulo `Range` and `Origin`.

unnamed :: a -> Named name a Source #

isUnnamed :: Named name a -> Maybe a Source #

named :: name -> a -> Named name a Source #

userNamed :: Ranged ArgName -> a -> Named_ a Source #

class LensNamed a where Source #

Accessor/editor for the `nameOf` component.

Minimal complete definition

Nothing

Associated Types

type NameOf a Source #

The type of the name

Methods

lensNamed :: Lens' (Maybe (NameOf a)) a Source #

default lensNamed :: (Decoration f, LensNamed b, NameOf b ~ NameOf a, f b ~ a) => Lens' (Maybe (NameOf a)) a Source #

#### Instances

Instances details

LensNamed a => LensNamed (Arg a) Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type NameOf (Arg a) Source # Methods lensNamed :: Lens' (Maybe (NameOf (Arg a))) (Arg a) Source #
LensNamed (Maybe a) Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type NameOf (Maybe a) Source # Methods lensNamed :: Lens' (Maybe (NameOf (Maybe a))) (Maybe a) Source #
LensNamed (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type NameOf (Named name a) Source # Methods lensNamed :: Lens' (Maybe (NameOf (Named name a))) (Named name a) Source #
LensNamed (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Associated Types type NameOf (Dom' t e) Source # Methods lensNamed :: Lens' (Maybe (NameOf (Dom' t e))) (Dom' t e) Source #

getNameOf :: LensNamed a => a -> Maybe (NameOf a) Source #

setNameOf :: LensNamed a => Maybe (NameOf a) -> a -> a Source #

mapNameOf :: LensNamed a => (Maybe (NameOf a) -> Maybe (NameOf a)) -> a -> a Source #

bareNameOf :: (LensNamed a, NameOf a ~ NamedName) => a -> Maybe ArgName Source #

bareNameWithDefault :: (LensNamed a, NameOf a ~ NamedName) => ArgName -> a -> ArgName Source #

namedSame :: (LensNamed a, LensNamed b, NameOf a ~ NamedName, NameOf b ~ NamedName) => a -> b -> Bool Source #

Equality of argument names of things modulo `Range` and `Origin`.

fittingNamedArg :: (LensNamed arg, NameOf arg ~ NamedName, LensHiding arg, LensNamed dom, NameOf dom ~ NamedName, LensHiding dom) => arg -> dom -> Maybe Bool Source #

Does an argument `arg` fit the shape `dom` of the next expected argument?

The hiding has to match, and if the argument has a name, it should match the name of the domain.

`Nothing` should be `__IMPOSSIBLE__`, so use as @`fromMaybe IMPOSSIBLE $ fittingNamedArg arg dom` @

type NamedArg a = Arg (Named_ a) Source #

Only `Hidden` arguments can have names.

namedArg :: NamedArg a -> a Source #

Get the content of a `NamedArg`.

defaultNamedArg :: a -> NamedArg a Source #

unnamedArg :: ArgInfo -> a -> NamedArg a Source #

updateNamedArg :: (a -> b) -> NamedArg a -> NamedArg b Source #

The functor instance for `NamedArg` would be ambiguous, so we give it another name here.

updateNamedArgA :: Applicative f => (a -> f b) -> NamedArg a -> f (NamedArg b) Source #

setNamedArg :: NamedArg a -> b -> NamedArg b Source #

    setNamedArg a b = updateNamedArg (const b) a

## ArgName

type ArgName = String Source #

Names in binders and arguments.

argNameToString :: ArgName -> String Source #

stringToArgName :: String -> ArgName Source #

appendArgNames :: ArgName -> ArgName -> ArgName Source #

# Range decoration.

data Ranged a Source #

Thing with range info.

Constructors

Ranged |

Fields

- rangeOf :: Range
- rangedThing :: a

#### Instances

Instances details

MapNamedArgPattern NAP Source # |
Instance details Defined in Agda.Syntax.Abstract.Pattern Methods mapNamedArgPattern :: (NAP -> NAP) -> NAP -> NAP Source #
Decoration Ranged Source # |
Instance details Defined in Agda.Syntax.Common Methods traverseF :: Functor m => (a -> m b) -> Ranged a -> m (Ranged b) Source # distributeF :: Functor m => Ranged (m a) -> m (Ranged a) Source #
Foldable Ranged Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

fold :: Monoid m => Ranged m -> m Source #

foldMap :: Monoid m => (a -> m) -> Ranged a -> m Source #

foldMap' :: Monoid m => (a -> m) -> Ranged a -> m Source #

foldr :: (a -> b -> b) -> b -> Ranged a -> b Source #

foldr' :: (a -> b -> b) -> b -> Ranged a -> b Source #

foldl :: (b -> a -> b) -> b -> Ranged a -> b Source #

foldl' :: (b -> a -> b) -> b -> Ranged a -> b Source #

foldr1 :: (a -> a -> a) -> Ranged a -> a Source #

foldl1 :: (a -> a -> a) -> Ranged a -> a Source #

toList :: Ranged a -> [a] Source #

null :: Ranged a -> Bool Source #

length :: Ranged a -> Int Source #

elem :: Eq a => a -> Ranged a -> Bool Source #

maximum :: Ord a => Ranged a -> a Source #

minimum :: Ord a => Ranged a -> a Source #

sum :: Num a => Ranged a -> a Source #

product :: Num a => Ranged a -> a Source #

Traversable Ranged Source # |
Instance details Defined in Agda.Syntax.Common Methods traverse :: Applicative f => (a -> f b) -> Ranged a -> f (Ranged b) Source # sequenceA :: Applicative f => Ranged (f a) -> f (Ranged a) Source # mapM :: Monad m => (a -> m b) -> Ranged a -> m (Ranged b) Source # sequence :: Monad m => Ranged (m a) -> m (Ranged a) Source #
Functor Ranged Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> Ranged a -> Ranged b Source # (<$) :: a -> Ranged b -> Ranged a Source #
MapNamedArgPattern a (NamedArg (Pattern' a)) Source # | Modify the content of `VarP`, and the closest surrounding `NamedArg`. Note: the `mapNamedArg` for `Pattern'` is not expressible simply by `fmap` or `traverse` etc., since `ConP` has `NamedArg` subpatterns, which are taken into account by `mapNamedArg`.
Instance details Defined in Agda.Syntax.Internal.Pattern Methods mapNamedArgPattern :: (NamedArg (Pattern' a) -> NamedArg (Pattern' a)) -> NamedArg (Pattern' a) -> NamedArg (Pattern' a) Source #
IsNoName a => IsNoName (Ranged a) Source # |
Instance details Defined in Agda.Syntax.Concrete.Name Methods isNoName :: Ranged a -> Bool Source #
PatternVars (NamedArg (Pattern' a)) Source # |
Instance details Defined in Agda.Syntax.Internal Associated Types type PatternVarOut (NamedArg (Pattern' a)) Source # Methods patternVars :: NamedArg (Pattern' a) -> [Arg (Either (PatternVarOut (NamedArg (Pattern' a))) Term)] Source #
HasRange (Ranged a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Ranged a -> Range Source #
KillRange (Ranged a) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (Ranged a) Source #
PrettyTCM (NamedArg Expr) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NamedArg Expr -> m Doc Source #
PrettyTCM (NamedArg Term) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => NamedArg Term -> m Doc Source #
PrettyTCM (Named_ Term) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Named_ Term -> m Doc Source #
NormaliseProjP a => NormaliseProjP (Named_ a) Source # |
Instance details Defined in Agda.TypeChecking.Records Methods normaliseProjP :: HasConstInfo m => Named_ a -> m (Named_ a) Source #
EmbPrj a => EmbPrj (Ranged a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Ranged a -> S Int32 Source # icod_ :: Ranged a -> S Int32 Source # value :: Int32 -> R (Ranged a) Source #
Apply [NamedArg (Pattern' a)] Source # | Make sure we only drop variable patterns.
Instance details Defined in Agda.TypeChecking.Substitute Methods apply :: [NamedArg (Pattern' a)] -> Args -> [NamedArg (Pattern' a)] Source # applyE :: [NamedArg (Pattern' a)] -> Elims -> [NamedArg (Pattern' a)] Source #
Pretty e => Pretty (Named_ e) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Named_ e -> Doc Source # prettyPrec :: Int -> Named_ e -> Doc Source # prettyList :: [Named_ e] -> Doc Source #
Pretty a => Pretty (Ranged a) Source # | Ignores range.
Instance details Defined in Agda.Syntax.Common Methods pretty :: Ranged a -> Doc Source # prettyPrec :: Int -> Ranged a -> Doc Source # prettyList :: [Ranged a] -> Doc Source #
Data a => Data (Ranged a) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Ranged a -> c (Ranged a) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Ranged a) Source #

toConstr :: Ranged a -> Constr Source #

dataTypeOf :: Ranged a -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Ranged a)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Ranged a)) Source #

gmapT :: (forall b. Data b => b -> b) -> Ranged a -> Ranged a Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Ranged a -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Ranged a -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Ranged a -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Ranged a -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Ranged a -> m (Ranged a) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Ranged a -> m (Ranged a) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Ranged a -> m (Ranged a) Source #

Show a => Show (Ranged a) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Ranged a -> ShowS Source # show :: Ranged a -> String Source # showList :: [Ranged a] -> ShowS Source #
NFData a => NFData (Ranged a) Source # | Ranges are not forced.
Instance details Defined in Agda.Syntax.Common Methods rnf :: Ranged a -> () Source #
Eq a => Eq (Ranged a) Source # | Ignores range.
Instance details Defined in Agda.Syntax.Common Methods (==) :: Ranged a -> Ranged a -> Bool Source # (/=) :: Ranged a -> Ranged a -> Bool Source #
Ord a => Ord (Ranged a) Source # | Ignores range.
Instance details Defined in Agda.Syntax.Common Methods compare :: Ranged a -> Ranged a -> Ordering Source # (<) :: Ranged a -> Ranged a -> Bool Source # (<=) :: Ranged a -> Ranged a -> Bool Source # (>) :: Ranged a -> Ranged a -> Bool Source # (>=) :: Ranged a -> Ranged a -> Bool Source # max :: Ranged a -> Ranged a -> Ranged a Source # min :: Ranged a -> Ranged a -> Ranged a Source #
ToNLPat (NamedArg DeBruijnPattern) (Elim' NLPat) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.Clause Methods toNLPat :: NamedArg DeBruijnPattern -> Elim' NLPat Source #
AddContext (List1 (NamedArg Name), Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => (List1 (NamedArg Name), Type) -> m a -> m a Source # contextSize :: (List1 (NamedArg Name), Type) -> Nat Source #
AddContext ([NamedArg Name], Type) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Context Methods addContext :: MonadAddContext m => ([NamedArg Name], Type) -> m a -> m a Source # contextSize :: ([NamedArg Name], Type) -> Nat Source #
type PatternVarOut (NamedArg (Pattern' a)) Source # |
Instance details Defined in Agda.Syntax.Internal type PatternVarOut (NamedArg (Pattern' a)) = a

unranged :: a -> Ranged a Source #

Thing with no range info.

# Raw names (before parsing into name parts).

type RawName = String Source #

A `RawName` is some sort of string.

rawNameToString :: RawName -> String Source #

stringToRawName :: String -> RawName Source #

type RString = Ranged RawName Source #

String with range info.

# Further constructor and projection info

data ConOrigin Source #

Where does the `ConP` or `Con` come from?

Constructors

ConOSystem | Inserted by system or expanded from an implicit pattern.
ConOCon | User wrote a constructor (pattern).
ConORec | User wrote a record (pattern).
ConOSplit | Generated by interactive case splitting.

#### Instances

Instances details

KillRange ConOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT ConOrigin Source #
EmbPrj ConOrigin Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: ConOrigin -> S Int32 Source # icod_ :: ConOrigin -> S Int32 Source # value :: Int32 -> R ConOrigin Source #
Data ConOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ConOrigin -> c ConOrigin Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ConOrigin Source #

toConstr :: ConOrigin -> Constr Source #

dataTypeOf :: ConOrigin -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ConOrigin) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ConOrigin) Source #

gmapT :: (forall b. Data b => b -> b) -> ConOrigin -> ConOrigin Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ConOrigin -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ConOrigin -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ConOrigin -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ConOrigin -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ConOrigin -> m ConOrigin Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ConOrigin -> m ConOrigin Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ConOrigin -> m ConOrigin Source #

Bounded ConOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: ConOrigin Source # maxBound :: ConOrigin Source #
Enum ConOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: ConOrigin -> ConOrigin Source #

pred :: ConOrigin -> ConOrigin Source #

toEnum :: Int -> ConOrigin Source #

fromEnum :: ConOrigin -> Int Source #

enumFrom :: ConOrigin -> [ConOrigin] Source #

enumFromThen :: ConOrigin -> ConOrigin -> [ConOrigin] Source #

enumFromTo :: ConOrigin -> ConOrigin -> [ConOrigin] Source #

enumFromThenTo :: ConOrigin -> ConOrigin -> ConOrigin -> [ConOrigin] Source #

Generic ConOrigin Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep ConOrigin :: Type -> Type Source # Methods from :: ConOrigin -> Rep ConOrigin x Source # to :: Rep ConOrigin x -> ConOrigin Source #
Show ConOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> ConOrigin -> ShowS Source # show :: ConOrigin -> String Source # showList :: [ConOrigin] -> ShowS Source #
NFData ConOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: ConOrigin -> () Source #
Eq ConOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: ConOrigin -> ConOrigin -> Bool Source # (/=) :: ConOrigin -> ConOrigin -> Bool Source #
Ord ConOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: ConOrigin -> ConOrigin -> Ordering Source #

(<) :: ConOrigin -> ConOrigin -> Bool Source #

(<=) :: ConOrigin -> ConOrigin -> Bool Source #

(>) :: ConOrigin -> ConOrigin -> Bool Source #

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

max :: ConOrigin -> ConOrigin -> ConOrigin Source #

min :: ConOrigin -> ConOrigin -> ConOrigin Source #

type Rep ConOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep ConOrigin = D1 ('MetaData "ConOrigin" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) ((C1 ('MetaCons "ConOSystem" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConOCon" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "ConORec" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConOSplit" 'PrefixI 'False) (U1 :: Type -> Type)))

bestConInfo :: ConOrigin -> ConOrigin -> ConOrigin Source #

Prefer user-written over system-inserted.

data ProjOrigin Source #

Where does a projection come from?

Constructors

ProjPrefix | User wrote a prefix projection.
ProjPostfix | User wrote a postfix projection.
ProjSystem | Projection was generated by the system.

#### Instances

Instances details

KillRange ProjOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT ProjOrigin Source #
EmbPrj ProjOrigin Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: ProjOrigin -> S Int32 Source # icod_ :: ProjOrigin -> S Int32 Source # value :: Int32 -> R ProjOrigin Source #
Data ProjOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProjOrigin -> c ProjOrigin Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ProjOrigin Source #

toConstr :: ProjOrigin -> Constr Source #

dataTypeOf :: ProjOrigin -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ProjOrigin) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ProjOrigin) Source #

gmapT :: (forall b. Data b => b -> b) -> ProjOrigin -> ProjOrigin Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProjOrigin -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProjOrigin -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ProjOrigin -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ProjOrigin -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProjOrigin -> m ProjOrigin Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProjOrigin -> m ProjOrigin Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProjOrigin -> m ProjOrigin Source #

Bounded ProjOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: ProjOrigin Source # maxBound :: ProjOrigin Source #
Enum ProjOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: ProjOrigin -> ProjOrigin Source #

pred :: ProjOrigin -> ProjOrigin Source #

toEnum :: Int -> ProjOrigin Source #

fromEnum :: ProjOrigin -> Int Source #

enumFrom :: ProjOrigin -> [ProjOrigin] Source #

enumFromThen :: ProjOrigin -> ProjOrigin -> [ProjOrigin] Source #

enumFromTo :: ProjOrigin -> ProjOrigin -> [ProjOrigin] Source #

enumFromThenTo :: ProjOrigin -> ProjOrigin -> ProjOrigin -> [ProjOrigin] Source #

Generic ProjOrigin Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep ProjOrigin :: Type -> Type Source # Methods from :: ProjOrigin -> Rep ProjOrigin x Source # to :: Rep ProjOrigin x -> ProjOrigin Source #
Show ProjOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> ProjOrigin -> ShowS Source # show :: ProjOrigin -> String Source # showList :: [ProjOrigin] -> ShowS Source #
NFData ProjOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: ProjOrigin -> () Source #
Eq ProjOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: ProjOrigin -> ProjOrigin -> Bool Source # (/=) :: ProjOrigin -> ProjOrigin -> Bool Source #
Ord ProjOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: ProjOrigin -> ProjOrigin -> Ordering Source #

(<) :: ProjOrigin -> ProjOrigin -> Bool Source #

(<=) :: ProjOrigin -> ProjOrigin -> Bool Source #

(>) :: ProjOrigin -> ProjOrigin -> Bool Source #

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

max :: ProjOrigin -> ProjOrigin -> ProjOrigin Source #

min :: ProjOrigin -> ProjOrigin -> ProjOrigin Source #

type Rep ProjOrigin Source # |
Instance details Defined in Agda.Syntax.Common type Rep ProjOrigin = D1 ('MetaData "ProjOrigin" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "ProjPrefix" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "ProjPostfix" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ProjSystem" 'PrefixI 'False) (U1 :: Type -> Type)))

# Infixity, access, abstract, etc.

data IsInfix Source #

Functions can be defined in both infix and prefix style. See `LHS`.

Constructors

InfixDef |
PrefixDef |

#### Instances

Instances details

Data IsInfix Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IsInfix -> c IsInfix Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IsInfix Source #

toConstr :: IsInfix -> Constr Source #

dataTypeOf :: IsInfix -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IsInfix) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IsInfix) Source #

gmapT :: (forall b. Data b => b -> b) -> IsInfix -> IsInfix Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IsInfix -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IsInfix -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> IsInfix -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IsInfix -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IsInfix -> m IsInfix Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IsInfix -> m IsInfix Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IsInfix -> m IsInfix Source #

Show IsInfix Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> IsInfix -> ShowS Source # show :: IsInfix -> String Source # showList :: [IsInfix] -> ShowS Source #
Eq IsInfix Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: IsInfix -> IsInfix -> Bool Source # (/=) :: IsInfix -> IsInfix -> Bool Source #
Ord IsInfix Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: IsInfix -> IsInfix -> Ordering Source # (<) :: IsInfix -> IsInfix -> Bool Source # (<=) :: IsInfix -> IsInfix -> Bool Source # (>) :: IsInfix -> IsInfix -> Bool Source # (>=) :: IsInfix -> IsInfix -> Bool Source # max :: IsInfix -> IsInfix -> IsInfix Source # min :: IsInfix -> IsInfix -> IsInfix Source #

## private blocks, public imports

data Access Source #

Access modifier.

Constructors

PrivateAccess Origin | Store the `Origin` of the private block that lead to this qualifier. This is needed for more faithful printing of declarations.
PublicAccess |

#### Instances

Instances details

HasRange Access Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Access -> Range Source #
KillRange Access Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Access Source #
EmbPrj Access Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Abstract Methods icode :: Access -> S Int32 Source # icod_ :: Access -> S Int32 Source # value :: Int32 -> R Access Source #
Pretty Access Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Access -> Doc Source # prettyPrec :: Int -> Access -> Doc Source # prettyList :: [Access] -> Doc Source #
Data Access Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Access -> c Access Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Access Source #

toConstr :: Access -> Constr Source #

dataTypeOf :: Access -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Access) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Access) Source #

gmapT :: (forall b. Data b => b -> b) -> Access -> Access Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Access -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Access -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Access -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Access -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Access -> m Access Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Access -> m Access Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Access -> m Access Source #

Show Access Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Access -> ShowS Source # show :: Access -> String Source # showList :: [Access] -> ShowS Source #
NFData Access Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Access -> () Source #
Eq Access Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Access -> Access -> Bool Source # (/=) :: Access -> Access -> Bool Source #
Ord Access Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Access -> Access -> Ordering Source # (<) :: Access -> Access -> Bool Source # (<=) :: Access -> Access -> Bool Source # (>) :: Access -> Access -> Bool Source # (>=) :: Access -> Access -> Bool Source # max :: Access -> Access -> Access Source # min :: Access -> Access -> Access Source #

## abstract blocks

data IsAbstract Source #

Abstract or concrete.

Constructors

AbstractDef |
ConcreteDef |

#### Instances

Instances details

AnyIsAbstract IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Methods anyIsAbstract :: IsAbstract -> IsAbstract Source #
LensIsAbstract IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Methods lensIsAbstract :: Lens' IsAbstract IsAbstract Source #
KillRange IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT IsAbstract Source #
EmbPrj IsAbstract Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: IsAbstract -> S Int32 Source # icod_ :: IsAbstract -> S Int32 Source # value :: Int32 -> R IsAbstract Source #
Data IsAbstract Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IsAbstract -> c IsAbstract Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IsAbstract Source #

toConstr :: IsAbstract -> Constr Source #

dataTypeOf :: IsAbstract -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IsAbstract) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IsAbstract) Source #

gmapT :: (forall b. Data b => b -> b) -> IsAbstract -> IsAbstract Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IsAbstract -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IsAbstract -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> IsAbstract -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IsAbstract -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IsAbstract -> m IsAbstract Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IsAbstract -> m IsAbstract Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IsAbstract -> m IsAbstract Source #

Monoid IsAbstract Source # | Default is `ConcreteDef`.
Instance details Defined in Agda.Syntax.Common Methods mempty :: IsAbstract Source # mappend :: IsAbstract -> IsAbstract -> IsAbstract Source # mconcat :: [IsAbstract] -> IsAbstract Source #
Semigroup IsAbstract Source # | Semigroup computes if any of several is an `AbstractDef`.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: IsAbstract -> IsAbstract -> IsAbstract Source # sconcat :: NonEmpty IsAbstract -> IsAbstract Source # stimes :: Integral b => b -> IsAbstract -> IsAbstract Source #
Generic IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep IsAbstract :: Type -> Type Source # Methods from :: IsAbstract -> Rep IsAbstract x Source # to :: Rep IsAbstract x -> IsAbstract Source #
Show IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> IsAbstract -> ShowS Source # show :: IsAbstract -> String Source # showList :: [IsAbstract] -> ShowS Source #
NFData IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: IsAbstract -> () Source #
Eq IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: IsAbstract -> IsAbstract -> Bool Source # (/=) :: IsAbstract -> IsAbstract -> Bool Source #
Ord IsAbstract Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: IsAbstract -> IsAbstract -> Ordering Source #

(<) :: IsAbstract -> IsAbstract -> Bool Source #

(<=) :: IsAbstract -> IsAbstract -> Bool Source #

(>) :: IsAbstract -> IsAbstract -> Bool Source #

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

max :: IsAbstract -> IsAbstract -> IsAbstract Source #

min :: IsAbstract -> IsAbstract -> IsAbstract Source #

type Rep IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common type Rep IsAbstract = D1 ('MetaData "IsAbstract" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "AbstractDef" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConcreteDef" 'PrefixI 'False) (U1 :: Type -> Type))

class LensIsAbstract a where Source #

Methods

lensIsAbstract :: Lens' IsAbstract a Source #

#### Instances

Instances details

LensIsAbstract IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Methods lensIsAbstract :: Lens' IsAbstract IsAbstract Source #
LensIsAbstract MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensIsAbstract :: Lens' IsAbstract MetaInfo Source #
LensIsAbstract TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensIsAbstract :: Lens' IsAbstract TCEnv Source #
LensIsAbstract (DefInfo' t) Source # |
Instance details Defined in Agda.Syntax.Info Methods lensIsAbstract :: Lens' IsAbstract (DefInfo' t) Source #
LensIsAbstract (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensIsAbstract :: Lens' IsAbstract (Closure a) Source #

class AnyIsAbstract a where Source #

Is any element of a collection an `AbstractDef`.

Minimal complete definition

Nothing

Methods

anyIsAbstract :: a -> IsAbstract Source #

default anyIsAbstract :: (Foldable t, AnyIsAbstract b, t b ~ a) => a -> IsAbstract Source #

#### Instances

Instances details

AnyIsAbstract IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Methods anyIsAbstract :: IsAbstract -> IsAbstract Source #
AnyIsAbstract (DefInfo' t) Source # |
Instance details Defined in Agda.Syntax.Info Methods anyIsAbstract :: DefInfo' t -> IsAbstract Source #
AnyIsAbstract a => AnyIsAbstract (Maybe a) Source # |
Instance details Defined in Agda.Syntax.Common Methods anyIsAbstract :: Maybe a -> IsAbstract Source #
AnyIsAbstract a => AnyIsAbstract [a] Source # |
Instance details Defined in Agda.Syntax.Common Methods anyIsAbstract :: [a] -> IsAbstract Source #

## instance blocks

data IsInstance Source #

Is this definition eligible for instance search?

Constructors

InstanceDef Range | Range of the `instance` keyword.
NotInstanceDef |

#### Instances

Instances details

HasRange IsInstance Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: IsInstance -> Range Source #
KillRange IsInstance Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT IsInstance Source #
Data IsInstance Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IsInstance -> c IsInstance Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IsInstance Source #

toConstr :: IsInstance -> Constr Source #

dataTypeOf :: IsInstance -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IsInstance) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IsInstance) Source #

gmapT :: (forall b. Data b => b -> b) -> IsInstance -> IsInstance Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IsInstance -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IsInstance -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> IsInstance -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IsInstance -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IsInstance -> m IsInstance Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IsInstance -> m IsInstance Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IsInstance -> m IsInstance Source #

Show IsInstance Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> IsInstance -> ShowS Source # show :: IsInstance -> String Source # showList :: [IsInstance] -> ShowS Source #
NFData IsInstance Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: IsInstance -> () Source #
Eq IsInstance Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: IsInstance -> IsInstance -> Bool Source # (/=) :: IsInstance -> IsInstance -> Bool Source #
Ord IsInstance Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: IsInstance -> IsInstance -> Ordering Source #

(<) :: IsInstance -> IsInstance -> Bool Source #

(<=) :: IsInstance -> IsInstance -> Bool Source #

(>) :: IsInstance -> IsInstance -> Bool Source #

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

max :: IsInstance -> IsInstance -> IsInstance Source #

min :: IsInstance -> IsInstance -> IsInstance Source #

## macro blocks

data IsMacro Source #

Is this a macro definition?

Constructors

MacroDef |
NotMacroDef |

#### Instances

Instances details

HasRange IsMacro Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: IsMacro -> Range Source #
KillRange IsMacro Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT IsMacro Source #
Data IsMacro Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> IsMacro -> c IsMacro Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c IsMacro Source #

toConstr :: IsMacro -> Constr Source #

dataTypeOf :: IsMacro -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c IsMacro) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c IsMacro) Source #

gmapT :: (forall b. Data b => b -> b) -> IsMacro -> IsMacro Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> IsMacro -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> IsMacro -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> IsMacro -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> IsMacro -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> IsMacro -> m IsMacro Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> IsMacro -> m IsMacro Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> IsMacro -> m IsMacro Source #

Generic IsMacro Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep IsMacro :: Type -> Type Source # Methods from :: IsMacro -> Rep IsMacro x Source # to :: Rep IsMacro x -> IsMacro Source #
Show IsMacro Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> IsMacro -> ShowS Source # show :: IsMacro -> String Source # showList :: [IsMacro] -> ShowS Source #
NFData IsMacro Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: IsMacro -> () Source #
Eq IsMacro Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: IsMacro -> IsMacro -> Bool Source # (/=) :: IsMacro -> IsMacro -> Bool Source #
Ord IsMacro Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: IsMacro -> IsMacro -> Ordering Source # (<) :: IsMacro -> IsMacro -> Bool Source # (<=) :: IsMacro -> IsMacro -> Bool Source # (>) :: IsMacro -> IsMacro -> Bool Source # (>=) :: IsMacro -> IsMacro -> Bool Source # max :: IsMacro -> IsMacro -> IsMacro Source # min :: IsMacro -> IsMacro -> IsMacro Source #
type Rep IsMacro Source # |
Instance details Defined in Agda.Syntax.Common type Rep IsMacro = D1 ('MetaData "IsMacro" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "MacroDef" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotMacroDef" 'PrefixI 'False) (U1 :: Type -> Type))

# NameId

newtype ModuleNameHash Source #

Constructors

ModuleNameHash Word64 |

#### Instances

Instances details

EmbPrj ModuleNameHash Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: ModuleNameHash -> S Int32 Source # icod_ :: ModuleNameHash -> S Int32 Source # value :: Int32 -> R ModuleNameHash Source #
Data ModuleNameHash Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ModuleNameHash -> c ModuleNameHash Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ModuleNameHash Source #

toConstr :: ModuleNameHash -> Constr Source #

dataTypeOf :: ModuleNameHash -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ModuleNameHash) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ModuleNameHash) Source #

gmapT :: (forall b. Data b => b -> b) -> ModuleNameHash -> ModuleNameHash Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ModuleNameHash -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ModuleNameHash -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ModuleNameHash -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ModuleNameHash -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ModuleNameHash -> m ModuleNameHash Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleNameHash -> m ModuleNameHash Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ModuleNameHash -> m ModuleNameHash Source #

Show ModuleNameHash Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> ModuleNameHash -> ShowS Source # show :: ModuleNameHash -> String Source # showList :: [ModuleNameHash] -> ShowS Source #
NFData ModuleNameHash Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: ModuleNameHash -> () Source #
Eq ModuleNameHash Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: ModuleNameHash -> ModuleNameHash -> Bool Source # (/=) :: ModuleNameHash -> ModuleNameHash -> Bool Source #
Ord ModuleNameHash Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: ModuleNameHash -> ModuleNameHash -> Ordering Source #

(<) :: ModuleNameHash -> ModuleNameHash -> Bool Source #

(<=) :: ModuleNameHash -> ModuleNameHash -> Bool Source #

(>) :: ModuleNameHash -> ModuleNameHash -> Bool Source #

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

max :: ModuleNameHash -> ModuleNameHash -> ModuleNameHash Source #

min :: ModuleNameHash -> ModuleNameHash -> ModuleNameHash Source #

noModuleNameHash :: ModuleNameHash Source #

data NameId Source #

The unique identifier of a name. Second argument is the top-level module identifier.

Constructors

NameId !Word64 !ModuleNameHash |

#### Instances

Instances details

KillRange NameId Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT NameId Source #
HasFresh NameId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' NameId TCState Source # nextFresh' :: NameId -> NameId Source #
EmbPrj NameId Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: NameId -> S Int32 Source # icod_ :: NameId -> S Int32 Source # value :: Int32 -> R NameId Source #
Pretty NameId Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: NameId -> Doc Source # prettyPrec :: Int -> NameId -> Doc Source # prettyList :: [NameId] -> Doc Source #
Data NameId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> NameId -> c NameId Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c NameId Source #

toConstr :: NameId -> Constr Source #

dataTypeOf :: NameId -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c NameId) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c NameId) Source #

gmapT :: (forall b. Data b => b -> b) -> NameId -> NameId Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> NameId -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> NameId -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> NameId -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> NameId -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> NameId -> m NameId Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> NameId -> m NameId Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> NameId -> m NameId Source #

Enum NameId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: NameId -> NameId Source #

pred :: NameId -> NameId Source #

toEnum :: Int -> NameId Source #

fromEnum :: NameId -> Int Source #

enumFrom :: NameId -> [NameId] Source #

enumFromThen :: NameId -> NameId -> [NameId] Source #

enumFromTo :: NameId -> NameId -> [NameId] Source #

enumFromThenTo :: NameId -> NameId -> NameId -> [NameId] Source #

Generic NameId Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep NameId :: Type -> Type Source # Methods from :: NameId -> Rep NameId x Source # to :: Rep NameId x -> NameId Source #
Show NameId Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> NameId -> ShowS Source # show :: NameId -> String Source # showList :: [NameId] -> ShowS Source #
NFData NameId Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: NameId -> () Source #
Eq NameId Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: NameId -> NameId -> Bool Source # (/=) :: NameId -> NameId -> Bool Source #
Ord NameId Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: NameId -> NameId -> Ordering Source # (<) :: NameId -> NameId -> Bool Source # (<=) :: NameId -> NameId -> Bool Source # (>) :: NameId -> NameId -> Bool Source # (>=) :: NameId -> NameId -> Bool Source # max :: NameId -> NameId -> NameId Source # min :: NameId -> NameId -> NameId Source #
Hashable NameId Source # |
Instance details Defined in Agda.Syntax.Common Methods hashWithSalt :: Int -> NameId -> Int Source # hash :: NameId -> Int Source #
Monad m => MonadFresh NameId (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods fresh :: PureConversionT m NameId Source #
type Rep NameId Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep NameId = D1 ('MetaData "NameId" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "NameId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word64) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 ModuleNameHash)))

# Meta variables

newtype MetaId Source #

A meta variable identifier is just a natural number.

Constructors

MetaId |

Fields

- metaId :: Nat

#### Instances

Instances details

EncodeTCM MetaId Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: MetaId -> TCM Value Source #
GetDefs MetaId Source # |
Instance details Defined in Agda.Syntax.Internal.Defs Methods getDefs :: MonadGetDefs m => MetaId -> m () Source #
Reify MetaId Source # |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract Associated Types type ReifiesTo MetaId Source # Methods reify :: MonadReify m => MetaId -> m (ReifiesTo MetaId) Source # reifyWhen :: MonadReify m => Bool -> MetaId -> m (ReifiesTo MetaId) Source #
HasFresh MetaId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' MetaId TCState Source # nextFresh' :: MetaId -> MetaId Source #
IsInstantiatedMeta MetaId Source # |
Instance details Defined in Agda.TypeChecking.Monad.MetaVars Methods isInstantiatedMeta :: (MonadFail m, ReadTCState m) => MetaId -> m Bool Source #
UnFreezeMeta MetaId Source # |
Instance details Defined in Agda.TypeChecking.Monad.MetaVars Methods unfreezeMeta :: MonadMetaSolver m => MetaId -> m () Source #
PrettyTCM MetaId Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => MetaId -> m Doc Source #
FromTerm MetaId Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods fromTerm :: TCM (FromTermFunction MetaId) Source #
PrimTerm MetaId Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods primTerm :: MetaId -> TCM Term Source #
PrimType MetaId Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods primType :: MetaId -> TCM Type Source #
ToTerm MetaId Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods toTerm :: TCM (MetaId -> Term) Source # toTermR :: TCM (MetaId -> ReduceM Term) Source #
EmbPrj MetaId Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: MetaId -> S Int32 Source # icod_ :: MetaId -> S Int32 Source # value :: Int32 -> R MetaId Source #
Unquote MetaId Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM MetaId Source #
Pretty MetaId Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: MetaId -> Doc Source # prettyPrec :: Int -> MetaId -> Doc Source # prettyList :: [MetaId] -> Doc Source #
ToJSON MetaId Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods toJSON :: MetaId -> Value # toEncoding :: MetaId -> Encoding # toJSONList :: [MetaId] -> Value # toEncodingList :: [MetaId] -> Encoding #
Data MetaId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MetaId -> c MetaId Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c MetaId Source #

toConstr :: MetaId -> Constr Source #

dataTypeOf :: MetaId -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c MetaId) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c MetaId) Source #

gmapT :: (forall b. Data b => b -> b) -> MetaId -> MetaId Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MetaId -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MetaId -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> MetaId -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MetaId -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MetaId -> m MetaId Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MetaId -> m MetaId Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MetaId -> m MetaId Source #

Enum MetaId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: MetaId -> MetaId Source #

pred :: MetaId -> MetaId Source #

toEnum :: Int -> MetaId Source #

fromEnum :: MetaId -> Int Source #

enumFrom :: MetaId -> [MetaId] Source #

enumFromThen :: MetaId -> MetaId -> [MetaId] Source #

enumFromTo :: MetaId -> MetaId -> [MetaId] Source #

enumFromThenTo :: MetaId -> MetaId -> MetaId -> [MetaId] Source #

Generic MetaId Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep MetaId :: Type -> Type Source # Methods from :: MetaId -> Rep MetaId x Source # to :: Rep MetaId x -> MetaId Source #
Num MetaId Source # |
Instance details Defined in Agda.Syntax.Common Methods (+) :: MetaId -> MetaId -> MetaId Source # (-) :: MetaId -> MetaId -> MetaId Source # (*) :: MetaId -> MetaId -> MetaId Source # negate :: MetaId -> MetaId Source # abs :: MetaId -> MetaId Source # signum :: MetaId -> MetaId Source # fromInteger :: Integer -> MetaId Source #
Integral MetaId Source # |
Instance details Defined in Agda.Syntax.Common Methods quot :: MetaId -> MetaId -> MetaId Source # rem :: MetaId -> MetaId -> MetaId Source # div :: MetaId -> MetaId -> MetaId Source # mod :: MetaId -> MetaId -> MetaId Source # quotRem :: MetaId -> MetaId -> (MetaId, MetaId) Source # divMod :: MetaId -> MetaId -> (MetaId, MetaId) Source # toInteger :: MetaId -> Integer Source #
Real MetaId Source # |
Instance details Defined in Agda.Syntax.Common Methods toRational :: MetaId -> Rational Source #
Show MetaId Source # | Show non-record version of this newtype.
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> MetaId -> ShowS Source # show :: MetaId -> String Source # showList :: [MetaId] -> ShowS Source #
NFData MetaId Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: MetaId -> () Source #
Eq MetaId Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: MetaId -> MetaId -> Bool Source # (/=) :: MetaId -> MetaId -> Bool Source #
Ord MetaId Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: MetaId -> MetaId -> Ordering Source # (<) :: MetaId -> MetaId -> Bool Source # (<=) :: MetaId -> MetaId -> Bool Source # (>) :: MetaId -> MetaId -> Bool Source # (>=) :: MetaId -> MetaId -> Bool Source # max :: MetaId -> MetaId -> MetaId Source # min :: MetaId -> MetaId -> MetaId Source #
Hashable MetaId Source # |
Instance details Defined in Agda.Syntax.Common Methods hashWithSalt :: Int -> MetaId -> Int Source # hash :: MetaId -> Int Source #
Singleton MetaId MetaSet Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods singleton :: MetaId -> MetaSet Source #
Singleton MetaId () Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods singleton :: MetaId -> () Source #
type ReifiesTo MetaId Source # |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract type ReifiesTo MetaId = Expr
type Rep MetaId Source # |
Instance details Defined in Agda.Syntax.Common type Rep MetaId = D1 ('MetaData "MetaId" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'True) (C1 ('MetaCons "MetaId" 'PrefixI 'True) (S1 ('MetaSel ('Just "metaId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Nat)))

newtype Constr a Source #

Constructors

Constr a |

#### Instances

Instances details

ToConcrete (Constr Constructor) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete Associated Types type ConOfAbs (Constr Constructor) Source # Methods toConcrete :: Constr Constructor -> AbsToCon (ConOfAbs (Constr Constructor)) Source # bindToConcrete :: Constr Constructor -> (ConOfAbs (Constr Constructor) -> AbsToCon b) -> AbsToCon b Source #
type ConOfAbs (Constr Constructor) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (Constr Constructor) = Declaration

# Problems

newtype ProblemId Source #

A "problem" consists of a set of constraints and the same constraint can be part of multiple problems.

Constructors

ProblemId Nat |

#### Instances

Instances details

EncodeTCM ProblemId Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: ProblemId -> TCM Value Source #
HasFresh ProblemId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' ProblemId TCState Source # nextFresh' :: ProblemId -> ProblemId Source #
PrettyTCM ProblemId Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => ProblemId -> m Doc Source #
Pretty ProblemId Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: ProblemId -> Doc Source # prettyPrec :: Int -> ProblemId -> Doc Source # prettyList :: [ProblemId] -> Doc Source #
ToJSON ProblemId Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods toJSON :: ProblemId -> Value # toEncoding :: ProblemId -> Encoding # toJSONList :: [ProblemId] -> Value # toEncodingList :: [ProblemId] -> Encoding #
Data ProblemId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ProblemId -> c ProblemId Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ProblemId Source #

toConstr :: ProblemId -> Constr Source #

dataTypeOf :: ProblemId -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ProblemId) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ProblemId) Source #

gmapT :: (forall b. Data b => b -> b) -> ProblemId -> ProblemId Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ProblemId -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ProblemId -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ProblemId -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ProblemId -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ProblemId -> m ProblemId Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ProblemId -> m ProblemId Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ProblemId -> m ProblemId Source #

Enum ProblemId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: ProblemId -> ProblemId Source #

pred :: ProblemId -> ProblemId Source #

toEnum :: Int -> ProblemId Source #

fromEnum :: ProblemId -> Int Source #

enumFrom :: ProblemId -> [ProblemId] Source #

enumFromThen :: ProblemId -> ProblemId -> [ProblemId] Source #

enumFromTo :: ProblemId -> ProblemId -> [ProblemId] Source #

enumFromThenTo :: ProblemId -> ProblemId -> ProblemId -> [ProblemId] Source #

Num ProblemId Source # |
Instance details Defined in Agda.Syntax.Common Methods (+) :: ProblemId -> ProblemId -> ProblemId Source # (-) :: ProblemId -> ProblemId -> ProblemId Source # (*) :: ProblemId -> ProblemId -> ProblemId Source # negate :: ProblemId -> ProblemId Source # abs :: ProblemId -> ProblemId Source # signum :: ProblemId -> ProblemId Source # fromInteger :: Integer -> ProblemId Source #
Integral ProblemId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

quot :: ProblemId -> ProblemId -> ProblemId Source #

rem :: ProblemId -> ProblemId -> ProblemId Source #

div :: ProblemId -> ProblemId -> ProblemId Source #

mod :: ProblemId -> ProblemId -> ProblemId Source #

quotRem :: ProblemId -> ProblemId -> (ProblemId, ProblemId) Source #

divMod :: ProblemId -> ProblemId -> (ProblemId, ProblemId) Source #

toInteger :: ProblemId -> Integer Source #

Real ProblemId Source # |
Instance details Defined in Agda.Syntax.Common Methods toRational :: ProblemId -> Rational Source #
Show ProblemId Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> ProblemId -> ShowS Source # show :: ProblemId -> String Source # showList :: [ProblemId] -> ShowS Source #
NFData ProblemId Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: ProblemId -> () Source #
Eq ProblemId Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: ProblemId -> ProblemId -> Bool Source # (/=) :: ProblemId -> ProblemId -> Bool Source #
Ord ProblemId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: ProblemId -> ProblemId -> Ordering Source #

(<) :: ProblemId -> ProblemId -> Bool Source #

(<=) :: ProblemId -> ProblemId -> Bool Source #

(>) :: ProblemId -> ProblemId -> Bool Source #

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

max :: ProblemId -> ProblemId -> ProblemId Source #

min :: ProblemId -> ProblemId -> ProblemId Source #

Monad m => MonadFresh ProblemId (PureConversionT m) Source # |
Instance details Defined in Agda.TypeChecking.Conversion.Pure Methods fresh :: PureConversionT m ProblemId Source #

# Placeholders (used to parse sections)

data PositionInName Source #

The position of a name part or underscore in a name.

Constructors

Beginning | The following underscore is at the beginning of the name: `_foo`.
Middle | The following underscore is in the middle of the name: `foo_bar`.
End | The following underscore is at the end of the name: `foo_`.

#### Instances

Instances details

Data PositionInName Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PositionInName -> c PositionInName Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PositionInName Source #

toConstr :: PositionInName -> Constr Source #

dataTypeOf :: PositionInName -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PositionInName) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PositionInName) Source #

gmapT :: (forall b. Data b => b -> b) -> PositionInName -> PositionInName Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PositionInName -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PositionInName -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> PositionInName -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PositionInName -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PositionInName -> m PositionInName Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PositionInName -> m PositionInName Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PositionInName -> m PositionInName Source #

Show PositionInName Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> PositionInName -> ShowS Source # show :: PositionInName -> String Source # showList :: [PositionInName] -> ShowS Source #
Eq PositionInName Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: PositionInName -> PositionInName -> Bool Source # (/=) :: PositionInName -> PositionInName -> Bool Source #
Ord PositionInName Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: PositionInName -> PositionInName -> Ordering Source #

(<) :: PositionInName -> PositionInName -> Bool Source #

(<=) :: PositionInName -> PositionInName -> Bool Source #

(>) :: PositionInName -> PositionInName -> Bool Source #

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

max :: PositionInName -> PositionInName -> PositionInName Source #

min :: PositionInName -> PositionInName -> PositionInName Source #

data MaybePlaceholder e Source #

Placeholders are used to represent the underscores in a section.

Constructors

Placeholder !PositionInName |
NoPlaceholder !(Maybe PositionInName) e | The second argument is used only (but not always) for name parts other than underscores.

#### Instances

Instances details

Foldable MaybePlaceholder Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

fold :: Monoid m => MaybePlaceholder m -> m Source #

foldMap :: Monoid m => (a -> m) -> MaybePlaceholder a -> m Source #

foldMap' :: Monoid m => (a -> m) -> MaybePlaceholder a -> m Source #

foldr :: (a -> b -> b) -> b -> MaybePlaceholder a -> b Source #

foldr' :: (a -> b -> b) -> b -> MaybePlaceholder a -> b Source #

foldl :: (b -> a -> b) -> b -> MaybePlaceholder a -> b Source #

foldl' :: (b -> a -> b) -> b -> MaybePlaceholder a -> b Source #

foldr1 :: (a -> a -> a) -> MaybePlaceholder a -> a Source #

foldl1 :: (a -> a -> a) -> MaybePlaceholder a -> a Source #

toList :: MaybePlaceholder a -> [a] Source #

null :: MaybePlaceholder a -> Bool Source #

length :: MaybePlaceholder a -> Int Source #

elem :: Eq a => a -> MaybePlaceholder a -> Bool Source #

maximum :: Ord a => MaybePlaceholder a -> a Source #

minimum :: Ord a => MaybePlaceholder a -> a Source #

sum :: Num a => MaybePlaceholder a -> a Source #

product :: Num a => MaybePlaceholder a -> a Source #

Traversable MaybePlaceholder Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

traverse :: Applicative f => (a -> f b) -> MaybePlaceholder a -> f (MaybePlaceholder b) Source #

sequenceA :: Applicative f => MaybePlaceholder (f a) -> f (MaybePlaceholder a) Source #

mapM :: Monad m => (a -> m b) -> MaybePlaceholder a -> m (MaybePlaceholder b) Source #

sequence :: Monad m => MaybePlaceholder (m a) -> m (MaybePlaceholder a) Source #

Functor MaybePlaceholder Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> MaybePlaceholder a -> MaybePlaceholder b Source # (<$) :: a -> MaybePlaceholder b -> MaybePlaceholder a Source #
ExprLike a => ExprLike (MaybePlaceholder a) Source # |
Instance details Defined in Agda.Syntax.Concrete.Generic Methods mapExpr :: (Expr -> Expr) -> MaybePlaceholder a -> MaybePlaceholder a Source # foldExpr :: Monoid m => (Expr -> m) -> MaybePlaceholder a -> m Source # traverseExpr :: Monad m => (Expr -> m Expr) -> MaybePlaceholder a -> m (MaybePlaceholder a) Source #
HasRange a => HasRange (MaybePlaceholder a) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: MaybePlaceholder a -> Range Source #
KillRange a => KillRange (MaybePlaceholder a) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (MaybePlaceholder a) Source #
Pretty a => Pretty (MaybePlaceholder a) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: MaybePlaceholder a -> Doc Source # prettyPrec :: Int -> MaybePlaceholder a -> Doc Source # prettyList :: [MaybePlaceholder a] -> Doc Source #
Data e => Data (MaybePlaceholder e) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> MaybePlaceholder e -> c (MaybePlaceholder e) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (MaybePlaceholder e) Source #

toConstr :: MaybePlaceholder e -> Constr Source #

dataTypeOf :: MaybePlaceholder e -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (MaybePlaceholder e)) Source #

dataCast2 :: Typeable t => (forall d e0. (Data d, Data e0) => c (t d e0)) -> Maybe (c (MaybePlaceholder e)) Source #

gmapT :: (forall b. Data b => b -> b) -> MaybePlaceholder e -> MaybePlaceholder e Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> MaybePlaceholder e -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> MaybePlaceholder e -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> MaybePlaceholder e -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> MaybePlaceholder e -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> MaybePlaceholder e -> m (MaybePlaceholder e) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> MaybePlaceholder e -> m (MaybePlaceholder e) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> MaybePlaceholder e -> m (MaybePlaceholder e) Source #

Show e => Show (MaybePlaceholder e) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> MaybePlaceholder e -> ShowS Source # show :: MaybePlaceholder e -> String Source # showList :: [MaybePlaceholder e] -> ShowS Source #
NFData a => NFData (MaybePlaceholder a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: MaybePlaceholder a -> () Source #
Eq e => Eq (MaybePlaceholder e) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: MaybePlaceholder e -> MaybePlaceholder e -> Bool Source # (/=) :: MaybePlaceholder e -> MaybePlaceholder e -> Bool Source #
Ord e => Ord (MaybePlaceholder e) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: MaybePlaceholder e -> MaybePlaceholder e -> Ordering Source #

(<) :: MaybePlaceholder e -> MaybePlaceholder e -> Bool Source #

(<=) :: MaybePlaceholder e -> MaybePlaceholder e -> Bool Source #

(>) :: MaybePlaceholder e -> MaybePlaceholder e -> Bool Source #

(>=) :: MaybePlaceholder e -> MaybePlaceholder e -> Bool Source #

max :: MaybePlaceholder e -> MaybePlaceholder e -> MaybePlaceholder e Source #

min :: MaybePlaceholder e -> MaybePlaceholder e -> MaybePlaceholder e Source #

noPlaceholder :: e -> MaybePlaceholder e Source #

An abbreviation: `noPlaceholder = `NoPlaceholder` `Nothing``.

# Interaction meta variables

newtype InteractionId Source #

Constructors

InteractionId |

Fields

- interactionId :: Nat

#### Instances

Instances details

EncodeTCM InteractionId Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: InteractionId -> TCM Value Source #
KillRange InteractionId Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT InteractionId Source #
ToConcrete InteractionId Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete Associated Types type ConOfAbs InteractionId Source # Methods toConcrete :: InteractionId -> AbsToCon (ConOfAbs InteractionId) Source # bindToConcrete :: InteractionId -> (ConOfAbs InteractionId -> AbsToCon b) -> AbsToCon b Source #
HasFresh InteractionId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' InteractionId TCState Source # nextFresh' :: InteractionId -> InteractionId Source #
Pretty InteractionId Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: InteractionId -> Doc Source # prettyPrec :: Int -> InteractionId -> Doc Source # prettyList :: [InteractionId] -> Doc Source #
ToJSON InteractionId Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods toJSON :: InteractionId -> Value # toEncoding :: InteractionId -> Encoding # toJSONList :: [InteractionId] -> Value # toEncodingList :: [InteractionId] -> Encoding #
Data InteractionId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> InteractionId -> c InteractionId Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c InteractionId Source #

toConstr :: InteractionId -> Constr Source #

dataTypeOf :: InteractionId -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c InteractionId) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c InteractionId) Source #

gmapT :: (forall b. Data b => b -> b) -> InteractionId -> InteractionId Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> InteractionId -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> InteractionId -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> InteractionId -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> InteractionId -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> InteractionId -> m InteractionId Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> InteractionId -> m InteractionId Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> InteractionId -> m InteractionId Source #

Enum InteractionId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: InteractionId -> InteractionId Source #

pred :: InteractionId -> InteractionId Source #

toEnum :: Int -> InteractionId Source #

fromEnum :: InteractionId -> Int Source #

enumFrom :: InteractionId -> [InteractionId] Source #

enumFromThen :: InteractionId -> InteractionId -> [InteractionId] Source #

enumFromTo :: InteractionId -> InteractionId -> [InteractionId] Source #

enumFromThenTo :: InteractionId -> InteractionId -> InteractionId -> [InteractionId] Source #

Num InteractionId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

(+) :: InteractionId -> InteractionId -> InteractionId Source #

(-) :: InteractionId -> InteractionId -> InteractionId Source #

(*) :: InteractionId -> InteractionId -> InteractionId Source #

negate :: InteractionId -> InteractionId Source #

abs :: InteractionId -> InteractionId Source #

signum :: InteractionId -> InteractionId Source #

fromInteger :: Integer -> InteractionId Source #

Read InteractionId Source # |
Instance details Defined in Agda.Interaction.Base Methods readsPrec :: Int -> ReadS InteractionId Source # readList :: ReadS [InteractionId] Source # readPrec :: ReadPrec InteractionId Source # readListPrec :: ReadPrec [InteractionId] Source #
Integral InteractionId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

quot :: InteractionId -> InteractionId -> InteractionId Source #

rem :: InteractionId -> InteractionId -> InteractionId Source #

div :: InteractionId -> InteractionId -> InteractionId Source #

mod :: InteractionId -> InteractionId -> InteractionId Source #

quotRem :: InteractionId -> InteractionId -> (InteractionId, InteractionId) Source #

divMod :: InteractionId -> InteractionId -> (InteractionId, InteractionId) Source #

toInteger :: InteractionId -> Integer Source #

Real InteractionId Source # |
Instance details Defined in Agda.Syntax.Common Methods toRational :: InteractionId -> Rational Source #
Show InteractionId Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> InteractionId -> ShowS Source # show :: InteractionId -> String Source # showList :: [InteractionId] -> ShowS Source #
NFData InteractionId Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: InteractionId -> () Source #
NFData InteractionPoints Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods rnf :: InteractionPoints -> () Source #
Eq InteractionId Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: InteractionId -> InteractionId -> Bool Source # (/=) :: InteractionId -> InteractionId -> Bool Source #
Ord InteractionId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: InteractionId -> InteractionId -> Ordering Source #

(<) :: InteractionId -> InteractionId -> Bool Source #

(<=) :: InteractionId -> InteractionId -> Bool Source #

(>) :: InteractionId -> InteractionId -> Bool Source #

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

max :: InteractionId -> InteractionId -> InteractionId Source #

min :: InteractionId -> InteractionId -> InteractionId Source #

type ConOfAbs InteractionId Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs InteractionId = Expr

# Fixity

type PrecedenceLevel = Double Source #

Precedence levels for operators.

data FixityLevel Source #

Constructors

Unrelated | No fixity declared.
Related !PrecedenceLevel | Fixity level declared as the number.

#### Instances

Instances details

ToTerm FixityLevel Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods toTerm :: TCM (FixityLevel -> Term) Source # toTermR :: TCM (FixityLevel -> ReduceM Term) Source #
EmbPrj FixityLevel Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: FixityLevel -> S Int32 Source # icod_ :: FixityLevel -> S Int32 Source # value :: Int32 -> R FixityLevel Source #
Null FixityLevel Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: FixityLevel Source # null :: FixityLevel -> Bool Source #
Pretty FixityLevel Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: FixityLevel -> Doc Source # prettyPrec :: Int -> FixityLevel -> Doc Source # prettyList :: [FixityLevel] -> Doc Source #
Data FixityLevel Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> FixityLevel -> c FixityLevel Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c FixityLevel Source #

toConstr :: FixityLevel -> Constr Source #

dataTypeOf :: FixityLevel -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c FixityLevel) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c FixityLevel) Source #

gmapT :: (forall b. Data b => b -> b) -> FixityLevel -> FixityLevel Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> FixityLevel -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> FixityLevel -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> FixityLevel -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> FixityLevel -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> FixityLevel -> m FixityLevel Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> FixityLevel -> m FixityLevel Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> FixityLevel -> m FixityLevel Source #

Show FixityLevel Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> FixityLevel -> ShowS Source # show :: FixityLevel -> String Source # showList :: [FixityLevel] -> ShowS Source #
NFData FixityLevel Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: FixityLevel -> () Source #
Eq FixityLevel Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: FixityLevel -> FixityLevel -> Bool Source # (/=) :: FixityLevel -> FixityLevel -> Bool Source #
Ord FixityLevel Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: FixityLevel -> FixityLevel -> Ordering Source #

(<) :: FixityLevel -> FixityLevel -> Bool Source #

(<=) :: FixityLevel -> FixityLevel -> Bool Source #

(>) :: FixityLevel -> FixityLevel -> Bool Source #

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

max :: FixityLevel -> FixityLevel -> FixityLevel Source #

min :: FixityLevel -> FixityLevel -> FixityLevel Source #

data Associativity Source #

Associativity.

Constructors

NonAssoc |
LeftAssoc |
RightAssoc |

#### Instances

Instances details

ToTerm Associativity Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods toTerm :: TCM (Associativity -> Term) Source # toTermR :: TCM (Associativity -> ReduceM Term) Source #
EmbPrj Associativity Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Associativity -> S Int32 Source # icod_ :: Associativity -> S Int32 Source # value :: Int32 -> R Associativity Source #
Pretty Associativity Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Associativity -> Doc Source # prettyPrec :: Int -> Associativity -> Doc Source # prettyList :: [Associativity] -> Doc Source #
Data Associativity Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Associativity -> c Associativity Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Associativity Source #

toConstr :: Associativity -> Constr Source #

dataTypeOf :: Associativity -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Associativity) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Associativity) Source #

gmapT :: (forall b. Data b => b -> b) -> Associativity -> Associativity Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Associativity -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Associativity -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Associativity -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Associativity -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Associativity -> m Associativity Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Associativity -> m Associativity Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Associativity -> m Associativity Source #

Show Associativity Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Associativity -> ShowS Source # show :: Associativity -> String Source # showList :: [Associativity] -> ShowS Source #
Eq Associativity Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Associativity -> Associativity -> Bool Source # (/=) :: Associativity -> Associativity -> Bool Source #
Ord Associativity Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: Associativity -> Associativity -> Ordering Source #

(<) :: Associativity -> Associativity -> Bool Source #

(<=) :: Associativity -> Associativity -> Bool Source #

(>) :: Associativity -> Associativity -> Bool Source #

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

max :: Associativity -> Associativity -> Associativity Source #

min :: Associativity -> Associativity -> Associativity Source #

data Fixity Source #

Fixity of operators.

Constructors

Fixity |

Fields

- fixityRange :: Range

  Range of the whole fixity declaration.

- fixityLevel :: !FixityLevel
- fixityAssoc :: !Associativity

#### Instances

Instances details

LensFixity Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods lensFixity :: Lens' Fixity Fixity Source #
HasRange Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Fixity -> Range Source #
KillRange Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Fixity Source #
ToTerm Fixity Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods toTerm :: TCM (Fixity -> Term) Source # toTermR :: TCM (Fixity -> ReduceM Term) Source #
EmbPrj Fixity Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Fixity -> S Int32 Source # icod_ :: Fixity -> S Int32 Source # value :: Int32 -> R Fixity Source #
Null Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Fixity Source # null :: Fixity -> Bool Source #
Pretty Fixity Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Fixity -> Doc Source # prettyPrec :: Int -> Fixity -> Doc Source # prettyList :: [Fixity] -> Doc Source #
Data Fixity Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Fixity -> c Fixity Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Fixity Source #

toConstr :: Fixity -> Constr Source #

dataTypeOf :: Fixity -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Fixity) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Fixity) Source #

gmapT :: (forall b. Data b => b -> b) -> Fixity -> Fixity Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Fixity -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Fixity -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Fixity -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Fixity -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity -> m Fixity Source #

Show Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Fixity -> ShowS Source # show :: Fixity -> String Source # showList :: [Fixity] -> ShowS Source #
NFData Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Fixity -> () Source #
Eq Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Fixity -> Fixity -> Bool Source # (/=) :: Fixity -> Fixity -> Bool Source #
Ord Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Fixity -> Fixity -> Ordering Source # (<) :: Fixity -> Fixity -> Bool Source # (<=) :: Fixity -> Fixity -> Bool Source # (>) :: Fixity -> Fixity -> Bool Source # (>=) :: Fixity -> Fixity -> Bool Source # max :: Fixity -> Fixity -> Fixity Source # min :: Fixity -> Fixity -> Fixity Source #

noFixity :: Fixity Source #

defaultFixity :: Fixity Source #

# Notation coupled with `Fixity`

data Fixity' Source #

The notation is handled as the fixity in the renamer. Hence, they are grouped together in this type.

Constructors

Fixity' |

Fields

- theFixity :: !Fixity
- theNotation :: Notation
- theNameRange :: Range

  Range of the name in the fixity declaration (used for correct highlighting, see issue #2140).

#### Instances

Instances details

LensFixity Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods lensFixity :: Lens' Fixity Fixity' Source #
LensFixity' Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods lensFixity' :: Lens' Fixity' Fixity' Source #
KillRange Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Fixity' Source #
PrimTerm Fixity' Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods primTerm :: Fixity' -> TCM Term Source #
PrimType Fixity' Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods primType :: Fixity' -> TCM Type Source #
ToTerm Fixity' Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods toTerm :: TCM (Fixity' -> Term) Source # toTermR :: TCM (Fixity' -> ReduceM Term) Source #
EmbPrj Fixity' Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Fixity' -> S Int32 Source # icod_ :: Fixity' -> S Int32 Source # value :: Int32 -> R Fixity' Source #
Null Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Fixity' Source # null :: Fixity' -> Bool Source #
Pretty Fixity' Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Fixity' -> Doc Source # prettyPrec :: Int -> Fixity' -> Doc Source # prettyList :: [Fixity'] -> Doc Source #
Data Fixity' Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Fixity' -> c Fixity' Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c Fixity' Source #

toConstr :: Fixity' -> Constr Source #

dataTypeOf :: Fixity' -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c Fixity') Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c Fixity') Source #

gmapT :: (forall b. Data b => b -> b) -> Fixity' -> Fixity' Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Fixity' -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Fixity' -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Fixity' -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Fixity' -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Fixity' -> m Fixity' Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity' -> m Fixity' Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Fixity' -> m Fixity' Source #

Show Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Fixity' -> ShowS Source # show :: Fixity' -> String Source # showList :: [Fixity'] -> ShowS Source #
NFData Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Fixity' -> () Source #
Eq Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Fixity' -> Fixity' -> Bool Source # (/=) :: Fixity' -> Fixity' -> Bool Source #

noFixity' :: Fixity' Source #

_fixityAssoc :: Lens' Associativity Fixity Source #

_fixityLevel :: Lens' FixityLevel Fixity Source #

class LensFixity a where Source #

Methods

lensFixity :: Lens' Fixity a Source #

#### Instances

Instances details

LensFixity Name Source # |
Instance details Defined in Agda.Syntax.Abstract.Name Methods lensFixity :: Lens' Fixity Name Source #
LensFixity QName Source # |
Instance details Defined in Agda.Syntax.Abstract.Name Methods lensFixity :: Lens' Fixity QName Source #
LensFixity Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods lensFixity :: Lens' Fixity Fixity Source #
LensFixity Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods lensFixity :: Lens' Fixity Fixity' Source #
LensFixity NewNotation Source # |
Instance details Defined in Agda.Syntax.Notation Methods lensFixity :: Lens' Fixity NewNotation Source #
LensFixity AbstractName Source # |
Instance details Defined in Agda.Syntax.Scope.Base Methods lensFixity :: Lens' Fixity AbstractName Source #
LensFixity (ThingWithFixity a) Source # |
Instance details Defined in Agda.Syntax.Fixity Methods lensFixity :: Lens' Fixity (ThingWithFixity a) Source #

class LensFixity' a where Source #

Methods

lensFixity' :: Lens' Fixity' a Source #

#### Instances

Instances details

LensFixity' Name Source # |
Instance details Defined in Agda.Syntax.Abstract.Name Methods lensFixity' :: Lens' Fixity' Name Source #
LensFixity' QName Source # |
Instance details Defined in Agda.Syntax.Abstract.Name Methods lensFixity' :: Lens' Fixity' QName Source #
LensFixity' Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods lensFixity' :: Lens' Fixity' Fixity' Source #
LensFixity' (ThingWithFixity a) Source # |
Instance details Defined in Agda.Syntax.Fixity Methods lensFixity' :: Lens' Fixity' (ThingWithFixity a) Source #

# Import directive

data ImportDirective' n m Source #

The things you are allowed to say when you shuffle names between name spaces (i.e. in `import`, `namespace`, or `open` declarations).

Constructors

ImportDirective |

Fields

- importDirRange :: Range
- using :: Using' n m
- hiding :: HidingDirective' n m
- impRenaming :: RenamingDirective' n m
- publicOpen :: Maybe Range

  Only for `open`. Exports the opened names from the current module.

#### Instances

Instances details

(HasRange a, HasRange b) => HasRange (ImportDirective' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: ImportDirective' a b -> Range Source #
(KillRange a, KillRange b) => KillRange (ImportDirective' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (ImportDirective' a b) Source #
Null (ImportDirective' n m) Source # | `null` for import directives holds when everything is imported unchanged (no names are hidden or renamed).
Instance details Defined in Agda.Syntax.Common Methods empty :: ImportDirective' n m Source # null :: ImportDirective' n m -> Bool Source #
(Pretty a, Pretty b) => Pretty (ImportDirective' a b) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: ImportDirective' a b -> Doc Source # prettyPrec :: Int -> ImportDirective' a b -> Doc Source # prettyList :: [ImportDirective' a b] -> Doc Source #
(Data n, Data m) => Data (ImportDirective' n m) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ImportDirective' n m -> c (ImportDirective' n m) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ImportDirective' n m) Source #

toConstr :: ImportDirective' n m -> Constr Source #

dataTypeOf :: ImportDirective' n m -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ImportDirective' n m)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ImportDirective' n m)) Source #

gmapT :: (forall b. Data b => b -> b) -> ImportDirective' n m -> ImportDirective' n m Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ImportDirective' n m -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ImportDirective' n m -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ImportDirective' n m -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ImportDirective' n m -> u Source #

gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> ImportDirective' n m -> m0 (ImportDirective' n m) Source #

gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> ImportDirective' n m -> m0 (ImportDirective' n m) Source #

gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> ImportDirective' n m -> m0 (ImportDirective' n m) Source #

(HasRange n, HasRange m) => Monoid (ImportDirective' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: ImportDirective' n m Source # mappend :: ImportDirective' n m -> ImportDirective' n m -> ImportDirective' n m Source # mconcat :: [ImportDirective' n m] -> ImportDirective' n m Source #
(HasRange n, HasRange m) => Semigroup (ImportDirective' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: ImportDirective' n m -> ImportDirective' n m -> ImportDirective' n m Source # sconcat :: NonEmpty (ImportDirective' n m) -> ImportDirective' n m Source # stimes :: Integral b => b -> ImportDirective' n m -> ImportDirective' n m Source #
(Show a, Show b) => Show (ImportDirective' a b) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods showsPrec :: Int -> ImportDirective' a b -> ShowS Source # show :: ImportDirective' a b -> String Source # showList :: [ImportDirective' a b] -> ShowS Source #
(NFData a, NFData b) => NFData (ImportDirective' a b) Source # | Ranges are not forced.
Instance details Defined in Agda.Syntax.Common Methods rnf :: ImportDirective' a b -> () Source #
(Eq m, Eq n) => Eq (ImportDirective' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: ImportDirective' n m -> ImportDirective' n m -> Bool Source # (/=) :: ImportDirective' n m -> ImportDirective' n m -> Bool Source #

type HidingDirective' n m = [ImportedName' n m] Source #

type RenamingDirective' n m = [Renaming' n m] Source #

defaultImportDir :: ImportDirective' n m Source #

Default is directive is `private` (use everything, but do not export).

isDefaultImportDir :: ImportDirective' n m -> Bool Source #

`isDefaultImportDir` implies `null`, but not the other way round.

data Using' n m Source #

The `using` clause of import directive.

Constructors

UseEverything | No `using` clause given.
Using [ImportedName' n m] | `using` the specified names.

#### Instances

Instances details

(HasRange a, HasRange b) => HasRange (Using' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Using' a b -> Range Source #
(KillRange a, KillRange b) => KillRange (Using' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (Using' a b) Source #
Null (Using' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Using' n m Source # null :: Using' n m -> Bool Source #
(Pretty a, Pretty b) => Pretty (Using' a b) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Using' a b -> Doc Source # prettyPrec :: Int -> Using' a b -> Doc Source # prettyList :: [Using' a b] -> Doc Source #
(Data n, Data m) => Data (Using' n m) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Using' n m -> c (Using' n m) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Using' n m) Source #

toConstr :: Using' n m -> Constr Source #

dataTypeOf :: Using' n m -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Using' n m)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Using' n m)) Source #

gmapT :: (forall b. Data b => b -> b) -> Using' n m -> Using' n m Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Using' n m -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Using' n m -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Using' n m -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Using' n m -> u Source #

gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> Using' n m -> m0 (Using' n m) Source #

gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> Using' n m -> m0 (Using' n m) Source #

gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> Using' n m -> m0 (Using' n m) Source #

Monoid (Using' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: Using' n m Source # mappend :: Using' n m -> Using' n m -> Using' n m Source # mconcat :: [Using' n m] -> Using' n m Source #
Semigroup (Using' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: Using' n m -> Using' n m -> Using' n m Source # sconcat :: NonEmpty (Using' n m) -> Using' n m Source # stimes :: Integral b => b -> Using' n m -> Using' n m Source #
(Show a, Show b) => Show (Using' a b) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods showsPrec :: Int -> Using' a b -> ShowS Source # show :: Using' a b -> String Source # showList :: [Using' a b] -> ShowS Source #
(NFData a, NFData b) => NFData (Using' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Using' a b -> () Source #
(Eq m, Eq n) => Eq (Using' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Using' n m -> Using' n m -> Bool Source # (/=) :: Using' n m -> Using' n m -> Bool Source #

mapUsing :: ([ImportedName' n1 m1] -> [ImportedName' n2 m2]) -> Using' n1 m1 -> Using' n2 m2 Source #

data ImportedName' n m Source #

An imported name can be a module or a defined name.

Constructors

ImportedModule m | Imported module name of type `m`.
ImportedName n | Imported name of type `n`.

#### Instances

Instances details

(HasRange a, HasRange b) => HasRange (ImportedName' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: ImportedName' a b -> Range Source #
(KillRange a, KillRange b) => KillRange (ImportedName' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (ImportedName' a b) Source #
(EmbPrj a, EmbPrj b) => EmbPrj (ImportedName' a b) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: ImportedName' a b -> S Int32 Source # icod_ :: ImportedName' a b -> S Int32 Source # value :: Int32 -> R (ImportedName' a b) Source #
(Pretty a, Pretty b) => Pretty (ImportedName' a b) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: ImportedName' a b -> Doc Source # prettyPrec :: Int -> ImportedName' a b -> Doc Source # prettyList :: [ImportedName' a b] -> Doc Source #
(Data n, Data m) => Data (ImportedName' n m) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ImportedName' n m -> c (ImportedName' n m) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (ImportedName' n m) Source #

toConstr :: ImportedName' n m -> Constr Source #

dataTypeOf :: ImportedName' n m -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (ImportedName' n m)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (ImportedName' n m)) Source #

gmapT :: (forall b. Data b => b -> b) -> ImportedName' n m -> ImportedName' n m Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ImportedName' n m -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ImportedName' n m -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ImportedName' n m -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ImportedName' n m -> u Source #

gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> ImportedName' n m -> m0 (ImportedName' n m) Source #

gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> ImportedName' n m -> m0 (ImportedName' n m) Source #

gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> ImportedName' n m -> m0 (ImportedName' n m) Source #

(Show m, Show n) => Show (ImportedName' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> ImportedName' n m -> ShowS Source # show :: ImportedName' n m -> String Source # showList :: [ImportedName' n m] -> ShowS Source #
(NFData a, NFData b) => NFData (ImportedName' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: ImportedName' a b -> () Source #
(Eq m, Eq n) => Eq (ImportedName' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: ImportedName' n m -> ImportedName' n m -> Bool Source # (/=) :: ImportedName' n m -> ImportedName' n m -> Bool Source #
(Ord m, Ord n) => Ord (ImportedName' n m) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: ImportedName' n m -> ImportedName' n m -> Ordering Source #

(<) :: ImportedName' n m -> ImportedName' n m -> Bool Source #

(<=) :: ImportedName' n m -> ImportedName' n m -> Bool Source #

(>) :: ImportedName' n m -> ImportedName' n m -> Bool Source #

(>=) :: ImportedName' n m -> ImportedName' n m -> Bool Source #

max :: ImportedName' n m -> ImportedName' n m -> ImportedName' n m Source #

min :: ImportedName' n m -> ImportedName' n m -> ImportedName' n m Source #

fromImportedName :: ImportedName' a a -> a Source #

setImportedName :: ImportedName' a a -> a -> ImportedName' a a Source #

partitionImportedNames :: [ImportedName' n m] -> ([n], [m]) Source #

Like `partitionEithers`.

data Renaming' n m Source #

Constructors

Renaming |

Fields

- renFrom :: ImportedName' n m

  Rename from this name.

- renTo :: ImportedName' n m

  To this one. Must be same kind as `renFrom`.

- renFixity :: Maybe Fixity

  New fixity of `renTo` (optional).

- renToRange :: Range

  The range of the "to" keyword. Retained for highlighting purposes.

#### Instances

Instances details

(HasRange a, HasRange b) => HasRange (Renaming' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: Renaming' a b -> Range Source #
(KillRange a, KillRange b) => KillRange (Renaming' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (Renaming' a b) Source #
(Pretty a, Pretty b) => Pretty (Renaming' a b) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: Renaming' a b -> Doc Source # prettyPrec :: Int -> Renaming' a b -> Doc Source # prettyList :: [Renaming' a b] -> Doc Source #
(Data n, Data m) => Data (Renaming' n m) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Renaming' n m -> c (Renaming' n m) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Renaming' n m) Source #

toConstr :: Renaming' n m -> Constr Source #

dataTypeOf :: Renaming' n m -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (Renaming' n m)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Renaming' n m)) Source #

gmapT :: (forall b. Data b => b -> b) -> Renaming' n m -> Renaming' n m Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Renaming' n m -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Renaming' n m -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> Renaming' n m -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Renaming' n m -> u Source #

gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> Renaming' n m -> m0 (Renaming' n m) Source #

gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> Renaming' n m -> m0 (Renaming' n m) Source #

gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> Renaming' n m -> m0 (Renaming' n m) Source #

(Show a, Show b) => Show (Renaming' a b) Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods showsPrec :: Int -> Renaming' a b -> ShowS Source # show :: Renaming' a b -> String Source # showList :: [Renaming' a b] -> ShowS Source #
(NFData a, NFData b) => NFData (Renaming' a b) Source # | Ranges are not forced.
Instance details Defined in Agda.Syntax.Common Methods rnf :: Renaming' a b -> () Source #
(Eq m, Eq n) => Eq (Renaming' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Renaming' n m -> Renaming' n m -> Bool Source # (/=) :: Renaming' n m -> Renaming' n m -> Bool Source #

## HasRange instances

## KillRange instances

## NFData instances

# Termination

data TerminationCheck m Source #

Termination check? (Default = TerminationCheck).

Constructors

TerminationCheck | Run the termination checker.
NoTerminationCheck | Skip termination checking (unsafe).
NonTerminating | Treat as non-terminating.
Terminating | Treat as terminating (unsafe). Same effect as `NoTerminationCheck`.
TerminationMeasure Range m | Skip termination checking but use measure instead.

#### Instances

Instances details

Functor TerminationCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> TerminationCheck a -> TerminationCheck b Source # (<$) :: a -> TerminationCheck b -> TerminationCheck a Source #
KillRange m => KillRange (TerminationCheck m) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (TerminationCheck m) Source #
Data m => Data (TerminationCheck m) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> TerminationCheck m -> c (TerminationCheck m) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (TerminationCheck m) Source #

toConstr :: TerminationCheck m -> Constr Source #

dataTypeOf :: TerminationCheck m -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (TerminationCheck m)) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (TerminationCheck m)) Source #

gmapT :: (forall b. Data b => b -> b) -> TerminationCheck m -> TerminationCheck m Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> TerminationCheck m -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> TerminationCheck m -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> TerminationCheck m -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> TerminationCheck m -> u Source #

gmapM :: Monad m0 => (forall d. Data d => d -> m0 d) -> TerminationCheck m -> m0 (TerminationCheck m) Source #

gmapMp :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> TerminationCheck m -> m0 (TerminationCheck m) Source #

gmapMo :: MonadPlus m0 => (forall d. Data d => d -> m0 d) -> TerminationCheck m -> m0 (TerminationCheck m) Source #

Show m => Show (TerminationCheck m) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> TerminationCheck m -> ShowS Source # show :: TerminationCheck m -> String Source # showList :: [TerminationCheck m] -> ShowS Source #
NFData a => NFData (TerminationCheck a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: TerminationCheck a -> () Source #
Eq m => Eq (TerminationCheck m) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: TerminationCheck m -> TerminationCheck m -> Bool Source # (/=) :: TerminationCheck m -> TerminationCheck m -> Bool Source #

# Positivity

data PositivityCheck Source #

Positivity check? (Default = True).

Constructors

YesPositivityCheck |
NoPositivityCheck |

#### Instances

Instances details

KillRange PositivityCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT PositivityCheck Source #
Data PositivityCheck Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> PositivityCheck -> c PositivityCheck Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c PositivityCheck Source #

toConstr :: PositivityCheck -> Constr Source #

dataTypeOf :: PositivityCheck -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c PositivityCheck) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c PositivityCheck) Source #

gmapT :: (forall b. Data b => b -> b) -> PositivityCheck -> PositivityCheck Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> PositivityCheck -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> PositivityCheck -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> PositivityCheck -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> PositivityCheck -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> PositivityCheck -> m PositivityCheck Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> PositivityCheck -> m PositivityCheck Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> PositivityCheck -> m PositivityCheck Source #

Monoid PositivityCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: PositivityCheck Source # mappend :: PositivityCheck -> PositivityCheck -> PositivityCheck Source # mconcat :: [PositivityCheck] -> PositivityCheck Source #
Semigroup PositivityCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: PositivityCheck -> PositivityCheck -> PositivityCheck Source # sconcat :: NonEmpty PositivityCheck -> PositivityCheck Source # stimes :: Integral b => b -> PositivityCheck -> PositivityCheck Source #
Bounded PositivityCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: PositivityCheck Source # maxBound :: PositivityCheck Source #
Enum PositivityCheck Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: PositivityCheck -> PositivityCheck Source #

pred :: PositivityCheck -> PositivityCheck Source #

toEnum :: Int -> PositivityCheck Source #

fromEnum :: PositivityCheck -> Int Source #

enumFrom :: PositivityCheck -> [PositivityCheck] Source #

enumFromThen :: PositivityCheck -> PositivityCheck -> [PositivityCheck] Source #

enumFromTo :: PositivityCheck -> PositivityCheck -> [PositivityCheck] Source #

enumFromThenTo :: PositivityCheck -> PositivityCheck -> PositivityCheck -> [PositivityCheck] Source #

Generic PositivityCheck Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep PositivityCheck :: Type -> Type Source # Methods from :: PositivityCheck -> Rep PositivityCheck x Source # to :: Rep PositivityCheck x -> PositivityCheck Source #
Show PositivityCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> PositivityCheck -> ShowS Source # show :: PositivityCheck -> String Source # showList :: [PositivityCheck] -> ShowS Source #
NFData PositivityCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: PositivityCheck -> () Source #
Eq PositivityCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: PositivityCheck -> PositivityCheck -> Bool Source # (/=) :: PositivityCheck -> PositivityCheck -> Bool Source #
Ord PositivityCheck Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: PositivityCheck -> PositivityCheck -> Ordering Source #

(<) :: PositivityCheck -> PositivityCheck -> Bool Source #

(<=) :: PositivityCheck -> PositivityCheck -> Bool Source #

(>) :: PositivityCheck -> PositivityCheck -> Bool Source #

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

max :: PositivityCheck -> PositivityCheck -> PositivityCheck Source #

min :: PositivityCheck -> PositivityCheck -> PositivityCheck Source #

type Rep PositivityCheck Source # |
Instance details Defined in Agda.Syntax.Common type Rep PositivityCheck = D1 ('MetaData "PositivityCheck" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "YesPositivityCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoPositivityCheck" 'PrefixI 'False) (U1 :: Type -> Type))

# Universe checking

data UniverseCheck Source #

Universe check? (Default is yes).

Constructors

YesUniverseCheck |
NoUniverseCheck |

#### Instances

Instances details

KillRange UniverseCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT UniverseCheck Source #
Data UniverseCheck Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> UniverseCheck -> c UniverseCheck Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c UniverseCheck Source #

toConstr :: UniverseCheck -> Constr Source #

dataTypeOf :: UniverseCheck -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c UniverseCheck) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c UniverseCheck) Source #

gmapT :: (forall b. Data b => b -> b) -> UniverseCheck -> UniverseCheck Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> UniverseCheck -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> UniverseCheck -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> UniverseCheck -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> UniverseCheck -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> UniverseCheck -> m UniverseCheck Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> UniverseCheck -> m UniverseCheck Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> UniverseCheck -> m UniverseCheck Source #

Bounded UniverseCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: UniverseCheck Source # maxBound :: UniverseCheck Source #
Enum UniverseCheck Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: UniverseCheck -> UniverseCheck Source #

pred :: UniverseCheck -> UniverseCheck Source #

toEnum :: Int -> UniverseCheck Source #

fromEnum :: UniverseCheck -> Int Source #

enumFrom :: UniverseCheck -> [UniverseCheck] Source #

enumFromThen :: UniverseCheck -> UniverseCheck -> [UniverseCheck] Source #

enumFromTo :: UniverseCheck -> UniverseCheck -> [UniverseCheck] Source #

enumFromThenTo :: UniverseCheck -> UniverseCheck -> UniverseCheck -> [UniverseCheck] Source #

Generic UniverseCheck Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep UniverseCheck :: Type -> Type Source # Methods from :: UniverseCheck -> Rep UniverseCheck x Source # to :: Rep UniverseCheck x -> UniverseCheck Source #
Show UniverseCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> UniverseCheck -> ShowS Source # show :: UniverseCheck -> String Source # showList :: [UniverseCheck] -> ShowS Source #
NFData UniverseCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: UniverseCheck -> () Source #
Eq UniverseCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: UniverseCheck -> UniverseCheck -> Bool Source # (/=) :: UniverseCheck -> UniverseCheck -> Bool Source #
Ord UniverseCheck Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: UniverseCheck -> UniverseCheck -> Ordering Source #

(<) :: UniverseCheck -> UniverseCheck -> Bool Source #

(<=) :: UniverseCheck -> UniverseCheck -> Bool Source #

(>) :: UniverseCheck -> UniverseCheck -> Bool Source #

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

max :: UniverseCheck -> UniverseCheck -> UniverseCheck Source #

min :: UniverseCheck -> UniverseCheck -> UniverseCheck Source #

type Rep UniverseCheck Source # |
Instance details Defined in Agda.Syntax.Common type Rep UniverseCheck = D1 ('MetaData "UniverseCheck" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "YesUniverseCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoUniverseCheck" 'PrefixI 'False) (U1 :: Type -> Type))

# Universe checking

data CoverageCheck Source #

Coverage check? (Default is yes).

Constructors

YesCoverageCheck |
NoCoverageCheck |

#### Instances

Instances details

KillRange CoverageCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT CoverageCheck Source #
Data CoverageCheck Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> CoverageCheck -> c CoverageCheck Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c CoverageCheck Source #

toConstr :: CoverageCheck -> Constr Source #

dataTypeOf :: CoverageCheck -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c CoverageCheck) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c CoverageCheck) Source #

gmapT :: (forall b. Data b => b -> b) -> CoverageCheck -> CoverageCheck Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> CoverageCheck -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> CoverageCheck -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> CoverageCheck -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> CoverageCheck -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> CoverageCheck -> m CoverageCheck Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> CoverageCheck -> m CoverageCheck Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> CoverageCheck -> m CoverageCheck Source #

Monoid CoverageCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: CoverageCheck Source # mappend :: CoverageCheck -> CoverageCheck -> CoverageCheck Source # mconcat :: [CoverageCheck] -> CoverageCheck Source #
Semigroup CoverageCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: CoverageCheck -> CoverageCheck -> CoverageCheck Source # sconcat :: NonEmpty CoverageCheck -> CoverageCheck Source # stimes :: Integral b => b -> CoverageCheck -> CoverageCheck Source #
Bounded CoverageCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: CoverageCheck Source # maxBound :: CoverageCheck Source #
Enum CoverageCheck Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: CoverageCheck -> CoverageCheck Source #

pred :: CoverageCheck -> CoverageCheck Source #

toEnum :: Int -> CoverageCheck Source #

fromEnum :: CoverageCheck -> Int Source #

enumFrom :: CoverageCheck -> [CoverageCheck] Source #

enumFromThen :: CoverageCheck -> CoverageCheck -> [CoverageCheck] Source #

enumFromTo :: CoverageCheck -> CoverageCheck -> [CoverageCheck] Source #

enumFromThenTo :: CoverageCheck -> CoverageCheck -> CoverageCheck -> [CoverageCheck] Source #

Generic CoverageCheck Source # |
Instance details Defined in Agda.Syntax.Common Associated Types type Rep CoverageCheck :: Type -> Type Source # Methods from :: CoverageCheck -> Rep CoverageCheck x Source # to :: Rep CoverageCheck x -> CoverageCheck Source #
Show CoverageCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> CoverageCheck -> ShowS Source # show :: CoverageCheck -> String Source # showList :: [CoverageCheck] -> ShowS Source #
NFData CoverageCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: CoverageCheck -> () Source #
Eq CoverageCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: CoverageCheck -> CoverageCheck -> Bool Source # (/=) :: CoverageCheck -> CoverageCheck -> Bool Source #
Ord CoverageCheck Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: CoverageCheck -> CoverageCheck -> Ordering Source #

(<) :: CoverageCheck -> CoverageCheck -> Bool Source #

(<=) :: CoverageCheck -> CoverageCheck -> Bool Source #

(>) :: CoverageCheck -> CoverageCheck -> Bool Source #

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

max :: CoverageCheck -> CoverageCheck -> CoverageCheck Source #

min :: CoverageCheck -> CoverageCheck -> CoverageCheck Source #

type Rep CoverageCheck Source # |
Instance details Defined in Agda.Syntax.Common type Rep CoverageCheck = D1 ('MetaData "CoverageCheck" "Agda.Syntax.Common" "Agda-2.6.2.2-7KnEKyKhaJHFPwDzdI3vIK" 'False) (C1 ('MetaCons "YesCoverageCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoCoverageCheck" 'PrefixI 'False) (U1 :: Type -> Type))

# Rewrite Directives on the LHS

data RewriteEqn' qn nm p e Source #

`RewriteEqn' qn p e` represents the `rewrite` and irrefutable `with` clauses of the LHS. `qn` stands for the QName of the auxiliary function generated to implement the feature `nm` is the type of names for pattern variables `p` is the type of patterns `e` is the type of expressions

Constructors

Rewrite (List1 (qn, e))

    rewrite e

Invert qn (List1 (Named nm (p, e)))

    with p <- e in eq

#### Instances

Instances details

ToAbstract RewriteEqn Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract Associated Types type AbsOfCon RewriteEqn Source # Methods toAbstract :: RewriteEqn -> ScopeM (AbsOfCon RewriteEqn) Source #
Foldable (RewriteEqn' qn nm p) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

fold :: Monoid m => RewriteEqn' qn nm p m -> m Source #

foldMap :: Monoid m => (a -> m) -> RewriteEqn' qn nm p a -> m Source #

foldMap' :: Monoid m => (a -> m) -> RewriteEqn' qn nm p a -> m Source #

foldr :: (a -> b -> b) -> b -> RewriteEqn' qn nm p a -> b Source #

foldr' :: (a -> b -> b) -> b -> RewriteEqn' qn nm p a -> b Source #

foldl :: (b -> a -> b) -> b -> RewriteEqn' qn nm p a -> b Source #

foldl' :: (b -> a -> b) -> b -> RewriteEqn' qn nm p a -> b Source #

foldr1 :: (a -> a -> a) -> RewriteEqn' qn nm p a -> a Source #

foldl1 :: (a -> a -> a) -> RewriteEqn' qn nm p a -> a Source #

toList :: RewriteEqn' qn nm p a -> [a] Source #

null :: RewriteEqn' qn nm p a -> Bool Source #

length :: RewriteEqn' qn nm p a -> Int Source #

elem :: Eq a => a -> RewriteEqn' qn nm p a -> Bool Source #

maximum :: Ord a => RewriteEqn' qn nm p a -> a Source #

minimum :: Ord a => RewriteEqn' qn nm p a -> a Source #

sum :: Num a => RewriteEqn' qn nm p a -> a Source #

product :: Num a => RewriteEqn' qn nm p a -> a Source #

Traversable (RewriteEqn' qn nm p) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

traverse :: Applicative f => (a -> f b) -> RewriteEqn' qn nm p a -> f (RewriteEqn' qn nm p b) Source #

sequenceA :: Applicative f => RewriteEqn' qn nm p (f a) -> f (RewriteEqn' qn nm p a) Source #

mapM :: Monad m => (a -> m b) -> RewriteEqn' qn nm p a -> m (RewriteEqn' qn nm p b) Source #

sequence :: Monad m => RewriteEqn' qn nm p (m a) -> m (RewriteEqn' qn nm p a) Source #

Functor (RewriteEqn' qn nm p) Source # |
Instance details Defined in Agda.Syntax.Common Methods fmap :: (a -> b) -> RewriteEqn' qn nm p a -> RewriteEqn' qn nm p b Source # (<$) :: a -> RewriteEqn' qn nm p b -> RewriteEqn' qn nm p a Source #
(ExprLike qn, ExprLike nm, ExprLike p, ExprLike e) => ExprLike (RewriteEqn' qn nm p e) Source # |
Instance details Defined in Agda.Syntax.Abstract.Views Methods recurseExpr :: RecurseExprFn m (RewriteEqn' qn nm p e) Source # foldExpr :: FoldExprFn m (RewriteEqn' qn nm p e) Source # traverseExpr :: TraverseExprFn m (RewriteEqn' qn nm p e) Source # mapExpr :: (Expr -> Expr) -> RewriteEqn' qn nm p e -> RewriteEqn' qn nm p e Source #
(ExprLike qn, ExprLike e) => ExprLike (RewriteEqn' qn nm p e) Source # |
Instance details Defined in Agda.Syntax.Concrete.Generic Methods mapExpr :: (Expr -> Expr) -> RewriteEqn' qn nm p e -> RewriteEqn' qn nm p e Source # foldExpr :: Monoid m => (Expr -> m) -> RewriteEqn' qn nm p e -> m Source # traverseExpr :: Monad m => (Expr -> m Expr) -> RewriteEqn' qn nm p e -> m (RewriteEqn' qn nm p e) Source #
(HasRange qn, HasRange nm, HasRange p, HasRange e) => HasRange (RewriteEqn' qn nm p e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: RewriteEqn' qn nm p e -> Range Source #
(KillRange qn, KillRange nm, KillRange e, KillRange p) => KillRange (RewriteEqn' qn nm p e) Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT (RewriteEqn' qn nm p e) Source #
(ToConcrete p, ToConcrete a) => ToConcrete (RewriteEqn' qn BindName p a) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete Associated Types type ConOfAbs (RewriteEqn' qn BindName p a) Source # Methods toConcrete :: RewriteEqn' qn BindName p a -> AbsToCon (ConOfAbs (RewriteEqn' qn BindName p a)) Source # bindToConcrete :: RewriteEqn' qn BindName p a -> (ConOfAbs (RewriteEqn' qn BindName p a) -> AbsToCon b) -> AbsToCon b Source #
ToAbstract (RewriteEqn' () BindName Pattern Expr) Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract Associated Types type AbsOfCon (RewriteEqn' () BindName Pattern Expr) Source # Methods toAbstract :: RewriteEqn' () BindName Pattern Expr -> ScopeM (AbsOfCon (RewriteEqn' () BindName Pattern Expr)) Source #
(Pretty nm, Pretty p, Pretty e) => Pretty (RewriteEqn' qn nm p e) Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: RewriteEqn' qn nm p e -> Doc Source # prettyPrec :: Int -> RewriteEqn' qn nm p e -> Doc Source # prettyList :: [RewriteEqn' qn nm p e] -> Doc Source #
(Data qn, Data nm, Data p, Data e) => Data (RewriteEqn' qn nm p e) Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> RewriteEqn' qn nm p e -> c (RewriteEqn' qn nm p e) Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (RewriteEqn' qn nm p e) Source #

toConstr :: RewriteEqn' qn nm p e -> Constr Source #

dataTypeOf :: RewriteEqn' qn nm p e -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c (RewriteEqn' qn nm p e)) Source #

dataCast2 :: Typeable t => (forall d e0. (Data d, Data e0) => c (t d e0)) -> Maybe (c (RewriteEqn' qn nm p e)) Source #

gmapT :: (forall b. Data b => b -> b) -> RewriteEqn' qn nm p e -> RewriteEqn' qn nm p e Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> RewriteEqn' qn nm p e -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> RewriteEqn' qn nm p e -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> RewriteEqn' qn nm p e -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> RewriteEqn' qn nm p e -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> RewriteEqn' qn nm p e -> m (RewriteEqn' qn nm p e) Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> RewriteEqn' qn nm p e -> m (RewriteEqn' qn nm p e) Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> RewriteEqn' qn nm p e -> m (RewriteEqn' qn nm p e) Source #

(Show qn, Show e, Show nm, Show p) => Show (RewriteEqn' qn nm p e) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> RewriteEqn' qn nm p e -> ShowS Source # show :: RewriteEqn' qn nm p e -> String Source # showList :: [RewriteEqn' qn nm p e] -> ShowS Source #
(NFData qn, NFData nm, NFData p, NFData e) => NFData (RewriteEqn' qn nm p e) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: RewriteEqn' qn nm p e -> () Source #
(Eq qn, Eq e, Eq nm, Eq p) => Eq (RewriteEqn' qn nm p e) Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: RewriteEqn' qn nm p e -> RewriteEqn' qn nm p e -> Bool Source # (/=) :: RewriteEqn' qn nm p e -> RewriteEqn' qn nm p e -> Bool Source #
type AbsOfCon RewriteEqn Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon RewriteEqn = RewriteEqn' () BindName Pattern Expr
type ConOfAbs (RewriteEqn' qn BindName p a) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (RewriteEqn' qn BindName p a) = RewriteEqn' () Name (ConOfAbs p) (ConOfAbs a)
type AbsOfCon (RewriteEqn' () BindName Pattern Expr) Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon (RewriteEqn' () BindName Pattern Expr) = RewriteEqn

# Information on expanded ellipsis (`...`)

data ExpandedEllipsis Source #

Constructors

ExpandedEllipsis |

Fields

- ellipsisRange :: Range
- ellipsisWithArgs :: Int

NoEllipsis |

#### Instances

Instances details

KillRange ExpandedEllipsis Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT ExpandedEllipsis Source #
EmbPrj ExpandedEllipsis Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: ExpandedEllipsis -> S Int32 Source # icod_ :: ExpandedEllipsis -> S Int32 Source # value :: Int32 -> R ExpandedEllipsis Source #
Null ExpandedEllipsis Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: ExpandedEllipsis Source # null :: ExpandedEllipsis -> Bool Source #
Data ExpandedEllipsis Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> ExpandedEllipsis -> c ExpandedEllipsis Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c ExpandedEllipsis Source #

toConstr :: ExpandedEllipsis -> Constr Source #

dataTypeOf :: ExpandedEllipsis -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c ExpandedEllipsis) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c ExpandedEllipsis) Source #

gmapT :: (forall b. Data b => b -> b) -> ExpandedEllipsis -> ExpandedEllipsis Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> ExpandedEllipsis -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> ExpandedEllipsis -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> ExpandedEllipsis -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> ExpandedEllipsis -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> ExpandedEllipsis -> m ExpandedEllipsis Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> ExpandedEllipsis -> m ExpandedEllipsis Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> ExpandedEllipsis -> m ExpandedEllipsis Source #

Monoid ExpandedEllipsis Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: ExpandedEllipsis Source # mappend :: ExpandedEllipsis -> ExpandedEllipsis -> ExpandedEllipsis Source # mconcat :: [ExpandedEllipsis] -> ExpandedEllipsis Source #
Semigroup ExpandedEllipsis Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: ExpandedEllipsis -> ExpandedEllipsis -> ExpandedEllipsis Source # sconcat :: NonEmpty ExpandedEllipsis -> ExpandedEllipsis Source # stimes :: Integral b => b -> ExpandedEllipsis -> ExpandedEllipsis Source #
Show ExpandedEllipsis Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> ExpandedEllipsis -> ShowS Source # show :: ExpandedEllipsis -> String Source # showList :: [ExpandedEllipsis] -> ShowS Source #
NFData ExpandedEllipsis Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: ExpandedEllipsis -> () Source #
Eq ExpandedEllipsis Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: ExpandedEllipsis -> ExpandedEllipsis -> Bool Source # (/=) :: ExpandedEllipsis -> ExpandedEllipsis -> Bool Source #

type Notation = [GenPart] Source #

Notation as provided by the `syntax` declaration.

noNotation :: Notation Source #

data GenPart Source #

Part of a Notation

Constructors

BindHole Range (Ranged Int) | Argument is the position of the hole (with binding) where the binding should occur. First range is the rhs range and second is the binder.
NormalHole Range (NamedArg (Ranged Int)) | Argument is where the expression should go.
WildHole (Ranged Int) | An underscore in binding position.
IdPart RString |

#### Instances

Instances details

HasRange GenPart Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: GenPart -> Range Source #
KillRange GenPart Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT GenPart Source #
SetRange GenPart Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> GenPart -> GenPart Source #
EmbPrj GenPart Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: GenPart -> S Int32 Source # icod_ :: GenPart -> S Int32 Source # value :: Int32 -> R GenPart Source #
Pretty GenPart Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: GenPart -> Doc Source # prettyPrec :: Int -> GenPart -> Doc Source # prettyList :: [GenPart] -> Doc Source #
Data GenPart Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> GenPart -> c GenPart Source #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c GenPart Source #

toConstr :: GenPart -> Constr Source #

dataTypeOf :: GenPart -> DataType Source #

dataCast1 :: Typeable t => (forall d. Data d => c (t d)) -> Maybe (c GenPart) Source #

dataCast2 :: Typeable t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c GenPart) Source #

gmapT :: (forall b. Data b => b -> b) -> GenPart -> GenPart Source #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> GenPart -> r Source #

gmapQr :: forall r r'. (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> GenPart -> r Source #

gmapQ :: (forall d. Data d => d -> u) -> GenPart -> [u] Source #

gmapQi :: Int -> (forall d. Data d => d -> u) -> GenPart -> u Source #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> GenPart -> m GenPart Source #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> GenPart -> m GenPart Source #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> GenPart -> m GenPart Source #

Show GenPart Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> GenPart -> ShowS Source # show :: GenPart -> String Source # showList :: [GenPart] -> ShowS Source #
NFData GenPart Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: GenPart -> () Source #
Eq GenPart Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: GenPart -> GenPart -> Bool Source # (/=) :: GenPart -> GenPart -> Bool Source #
Ord GenPart Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: GenPart -> GenPart -> Ordering Source # (<) :: GenPart -> GenPart -> Bool Source # (<=) :: GenPart -> GenPart -> Bool Source # (>) :: GenPart -> GenPart -> Bool Source # (>=) :: GenPart -> GenPart -> Bool Source # max :: GenPart -> GenPart -> GenPart Source # min :: GenPart -> GenPart -> GenPart Source #