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

Safe Haskell | None
Language | Haskell2010

Agda.Syntax.Common

Contents

- Orphan instances

Description

Some common syntactic entities are defined in this module.

Synopsis

- type Arity = Nat
- data OverlapMode
  - = Overlappable
  - | Overlapping
  - | Overlaps
  - | DefaultOverlap
  - | Incoherent
  - | FieldOverlap
- data Overlappable
  - = YesOverlap
  - | NoOverlap
- type Nat = Int
- data Associativity
  - = NonAssoc
  - | LeftAssoc
  - | RightAssoc
- data Fixity = Fixity {
  - fixityRange :: Range
  - fixityLevel :: !FixityLevel
  - fixityAssoc :: !Associativity
  }
- newtype Constr a = Constr a
- data Arg e = Arg {
  - argInfo :: ArgInfo
  - unArg :: e
  }
- hidden :: LensHiding a => a -> Bool
- data Origin
  - = UserWritten
  - | Inserted
  - | Reflected
  - | CaseSplit
  - | Substitution
  - | ExpandedPun
  - | Generalization
- data FileType
  - = AgdaFileType
  - | MdFileType
  - | RstFileType
  - | TexFileType
  - | OrgFileType
  - | TypstFileType
  - | TreeFileType
- data Lock
  - = IsNotLock
  - | IsLock LockOrigin
- data PositionInName
  - = Beginning
  - | Middle
  - | End
- data ImportDirective' n m = ImportDirective {
  - importDirRange :: Range
  - using :: Using' n m
  - hiding :: HidingDirective' n m
  - impRenaming :: RenamingDirective' n m
  - publicOpen :: Maybe KwRange
  }
- isInstance :: LensHiding a => a -> Bool
- defaultFixity :: Fixity
- data Q1Origin
  - = Q1Inferred
  - | Q1 Range
  - | Q1Linear Range
- class LensLock a where
  - getLock :: a -> Lock
  - setLock :: Lock -> a -> a
  - mapLock :: (Lock -> Lock) -> a -> a
- data IsMain
  - = IsMain
  - | NotMain
- type BackendName = Text
- newtype InteractionId = InteractionId {
  - interactionId :: Nat
  }
- data Modality = Modality {
  - modRelevance :: Relevance
  - modQuantity :: Quantity
  - modCohesion :: Cohesion
  - modPolarity :: PolarityModality
  }
- newtype ProblemId = ProblemId Nat
- data RewriteEqn' qn nm p e
  - = Rewrite (List1 (qn, e))
  - | Invert qn (List1 (Named nm (p, e)))
  - | LeftLet (List1 (p, e))
- data MetaId = MetaId {
  - metaId :: !Word64
  - metaModule :: !ModuleNameHash
  }
- data Ranged a = Ranged {
  - rangeOf :: Range
  - rangedThing :: a
  }
- data ConstructorOrPatternSynonym
  - = IsConstructor
  - | IsPatternSynonym
- data ArgInfo = ArgInfo {
  - argInfoHiding :: Hiding
  - argInfoModality :: Modality
  - argInfoOrigin :: Origin
  - argInfoFreeVariables :: FreeVariables
  - argInfoAnnotation :: Annotation
  }
- defaultArgInfo :: ArgInfo
- data ConOrigin
  - = ConOSystem
  - | ConOCon
  - | ConORec
  - | ConOSplit
- data Hiding
  - = Hidden
  - | Instance Overlappable
  - | NotHidden
- class LensOrigin a where
  - getOrigin :: a -> Origin
  - setOrigin :: Origin -> a -> a
  - mapOrigin :: (Origin -> Origin) -> a -> a
- data NameId = NameId !Word64 !ModuleNameHash
- data Named name a = Named {
  - nameOf :: Maybe name
  - namedThing :: a
  }
- class LensHiding a where
  - getHiding :: a -> Hiding
  - setHiding :: Hiding -> a -> a
  - mapHiding :: (Hiding -> Hiding) -> a -> a
- data ProjOrigin
  - = ProjPrefix
  - | ProjPostfix
  - | ProjSystem
- data WithOrigin a = WithOrigin {
  - woOrigin :: !Origin
  - woThing :: a
  }
- visible :: LensHiding a => a -> Bool
- data TerminationCheck m
  - = TerminationCheck
  - | NoTerminationCheck
  - | NonTerminating
  - | Terminating
  - | TerminationMeasure Range m
- type Notation = [NotationPart]
- data Cohesion
  - = Flat
  - | Continuous
  - | Squash
- data RecordDirectives' a = RecordDirectives {
  - recInductive :: Maybe (Ranged Induction)
  - recHasEta :: Maybe (Ranged HasEta0)
  - recPattern :: Maybe Range
  - recConstructor :: a
  }
- data Using' n m
  - = UseEverything
  - | Using [ImportedName' n m]
- data ImportedName' n m
  - = ImportedModule m
  - | ImportedName n
- data Renaming' n m = Renaming {
  - renFrom :: ImportedName' n m
  - renTo :: ImportedName' n m
  - renFixity :: Maybe Fixity
  - renToRange :: Range
  }
- data ExprKind
  - = IsExpr
  - | IsPattern
- data Cubical
  - = CErased
  - | CFull
- data Language
  - = WithoutK
  - | WithK
  - | Cubical Cubical
- type NamedArg a = Arg (Named_ a)
- class LensArgInfo a where
  - getArgInfo :: a -> ArgInfo
  - setArgInfo :: ArgInfo -> a -> a
  - mapArgInfo :: (ArgInfo -> ArgInfo) -> a -> a
- class LensCohesion a where
  - getCohesion :: a -> Cohesion
  - setCohesion :: Cohesion -> a -> a
  - mapCohesion :: (Cohesion -> Cohesion) -> a -> a
- class LensModality a where
  - getModality :: a -> Modality
  - setModality :: Modality -> a -> a
  - mapModality :: (Modality -> Modality) -> a -> a
- class LensQuantity a where
  - getQuantity :: a -> Quantity
  - setQuantity :: Quantity -> a -> a
  - mapQuantity :: (Quantity -> Quantity) -> a -> a
- class LensRelevance a where
  - getRelevance :: a -> Relevance
  - setRelevance :: Relevance -> a -> a
  - mapRelevance :: (Relevance -> Relevance) -> a -> a
- class LensModalPolarity a where
  - getModalPolarity :: a -> PolarityModality
  - setModalPolarity :: PolarityModality -> a -> a
  - mapModalPolarity :: (PolarityModality -> PolarityModality) -> a -> a
- fromImportedName :: ImportedName' a a -> a
- partitionImportedNames :: [ImportedName' n m] -> ([n], [m])
- data IsOpaque
  - = OpaqueDef !OpaqueId
  - | TransparentDef
- irrelevant :: Relevance
- relevant :: Relevance
- hasQuantity0 :: LensQuantity a => a -> Bool
- data WithHiding a = WithHiding {
  - whHiding :: !Hiding
  - whThing :: a
  }
- data PolarityModality = PolarityModality {
  - modPolarityAnn :: ModalPolarity
  - modPolarityOrigin :: ModalPolarity
  - modPolarityLock :: ModalPolarity
  }
- data Relevance
  - = Relevant OriginRelevant
  - | ShapeIrrelevant OriginShapeIrrelevant
  - | Irrelevant OriginIrrelevant
- type Nat1 = Nat
- cubicalOptionString :: Cubical -> String
- data DisplayLHS
  - = YesDisplayLHS
  - | NoDisplayLHS
- type HasEta0 = HasEta' ()
- emptyRecordDirectives :: Null a => RecordDirectives' a
- data HasEta' a
  - = YesEta
  - | NoEta a
- type HasEta = HasEta' PatternOrCopattern
- data PatternOrCopattern
  - = PatternMatching
  - | CopatternMatching
- class PatternMatchingAllowed a where
  - patternMatchingAllowed :: a -> Bool
- class CopatternMatchingAllowed a where
  - copatternMatchingAllowed :: a -> Bool
- class HasOverlapMode a where
  - lensOverlapMode :: Lens' a OverlapMode
- isIncoherent :: HasOverlapMode a => a -> Bool
- isOverlappable :: HasOverlapMode a => a -> Bool
- isOverlapping :: HasOverlapMode a => a -> Bool
- hidingToString :: Hiding -> String
- mergeHiding :: LensHiding a => WithHiding a -> a
- notVisible :: 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
- isYesOverlap :: LensHiding a => a -> Bool
- sameHiding :: (LensHiding a, LensHiding b) => a -> b -> Bool
- prettyHiding :: LensHiding a => a -> (Doc -> Doc) -> Doc -> Doc
- newtype UnderAddition t = UnderAddition t
- newtype UnderComposition t = UnderComposition t
- data Quantity
  - = Quantity0 Q0Origin
  - | Quantity1 Q1Origin
  - | Quantityω QωOrigin
- composeModality :: Modality -> Modality -> Modality
- unitModality :: Modality
- inverseComposeModality :: Modality -> Modality -> Modality
- addModality :: Modality -> Modality -> Modality
- zeroModality :: Modality
- moreUsableModality :: Modality -> Modality -> Bool
- usableModality :: LensModality a => a -> Bool
- usableRelevance :: LensRelevance a => a -> Bool
- usableQuantity :: LensQuantity a => a -> Bool
- usableCohesion :: LensCohesion a => a -> Bool
- usablePolarity :: LensModalPolarity a => a -> Bool
- composeRelevance :: Relevance -> Relevance -> Relevance
- composeQuantity :: Quantity -> Quantity -> Quantity
- composeCohesion :: Cohesion -> Cohesion -> Cohesion
- composePolarity :: PolarityModality -> PolarityModality -> PolarityModality
- applyModality :: LensModality a => Modality -> a -> a
- inverseComposeRelevance :: Relevance -> Relevance -> Relevance
- inverseComposeQuantity :: Quantity -> Quantity -> Quantity
- inverseComposeCohesion :: Cohesion -> Cohesion -> Cohesion
- inverseComposePolarity :: PolarityModality -> PolarityModality -> PolarityModality
- inverseApplyModalityButNotQuantity :: LensModality a => Modality -> a -> a
- addRelevance :: Relevance -> Relevance -> Relevance
- addQuantity :: Quantity -> Quantity -> Quantity
- addCohesion :: Cohesion -> Cohesion -> Cohesion
- addPolarity :: PolarityModality -> PolarityModality -> PolarityModality
- zeroRelevance :: Relevance
- zeroQuantity :: Quantity
- zeroCohesion :: Cohesion
- zeroPolarity :: PolarityModality
- unitRelevance :: Relevance
- unitQuantity :: Quantity
- unitCohesion :: Cohesion
- unitPolarity :: PolarityModality
- topModality :: Modality
- topRelevance :: Relevance
- topQuantity :: Quantity
- topCohesion :: Cohesion
- topPolarity :: PolarityModality
- defaultModality :: Modality
- defaultRelevance :: Relevance
- defaultQuantity :: Quantity
- defaultCohesion :: Cohesion
- defaultPolarity :: PolarityModality
- defaultCheckModality :: Modality
- withStandardLock :: ModalPolarity -> PolarityModality
- data ModalPolarity
  - = UnusedPolarity
  - | StrictlyPositive
  - | Positive
  - | Negative
  - | MixedPolarity
- positionalModalityComponent :: Modality -> Modality
- sameModality :: (LensModality a, LensModality b) => a -> b -> Bool
- sameRelevance :: Relevance -> Relevance -> Bool
- sameQuantity :: Quantity -> Quantity -> Bool
- sameCohesion :: Cohesion -> Cohesion -> Bool
- samePolarity :: PolarityModality -> PolarityModality -> Bool
- lModRelevance :: Lens' Modality Relevance
- lModQuantity :: Lens' Modality Quantity
- lModCohesion :: Lens' Modality Cohesion
- lModPolarity :: Lens' Modality PolarityModality
- getRelevanceMod :: LensModality a => LensGet a Relevance
- setRelevanceMod :: LensModality a => LensSet a Relevance
- mapRelevanceMod :: LensModality a => LensMap a Relevance
- getQuantityMod :: LensModality a => LensGet a Quantity
- setQuantityMod :: LensModality a => LensSet a Quantity
- mapQuantityMod :: LensModality a => LensMap a Quantity
- getCohesionMod :: LensModality a => LensGet a Cohesion
- setCohesionMod :: LensModality a => LensSet a Cohesion
- mapCohesionMod :: LensModality a => LensMap a Cohesion
- getPolarityMod :: LensModality a => LensGet a PolarityModality
- setPolarityMod :: LensModality a => LensSet a PolarityModality
- mapPolarityMod :: LensModality a => LensMap a PolarityModality
- data Q0Origin
  - = Q0Inferred
  - | Q0 Range
  - | Q0Erased Range
- data QωOrigin
  - = QωInferred
  - | Qω Range
  - | QωPlenty Range
- moreQuantity :: Quantity -> Quantity -> Bool
- applyQuantity :: LensQuantity a => Quantity -> a -> a
- inverseApplyQuantity :: LensQuantity a => Quantity -> a -> a
- hasQuantity1 :: LensQuantity a => a -> Bool
- hasQuantityω :: LensQuantity a => a -> Bool
- noUserQuantity :: LensQuantity a => a -> Bool
- isQuantity0 :: LensQuantity a => a -> Bool
- isQuantityω :: LensQuantity a => a -> Bool
- prettyQuantity :: LensQuantity a => a -> Doc -> Doc
- 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
- prettyErased :: Erased -> Doc -> Doc
- data OriginRelevant
  - = ORelInferred
  - | ORelRelevant Range
- data OriginIrrelevant
  - = OIrrInferred
  - | OIrrDot Range
  - | OIrrIrr Range
  - | OIrrIrrelevant Range
- data OriginShapeIrrelevant
  - = OShIrrInferred
  - | OShIrrDotDot Range
  - | OShIrrShIrr Range
  - | OShIrrShapeIrrelevant Range
- shapeIrrelevant :: Relevance
- isRelevant :: LensRelevance a => a -> Bool
- isIrrelevant :: LensRelevance a => a -> Bool
- isShapeIrrelevant :: LensRelevance a => a -> Bool
- moreRelevant :: Relevance -> Relevance -> Bool
- applyRelevance :: LensRelevance a => Relevance -> a -> a
- inverseApplyRelevance :: LensRelevance a => Relevance -> a -> a
- irrelevantToShapeIrrelevant :: Relevance -> Relevance
- shapeIrrelevantToRelevant :: Relevance -> Relevance
- shapeIrrelevantToIrrelevant :: Relevance -> Relevance
- prettyRelevance :: LensRelevance a => a -> Doc -> Doc
- data Annotation = Annotation {
  - annLock :: Lock
  }
- defaultAnnotation :: Annotation
- defaultLock :: Lock
- class LensAnnotation a where
  - getAnnotation :: a -> Annotation
  - setAnnotation :: Annotation -> a -> a
  - mapAnnotation :: (Annotation -> Annotation) -> a -> a
- data LockOrigin
  - = LockOLock
  - | LockOTick
- prettyLock :: LensLock a => a -> Doc -> Doc
- allCohesions :: [Cohesion]
- isContinuous :: LensCohesion a => a -> Bool
- moreCohesion :: Cohesion -> Cohesion -> Bool
- applyCohesion :: LensCohesion a => Cohesion -> a -> a
- inverseApplyCohesion :: LensCohesion a => Cohesion -> a -> a
- prettyCohesion :: LensCohesion a => a -> Doc -> Doc
- allModalPolarities :: [ModalPolarity]
- morePolarity' :: ModalPolarity -> ModalPolarity -> Bool
- splittablePolarity :: LensModalPolarity a => a -> Bool
- composePolarity' :: ModalPolarity -> ModalPolarity -> ModalPolarity
- inverseComposePolarity' :: ModalPolarity -> ModalPolarity -> ModalPolarity
- addPolarity' :: ModalPolarity -> ModalPolarity -> ModalPolarity
- morePolarity :: PolarityModality -> PolarityModality -> Bool
- applyPolarity :: LensModalPolarity a => PolarityModality -> a -> a
- inverseApplyPolarity :: LensModalPolarity a => PolarityModality -> a -> a
- negativePolarity :: PolarityModality
- mixedPolarity :: PolarityModality
- prettyPolarity :: LensModalPolarity a => a -> Doc -> Doc
- data BinderNameOrigin
  - = UserBinderName
  - | InsertedBinderName
- 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
- defaultIrrelevantArgInfo :: ArgInfo
- getHidingArgInfo :: LensArgInfo a => LensGet a Hiding
- setHidingArgInfo :: LensArgInfo a => LensSet a Hiding
- mapHidingArgInfo :: LensArgInfo a => LensMap a Hiding
- getModalityArgInfo :: LensArgInfo a => LensGet a Modality
- setModalityArgInfo :: LensArgInfo a => LensSet a Modality
- mapModalityArgInfo :: LensArgInfo a => LensMap a Modality
- getOriginArgInfo :: LensArgInfo a => LensGet a Origin
- setOriginArgInfo :: LensArgInfo a => LensSet a Origin
- mapOriginArgInfo :: LensArgInfo a => LensMap a Origin
- getFreeVariablesArgInfo :: LensArgInfo a => LensGet a FreeVariables
- setFreeVariablesArgInfo :: LensArgInfo a => LensSet a FreeVariables
- mapFreeVariablesArgInfo :: LensArgInfo a => LensMap a FreeVariables
- isInsertedHidden :: (LensHiding a, LensOrigin a) => a -> Bool
- 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
- type Named_ = Named NamedName
- type NamedName = WithOrigin (Ranged ArgName)
- type ArgName = String
- 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' a (Maybe (NameOf a))
- type family NameOf 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
- 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
- argNameToString :: ArgName -> String
- stringToArgName :: String -> ArgName
- appendArgNames :: ArgName -> ArgName -> ArgName
- unranged :: a -> Ranged a
- type RawName = String
- rawNameToString :: RawName -> String
- stringToRawName :: String -> RawName
- type RString = Ranged RawName
- bestConInfo :: ConOrigin -> ConOrigin -> ConOrigin
- data IsInfix
  - = InfixDef
  - | PrefixDef
- data Access
  - = PrivateAccess KwRange Origin
  - | PublicAccess
- privateAccessInserted :: Access
- data IsAbstract
  - = AbstractDef
  - | ConcreteDef
- class LensIsAbstract a where
  - lensIsAbstract :: Lens' a IsAbstract
- class AnyIsAbstract a where
  - anyIsAbstract :: a -> IsAbstract
- data IsInstance
  - = InstanceDef KwRange
  - | NotInstanceDef
- data IsMacro
  - = MacroDef
  - | NotMacroDef
- data OpaqueId = OpaqueId !Word64 !ModuleNameHash
- class LensIsOpaque a where
  - lensIsOpaque :: Lens' a IsOpaque
- data JointOpacity
  - = UniqueOpaque !OpaqueId
  - | DifferentOpaque !(HashSet OpaqueId)
  - | NoOpaque
- class AllAreOpaque a where
  - jointOpacity :: a -> JointOpacity
- data MaybePlaceholder e
  - = Placeholder !PositionInName
  - | NoPlaceholder !(Maybe PositionInName) e
- noPlaceholder :: e -> MaybePlaceholder e
- type PrecedenceLevel = Double
- data FixityLevel
  - = Unrelated
  - | Related !PrecedenceLevel
- noFixity :: Fixity
- data Fixity' = Fixity' {
  - theFixity :: !Fixity
  - theNotation :: Notation
  - theNameRange :: Range
  }
- noFixity' :: Fixity'
- noNotation :: Notation
- _fixityAssoc :: Lens' Fixity Associativity
- _fixityLevel :: Lens' Fixity FixityLevel
- class LensFixity a where
  - lensFixity :: Lens' a Fixity
- class LensFixity' a where
  - lensFixity' :: Lens' a Fixity'
- type HidingDirective' n m = [ImportedName' n m]
- type RenamingDirective' n m = [Renaming' n m]
- defaultImportDir :: ImportDirective' n m
- isDefaultImportDir :: ImportDirective' n m -> Bool
- mapUsing :: ([ImportedName' n1 m1] -> [ImportedName' n2 m2]) -> Using' n1 m1 -> Using' n2 m2
- setImportedName :: ImportedName' a a -> a -> ImportedName' a a
- data PositivityCheck
  - = YesPositivityCheck
  - | NoPositivityCheck
- data UniverseCheck
  - = YesUniverseCheck
  - | NoUniverseCheck
- data Catchall
  - = YesCatchall Range
  - | NoCatchall
- data CoverageCheck
  - = YesCoverageCheck
  - | NoCoverageCheck
- data ExpandedEllipsis
  - = ExpandedEllipsis {
    - ellipsisRange :: Range
    - ellipsisWithArgs :: Int
    }
  - | NoEllipsis
- data NotationPart
  - = IdPart RString
  - | HolePart Range (NamedArg (Ranged Int))
  - | VarPart Range (Ranged BoundVariablePosition)
  - | WildPart (Ranged BoundVariablePosition)
- data BoundVariablePosition = BoundVariablePosition {
  - holeNumber :: !Int
  - varNumber :: !Int
  }
- module Agda.Syntax.Common.KeywordRange
- module Agda.Syntax.TopLevelModuleName.Boot
- data Induction
  - = Inductive
  - | CoInductive

# Documentation

type Arity = Nat Source #

data OverlapMode Source #

The possible overlap modes for an instance, also used for instance candidates.

Constructors

Overlappable | User-written OVERLAPPABLE pragma: this candidate can *be removed* by a more specific candidate.
Overlapping | User-written OVERLAPPING pragma: this candidate can *remove* a less specific candidate.
Overlaps | User-written OVERLAPS pragma: both overlappable and overlapping.
DefaultOverlap | No user-written overlap pragma. This instance can be overlapped by an OVERLAPPING instance, and it can overlap OVERLAPPABLE instances.
Incoherent | User-written INCOHERENT pragma: both overlappable and overlapping; and, if there are multiple candidates after all overlap has been handled, make an arbitrary choice.
FieldOverlap | Overlapping instances in record fields.

#### Instances

Instances details

HasOverlapMode OverlapMode Source # |
Instance details Defined in Agda.Syntax.Common Methods lensOverlapMode :: Lens' OverlapMode OverlapMode Source #
Pretty OverlapMode Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: OverlapMode -> Doc Source # prettyPrec :: Int -> OverlapMode -> Doc Source # prettyList :: [OverlapMode] -> Doc Source #
KillRange OverlapMode Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT OverlapMode Source #
EmbPrj OverlapMode Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: OverlapMode -> S Word32 Source # icod_ :: OverlapMode -> S Word32 Source # value :: Word32 -> R OverlapMode Source #
NFData OverlapMode Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: OverlapMode -> () Source #
Bounded OverlapMode Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: OverlapMode Source # maxBound :: OverlapMode Source #
Enum OverlapMode Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: OverlapMode -> OverlapMode Source #

pred :: OverlapMode -> OverlapMode Source #

toEnum :: Int -> OverlapMode Source #

fromEnum :: OverlapMode -> Int Source #

enumFrom :: OverlapMode -> [OverlapMode] Source #

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

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

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

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

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: OverlapMode -> OverlapMode -> Ordering Source #

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

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

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

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

max :: OverlapMode -> OverlapMode -> OverlapMode Source #

min :: OverlapMode -> OverlapMode -> OverlapMode Source #

data Overlappable Source #

Constructors

YesOverlap |
NoOverlap |

#### Instances

Instances details

NFData Overlappable Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #

type Nat = Int Source #

Number `>= 0`.

data Associativity Source #

Associativity.

Constructors

NonAssoc |
LeftAssoc |
RightAssoc |

#### Instances

Instances details

Pretty Associativity Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Associativity -> Doc Source # prettyPrec :: Int -> Associativity -> Doc Source # prettyList :: [Associativity] -> Doc Source #
ToTerm Associativity Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods toTerm :: TCM (Associativity -> ReduceM Term) Source #
EmbPrj Associativity Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Associativity -> S Word32 Source # icod_ :: Associativity -> S Word32 Source # value :: Word32 -> R 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 #
Pretty Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Fixity -> Doc Source # prettyPrec :: Int -> Fixity -> Doc Source # prettyList :: [Fixity] -> Doc 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 -> ReduceM Term) Source #
EmbPrj Fixity Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Fixity -> S Word32 Source # icod_ :: Fixity -> S Word32 Source # value :: Word32 -> R Fixity Source #
Null Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Fixity Source # null :: Fixity -> Bool Source #
NFData Fixity Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #

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) |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (Constr Constructor) = Declaration

Methods

toConcrete :: MonadToConcrete m => Constr Constructor -> m (ConOfAbs (Constr Constructor)) Source #

bindToConcrete :: MonadToConcrete m => Constr Constructor -> (ConOfAbs (Constr Constructor) -> m b) -> m b Source #

type ConOfAbs (Constr Constructor) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (Constr Constructor) = Declaration

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 #
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 #
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 #
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 #
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) |
Instance details Defined in Agda.Syntax.Abstract.Pattern type ADotT (Arg a) = ADotT a

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 #
LensModalPolarity (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getModalPolarity :: Arg e -> PolarityModality Source # setModalPolarity :: PolarityModality -> Arg e -> Arg e Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> Arg e -> Arg e 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) |
Instance details Defined in Agda.Syntax.Common type NameOf (Arg a) = NameOf a

Methods

lensNamed :: Lens' (Arg a) (Maybe (NameOf (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 #
Pretty a => Pretty (Arg a) Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Arg a -> Doc Source # prettyPrec :: Int -> Arg a -> Doc Source # prettyList :: [Arg a] -> Doc 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' (Arg a) Sort 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)) |
Instance details Defined in Agda.Syntax.Internal type PatternVarOut (Arg (Pattern' a)) = a

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)) |
Instance details Defined in Agda.Syntax.Internal type PatternVarOut (NamedArg (Pattern' a)) = a

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 namesAndMetasIn' :: Monoid m => (Either QName MetaId -> 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) |
Instance details Defined in Agda.Syntax.Internal.Pattern type PatVar (Arg a) = PatVar a

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) |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (Arg a) = Arg (ConOfAbs a)

Methods

toConcrete :: MonadToConcrete m => Arg a -> m (ConOfAbs (Arg a)) Source #

bindToConcrete :: MonadToConcrete m => Arg a -> (ConOfAbs (Arg a) -> m b) -> m b Source #

ToAbstract c => ToAbstract (Arg c) Source # |

Instance details

Defined in Agda.Syntax.Translation.ConcreteToAbstract

Associated Types

type AbsOfCon (Arg c) |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon (Arg c) = Arg (AbsOfCon c)

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) |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract type ReifiesTo (Arg i) = Arg (ReifiesTo i)

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) |
Instance details Defined in Agda.Syntax.Translation.ReflectedToAbstract type AbsOfRef (Arg r) = NamedArg (AbsOfRef r)

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] |
Instance details Defined in Agda.Syntax.Translation.ReflectedToAbstract type AbsOfRef [Arg r] = [NamedArg (AbsOfRef r)]

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 :: Nat -> 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 :: 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 String) Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Arg String -> 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)
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 Word32 Source # icod_ :: Arg a -> S Word32 Source # value :: Word32 -> 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) |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg (Arg a) = SubstArg a

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 #
IApplyVars p => IApplyVars (NamedArg p) Source # |
Instance details Defined in Agda.TypeChecking.Telescope.Path Methods iApplyVars :: NamedArg p -> [Int] Source #
Unquote a => Unquote (Arg a) Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM (Arg a) Source #
NFData e => NFData (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #
PatternToExpr p e => PatternToExpr (Arg p) (Arg e) Source # |
Instance details Defined in Agda.Syntax.Abstract.Pattern Methods patToExpr :: Arg p -> Reader Hiding (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) |
Instance details Defined in Agda.Syntax.Internal.Pattern type PatVarLabel (Arg b) = PatVarLabel b

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 #
Match a b => Match (Arg a) (Arg b) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinMatch Methods match :: Relevance -> Telescope -> Context -> TypeOf (Arg b) -> Arg a -> Arg b -> NLM () 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 #
PatternFrom a b => PatternFrom (Arg a) (Arg b) Source # |
Instance details Defined in Agda.TypeChecking.Rewriting.NonLinPattern Methods patternFrom :: Relevance -> Int -> TypeOf (Arg a) -> 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 TypeOf (Arg a) Source # |
Instance details Defined in Agda.Syntax.Internal type TypeOf (Arg a) = Dom (TypeOf 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

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

`Hidden` arguments are `hidden`.

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"
ExpandedPun | An expanded hidden argument pun.
Generalization | Inserted by the generalization process

#### 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 Word32 Source # icod_ :: Origin -> S Word32 Source # value :: Word32 -> R Origin Source #
NFData Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 FileType Source #

Constructors

AgdaFileType |
MdFileType |
RstFileType |
TexFileType |
OrgFileType |
TypstFileType |
TreeFileType |

#### Instances

Instances details

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

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep FileType |

Instance details

Defined in Agda.Syntax.Common

type Rep FileType = D1 ('MetaData "FileType" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)) :+: (C1 ('MetaCons "TypstFileType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TreeFileType" 'PrefixI 'False) (U1 :: Type -> Type))))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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)) :+: (C1 ('MetaCons "TypstFileType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TreeFileType" 'PrefixI 'False) (U1 :: Type -> Type))))

data Lock Source #

Constructors

IsNotLock |
IsLock LockOrigin | 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 #
Pretty Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Lock -> Doc Source # prettyPrec :: Int -> Lock -> Doc Source # prettyList :: [Lock] -> Doc Source #
EmbPrj Lock Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Lock -> S Word32 Source # icod_ :: Lock -> S Word32 Source # value :: Word32 -> R Lock Source #
Null Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Lock Source # null :: Lock -> Bool Source #
NFData Lock Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Lock -> () Source #
Generic Lock Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep Lock |
Instance details Defined in Agda.Syntax.Common type Rep Lock = D1 ('MetaData "Lock" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "IsNotLock" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsLock" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LockOrigin)))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "IsNotLock" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsLock" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 LockOrigin)))

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

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 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 KwRange

  Only for `open`. Exports the opened names from the current module. Range of the `public` keyword.

#### Instances

Instances details

(Pretty a, Pretty b) => Pretty (ImportDirective' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: ImportDirective' a b -> Doc Source # prettyPrec :: Int -> ImportDirective' a b -> Doc Source # prettyList :: [ImportDirective' a b] -> Doc Source #
(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 #
(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 #
(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 m, Show n) => Show (ImportDirective' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> ImportDirective' n m -> ShowS Source # show :: ImportDirective' n m -> String Source # showList :: [ImportDirective' n m] -> ShowS 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 #

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

defaultFixity :: Fixity Source #

data Q1Origin Source #

Origin of `Quantity1`.

Constructors

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

#### Instances

Instances details

Pretty Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Q1Origin -> Doc Source # prettyPrec :: Int -> Q1Origin -> Doc Source # prettyList :: [Q1Origin] -> Doc Source #
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 Word32 Source # icod_ :: Q1Origin -> S Word32 Source # value :: Word32 -> R Q1Origin Source #
Null Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Q1Origin Source # null :: Q1Origin -> Bool Source #
NFData Q1Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |

Instance details

Defined in Agda.Syntax.Common

type Rep Q1Origin = D1 ('MetaData "Q1Origin" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

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 #
LensLock (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getLock :: Dom' t e -> Lock Source # setLock :: Lock -> Dom' t e -> Dom' t e Source # mapLock :: (Lock -> Lock) -> Dom' t e -> Dom' t e Source #

data IsMain Source #

Constructors

IsMain |
NotMain |

#### Instances

Instances details

Monoid IsMain Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: IsMain Source # mappend :: IsMain -> IsMain -> IsMain Source # mconcat :: [IsMain] -> IsMain Source #
Semigroup IsMain Source # | Conjunctive semigroup (`NotMain` is absorbing).
Instance details Defined in Agda.Syntax.Common Methods (<>) :: IsMain -> IsMain -> IsMain Source # sconcat :: NonEmpty IsMain -> IsMain Source # stimes :: Integral b => b -> IsMain -> IsMain Source #
Show IsMain Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> IsMain -> ShowS Source # show :: IsMain -> String Source # showList :: [IsMain] -> ShowS Source #
Eq IsMain Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: IsMain -> IsMain -> Bool Source # (/=) :: IsMain -> IsMain -> Bool Source #

type BackendName = Text Source #

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 #
Pretty InteractionId Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: InteractionId -> Doc Source # prettyPrec :: Int -> InteractionId -> Doc Source # prettyList :: [InteractionId] -> Doc 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 |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs InteractionId = Expr

Methods

toConcrete :: MonadToConcrete m => InteractionId -> m (ConOfAbs InteractionId) Source #

bindToConcrete :: MonadToConcrete m => InteractionId -> (ConOfAbs InteractionId -> m b) -> m b Source #

HasFresh InteractionId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState InteractionId Source # nextFresh' :: InteractionId -> InteractionId Source #
PrettyTCM InteractionId Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => InteractionId -> m Doc Source #
ToJSON InteractionId Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods toJSON :: InteractionId -> Value Source # toEncoding :: InteractionId -> Encoding Source # toJSONList :: [InteractionId] -> Value Source # toEncodingList :: [InteractionId] -> Encoding Source # omitField :: InteractionId -> Bool 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 #
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 #
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

data Modality Source #

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

Constructors

Modality |

Fields

- modRelevance :: Relevance

  Legacy irrelevance. See Pfenning, LiCS 2001; Abel, Vezzosi and Winterhalter, 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.

- modPolarity :: PolarityModality

  Polarity annotations (strictly positive, ...)

#### 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 #
LensModalPolarity Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getModalPolarity :: Modality -> PolarityModality Source # setModalPolarity :: PolarityModality -> Modality -> Modality Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> 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 #
Pretty Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Modality -> Doc Source # prettyPrec :: Int -> Modality -> Doc Source # prettyList :: [Modality] -> Doc 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 #
Verbalize Modality Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods verbalize :: Modality -> String 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 Word32 Source # icod_ :: Modality -> S Word32 Source # value :: Word32 -> R Modality Source #
Unquote Modality Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM Modality Source #
Null Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Modality Source # null :: Modality -> Bool Source #
PartialOrd Modality Source # | Dominance ordering.
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable Modality Source #
NFData Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Modality -> () Source #
Generic Modality Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep Modality |

Instance details

Defined in Agda.Syntax.Common

type Rep Modality = D1 ('MetaData "Modality" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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) :*: S1 ('MetaSel ('Just "modPolarity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PolarityModality))))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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) :*: S1 ('MetaSel ('Just "modPolarity") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 PolarityModality))))

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 #
Pretty ProblemId Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: ProblemId -> Doc Source # prettyPrec :: Int -> ProblemId -> Doc Source # prettyList :: [ProblemId] -> Doc Source #
HasFresh ProblemId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState ProblemId Source # nextFresh' :: ProblemId -> ProblemId Source #
PrettyTCM ProblemId Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => ProblemId -> m Doc Source #
EmbPrj ProblemId Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: ProblemId -> S Word32 Source # icod_ :: ProblemId -> S Word32 Source # value :: Word32 -> R ProblemId Source #
ToJSON ProblemId Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods toJSON :: ProblemId -> Value Source # toEncoding :: ProblemId -> Encoding Source # toJSONList :: [ProblemId] -> Value Source # toEncodingList :: [ProblemId] -> Encoding Source # omitField :: ProblemId -> Bool Source #
NFData ProblemId Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #

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

LeftLet (List1 (p, e))

    using p <- e

#### Instances

Instances details

ToAbstract RewriteEqn Source # |

Instance details

Defined in Agda.Syntax.Translation.ConcreteToAbstract

Associated Types

type AbsOfCon RewriteEqn |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon RewriteEqn = RewriteEqn' () BindName Pattern Expr

Methods

toAbstract :: RewriteEqn -> ScopeM (AbsOfCon RewriteEqn) 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 #
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 #

(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 #
(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 #
(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) |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (RewriteEqn' qn BindName p a) = RewriteEqn' () Name (ConOfAbs p) (ConOfAbs a)

Methods

toConcrete :: MonadToConcrete m => RewriteEqn' qn BindName p a -> m (ConOfAbs (RewriteEqn' qn BindName p a)) Source #

bindToConcrete :: MonadToConcrete m => RewriteEqn' qn BindName p a -> (ConOfAbs (RewriteEqn' qn BindName p a) -> m b) -> m b Source #

ToAbstract (RewriteEqn' () BindName Pattern Expr) Source # |

Instance details

Defined in Agda.Syntax.Translation.ConcreteToAbstract

Associated Types

type AbsOfCon (RewriteEqn' () BindName Pattern Expr) |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon (RewriteEqn' () BindName Pattern Expr) = RewriteEqn

Methods

toAbstract :: RewriteEqn' () BindName Pattern Expr -> ScopeM (AbsOfCon (RewriteEqn' () BindName Pattern Expr)) 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 #
(Show e, Show qn, 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 #
(Eq e, Eq qn, 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

data MetaId Source #

Meta-variable identifiers use the same structure as `NameId`s.

Constructors

MetaId |

Fields

- metaId :: !Word64
- metaModule :: !ModuleNameHash

#### Instances

Instances details

EncodeTCM MetaId Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods encodeTCM :: MetaId -> TCM Value 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 #
GetDefs MetaId Source # |
Instance details Defined in Agda.Syntax.Internal.Defs Methods getDefs :: MonadGetDefs m => MetaId -> m () Source #
NamesIn MetaId Source # |
Instance details Defined in Agda.Syntax.Internal.Names Methods namesAndMetasIn' :: Monoid m => (Either QName MetaId -> m) -> MetaId -> m Source #
Reify MetaId Source # |

Instance details

Defined in Agda.Syntax.Translation.InternalToAbstract

Associated Types

type ReifiesTo MetaId |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract type ReifiesTo MetaId = Expr

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' TCState MetaId Source # nextFresh' :: MetaId -> MetaId Source #
IsInstantiatedMeta MetaId Source # |
Instance details Defined in Agda.TypeChecking.Monad.MetaVars Methods isInstantiatedMeta :: 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 -> ReduceM Term) Source #
EmbPrj MetaId Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: MetaId -> S Word32 Source # icod_ :: MetaId -> S Word32 Source # value :: Word32 -> R MetaId Source #
Unquote MetaId Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM MetaId Source #
ToJSON MetaId Source # |
Instance details Defined in Agda.Interaction.JSONTop Methods toJSON :: MetaId -> Value Source # toEncoding :: MetaId -> Encoding Source # toJSONList :: [MetaId] -> Value Source # toEncodingList :: [MetaId] -> Encoding Source # omitField :: MetaId -> Bool Source #
NFData MetaId Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |
Instance details Defined in Agda.Syntax.Common type Rep MetaId = D1 ('MetaData "MetaId" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MetaId" 'PrefixI 'True) (S1 ('MetaSel ('Just "metaId") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word64) :*: S1 ('MetaSel ('Just "metaModule") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 ModuleNameHash)))

Methods

from :: MetaId -> Rep MetaId x Source #

to :: Rep MetaId x -> MetaId Source #

Show MetaId Source # | The record selectors are not included in the resulting strings.
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> MetaId -> ShowS Source # show :: MetaId -> String Source # showList :: [MetaId] -> ShowS 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 #
InstantiateFull (Judgement MetaId) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods instantiateFull' :: Judgement MetaId -> ReduceM (Judgement 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.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MetaId" 'PrefixI 'True) (S1 ('MetaSel ('Just "metaId") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word64) :*: S1 ('MetaSel ('Just "metaModule") 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 ModuleNameHash)))

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 #
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 #
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 #
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 #
ExprLike a => ExprLike (Ranged a) Source # |
Instance details Defined in Agda.Syntax.Abstract.Views Methods recurseExpr :: RecurseExprFn m (Ranged a) Source # foldExpr :: FoldExprFn m (Ranged a) Source # traverseExpr :: TraverseExprFn m (Ranged a) Source # mapExpr :: (Expr -> Expr) -> Ranged a -> Ranged a Source #
Pretty e => Pretty (Named_ e) Source # |
Instance details Defined in Agda.Syntax.Common 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 #
ExprLike a => ExprLike (Ranged a) Source # |
Instance details Defined in Agda.Syntax.Concrete.Generic Methods mapExpr :: (Expr -> Expr) -> Ranged a -> Ranged a Source # foldExpr :: Monoid m => (Expr -> m) -> Ranged a -> m Source # traverseExpr :: Monad m => (Expr -> m Expr) -> Ranged a -> m (Ranged 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)) |
Instance details Defined in Agda.Syntax.Internal type PatternVarOut (NamedArg (Pattern' a)) = a

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 #
ToConcrete a => ToConcrete (Ranged a) Source # |

Instance details

Defined in Agda.Syntax.Translation.AbstractToConcrete

Associated Types

type ConOfAbs (Ranged a) |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (Ranged a) = Ranged (ConOfAbs a)

Methods

toConcrete :: MonadToConcrete m => Ranged a -> m (ConOfAbs (Ranged a)) Source #

bindToConcrete :: MonadToConcrete m => Ranged a -> (ConOfAbs (Ranged a) -> m b) -> m b Source #

ToAbstract c => ToAbstract (Ranged c) Source # |

Instance details

Defined in Agda.Syntax.Translation.ConcreteToAbstract

Associated Types

type AbsOfCon (Ranged c) |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon (Ranged c) = Ranged (AbsOfCon c)

Methods

toAbstract :: Ranged c -> ScopeM (AbsOfCon (Ranged c)) Source #

Free t => Free (Ranged t) Source # |
Instance details Defined in Agda.TypeChecking.Free.Lazy Methods freeVars' :: IsVarSet a c => Ranged t -> FreeM a c 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 #
Normalise t => Normalise (Ranged t) Source # |
Instance details Defined in Agda.TypeChecking.Reduce Methods normalise' :: Ranged t -> ReduceM (Ranged t) Source #
EmbPrj a => EmbPrj (Ranged a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Ranged a -> S Word32 Source # icod_ :: Ranged a -> S Word32 Source # value :: Word32 -> 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 #
Subst a => Subst (Ranged a) Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg (Ranged a) |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg (Ranged a) = SubstArg a

Methods

applySubst :: Substitution' (SubstArg (Ranged a)) -> Ranged a -> Ranged a Source #

DeBruijn a => DeBruijn (Named_ a) Source # |
Instance details Defined in Agda.TypeChecking.Substitute.DeBruijn Methods deBruijnVar :: Int -> Named_ a Source # deBruijnNamedVar :: String -> Int -> Named_ a Source # deBruijnView :: Named_ a -> Maybe Int Source #
IApplyVars p => IApplyVars (NamedArg p) Source # |
Instance details Defined in Agda.TypeChecking.Telescope.Path Methods iApplyVars :: NamedArg p -> [Int] Source #
NFData a => NFData (Ranged a) Source # | Ranges are not forced.
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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
type ConOfAbs (Ranged a) Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (Ranged a) = Ranged (ConOfAbs a)
type AbsOfCon (Ranged c) Source # |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon (Ranged c) = Ranged (AbsOfCon c)
type SubstArg (Ranged a) Source # |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg (Ranged a) = SubstArg a

data ConstructorOrPatternSynonym Source #

Distinguish constructors from pattern synonyms.

Constructors

IsConstructor |
IsPatternSynonym |

#### Instances

Instances details

Pretty ConstructorOrPatternSynonym Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: ConstructorOrPatternSynonym -> Doc Source # prettyPrec :: Int -> ConstructorOrPatternSynonym -> Doc Source # prettyList :: [ConstructorOrPatternSynonym] -> Doc Source #
EmbPrj ConstructorOrPatternSynonym Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: ConstructorOrPatternSynonym -> S Word32 Source # icod_ :: ConstructorOrPatternSynonym -> S Word32 Source # value :: Word32 -> R ConstructorOrPatternSynonym Source #
NFData ConstructorOrPatternSynonym Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: ConstructorOrPatternSynonym -> () Source #
Bounded ConstructorOrPatternSynonym Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: ConstructorOrPatternSynonym Source # maxBound :: ConstructorOrPatternSynonym Source #
Enum ConstructorOrPatternSynonym Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: ConstructorOrPatternSynonym -> ConstructorOrPatternSynonym Source #

pred :: ConstructorOrPatternSynonym -> ConstructorOrPatternSynonym Source #

toEnum :: Int -> ConstructorOrPatternSynonym Source #

fromEnum :: ConstructorOrPatternSynonym -> Int Source #

enumFrom :: ConstructorOrPatternSynonym -> [ConstructorOrPatternSynonym] Source #

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

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

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

Generic ConstructorOrPatternSynonym Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep ConstructorOrPatternSynonym |
Instance details Defined in Agda.Syntax.Common type Rep ConstructorOrPatternSynonym = D1 ('MetaData "ConstructorOrPatternSynonym" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "IsConstructor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsPatternSynonym" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: ConstructorOrPatternSynonym -> Rep ConstructorOrPatternSynonym x Source #

to :: Rep ConstructorOrPatternSynonym x -> ConstructorOrPatternSynonym Source #

Show ConstructorOrPatternSynonym Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> ConstructorOrPatternSynonym -> ShowS Source # show :: ConstructorOrPatternSynonym -> String Source # showList :: [ConstructorOrPatternSynonym] -> ShowS Source #
type Rep ConstructorOrPatternSynonym Source # |
Instance details Defined in Agda.Syntax.Common type Rep ConstructorOrPatternSynonym = D1 ('MetaData "ConstructorOrPatternSynonym" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "IsConstructor" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "IsPatternSynonym" 'PrefixI 'False) (U1 :: Type -> Type))

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 #
LensModalPolarity ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getModalPolarity :: ArgInfo -> PolarityModality Source # setModalPolarity :: PolarityModality -> ArgInfo -> ArgInfo Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> 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 -> 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 Word32 Source # icod_ :: ArgInfo -> S Word32 Source # value :: Word32 -> 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 #
Null ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: ArgInfo Source # null :: ArgInfo -> Bool Source #
NFData ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #

defaultArgInfo :: ArgInfo Source #

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 Word32 Source # icod_ :: ConOrigin -> S Word32 Source # value :: Word32 -> R ConOrigin Source #
NFData ConOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |

Instance details

Defined in Agda.Syntax.Common

type Rep ConOrigin = D1 ('MetaData "ConOrigin" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

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 #
Pretty Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Hiding -> Doc Source # prettyPrec :: Int -> Hiding -> Doc Source # prettyList :: [Hiding] -> Doc 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 #
Verbalize Hiding Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods verbalize :: Hiding -> String 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 Word32 Source # icod_ :: Hiding -> S Word32 Source # value :: Word32 -> R Hiding Source #
Unquote Hiding Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM Hiding Source #
Null Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Hiding Source # null :: Hiding -> Bool Source #
NFData Hiding Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #

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 ContextEntry Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Types Methods getOrigin :: ContextEntry -> Origin Source # setOrigin :: Origin -> ContextEntry -> ContextEntry Source # mapOrigin :: (Origin -> Origin) -> ContextEntry -> ContextEntry 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 #

data NameId Source #

The unique identifier of a name. Second argument is the top-level module identifier.

Constructors

NameId !Word64 !ModuleNameHash |

#### Instances

Instances details

Pretty NameId Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: NameId -> Doc Source # prettyPrec :: Int -> NameId -> Doc Source # prettyList :: [NameId] -> Doc Source #
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' TCState NameId Source # nextFresh' :: NameId -> NameId Source #
EmbPrj NameId Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: NameId -> S Word32 Source # icod_ :: NameId -> S Word32 Source # value :: Word32 -> R NameId Source #
NFData NameId Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |

Instance details

Defined in Agda.Syntax.Common

type Rep NameId = D1 ('MetaData "NameId" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

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 #
Pretty e => Pretty (Named_ e) Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Named_ e -> Doc Source # prettyPrec :: Int -> Named_ e -> Doc Source # prettyList :: [Named_ e] -> Doc Source #
PatternVars (NamedArg (Pattern' a)) Source # |

Instance details

Defined in Agda.Syntax.Internal

Associated Types

type PatternVarOut (NamedArg (Pattern' a)) |
Instance details Defined in Agda.Syntax.Internal type PatternVarOut (NamedArg (Pattern' a)) = a

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 #
DeBruijn a => DeBruijn (Named_ a) Source # |
Instance details Defined in Agda.TypeChecking.Substitute.DeBruijn Methods deBruijnVar :: Int -> Named_ a Source # deBruijnNamedVar :: String -> Int -> Named_ a Source # deBruijnView :: Named_ a -> Maybe Int Source #
IApplyVars p => IApplyVars (NamedArg p) Source # |
Instance details Defined in Agda.TypeChecking.Telescope.Path Methods iApplyVars :: NamedArg p -> [Int] 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 #
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 #
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 #
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) |
Instance details Defined in Agda.Syntax.Abstract.Pattern type ADotT (Named n a) = ADotT a

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) |
Instance details Defined in Agda.Syntax.Common type NameOf (Named name a) = name

Methods

lensNamed :: Lens' (Named name a) (Maybe (NameOf (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 namesAndMetasIn' :: Monoid m => (Either QName MetaId -> 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) |
Instance details Defined in Agda.Syntax.Internal.Pattern type PatVar (Named s a) = PatVar a

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) |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (Named name a) = Named name (ConOfAbs a)

Methods

toConcrete :: MonadToConcrete m => Named name a -> m (ConOfAbs (Named name a)) Source #

bindToConcrete :: MonadToConcrete m => Named name a -> (ConOfAbs (Named name a) -> m b) -> m b Source #

ToAbstract c => ToAbstract (Named name c) Source # |

Instance details

Defined in Agda.Syntax.Translation.ConcreteToAbstract

Associated Types

type AbsOfCon (Named name c) |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon (Named name c) = Named name (AbsOfCon c)

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) |
Instance details Defined in Agda.Syntax.Translation.InternalToAbstract type ReifiesTo (Named n i) = Named n (ReifiesTo i)

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) |
Instance details Defined in Agda.Syntax.Translation.ReflectedToAbstract type AbsOfRef (Named name r) = Named name (AbsOfRef r)

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)
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 Word32 Source # icod_ :: Named s t -> S Word32 Source # value :: Word32 -> 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) |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg (Named name a) = SubstArg a

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 #
(NFData name, NFData a) => NFData (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
(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 #

PatternToExpr p e => PatternToExpr (Named n p) (Named n e) Source # |
Instance details Defined in Agda.Syntax.Abstract.Pattern Methods patToExpr :: Named n p -> Reader Hiding (Named n e) 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) |
Instance details Defined in Agda.Syntax.Internal.Pattern type PatVarLabel (Named x b) = PatVarLabel b

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

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 ContextEntry Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Types Methods getHiding :: ContextEntry -> Hiding Source # setHiding :: Hiding -> ContextEntry -> ContextEntry Source # mapHiding :: (Hiding -> Hiding) -> ContextEntry -> ContextEntry 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 #

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 Word32 Source # icod_ :: ProjOrigin -> S Word32 Source # value :: Word32 -> R ProjOrigin Source #
NFData ProjOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |
Instance details Defined in Agda.Syntax.Common type Rep ProjOrigin = D1 ('MetaData "ProjOrigin" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

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 #
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 #
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 #
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 #
Pretty e => Pretty (Named_ e) Source # |
Instance details Defined in Agda.Syntax.Common 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 #
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)) |
Instance details Defined in Agda.Syntax.Internal type PatternVarOut (NamedArg (Pattern' a)) = a

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 Word32 Source # icod_ :: WithOrigin a -> S Word32 Source # value :: Word32 -> 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 #
DeBruijn a => DeBruijn (Named_ a) Source # |
Instance details Defined in Agda.TypeChecking.Substitute.DeBruijn Methods deBruijnVar :: Int -> Named_ a Source # deBruijnNamedVar :: String -> Int -> Named_ a Source # deBruijnView :: Named_ a -> Maybe Int Source #
IApplyVars p => IApplyVars (NamedArg p) Source # |
Instance details Defined in Agda.TypeChecking.Telescope.Path Methods iApplyVars :: NamedArg p -> [Int] Source #
NFData a => NFData (WithOrigin a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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

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

`NotHidden` arguments are `visible`.

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 #
NFData a => NFData (TerminationCheck a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: TerminationCheck a -> () 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 #
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 #

type Notation = [NotationPart] Source #

Notation as provided by the `syntax` declaration.

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 #
Pretty Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Cohesion -> Doc Source # prettyPrec :: Int -> Cohesion -> Doc Source # prettyList :: [Cohesion] -> Doc 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 #
Verbalize Cohesion Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods verbalize :: Cohesion -> String Source #
EmbPrj Cohesion Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Cohesion -> S Word32 Source # icod_ :: Cohesion -> S Word32 Source # value :: Word32 -> R Cohesion Source #
Null Cohesion Source # | `null` shall mean no information, not even origin or range.
Instance details Defined in Agda.Syntax.Common Methods empty :: Cohesion Source # null :: Cohesion -> Bool Source #
PartialOrd Cohesion Source # | Flatter is smaller.
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable Cohesion Source #
NFData Cohesion Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |
Instance details Defined in Agda.Syntax.Common type Rep Cohesion = D1 ('MetaData "Cohesion" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

data RecordDirectives' a Source #

Constructors

RecordDirectives |

Fields

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

#### Instances

Instances details

DeclaredNames RecordDirectives Source # |
Instance details Defined in Agda.Syntax.Abstract.Views Methods declaredNames :: Collection KName m => RecordDirectives -> m Source #
ToConcrete RecordDirectives Source # |

Instance details

Defined in Agda.Syntax.Translation.AbstractToConcrete

Associated Types

type ConOfAbs RecordDirectives |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs RecordDirectives = [RecordDirective]

Methods

toConcrete :: MonadToConcrete m => RecordDirectives -> m (ConOfAbs RecordDirectives) Source #

bindToConcrete :: MonadToConcrete m => RecordDirectives -> (ConOfAbs RecordDirectives -> m b) -> m b 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 #
Foldable RecordDirectives' Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

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

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

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

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

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

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

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

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

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

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

null :: RecordDirectives' a -> Bool Source #

length :: RecordDirectives' a -> Int Source #

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

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

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

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

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

Traversable RecordDirectives' Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

traverse :: Applicative f => (a -> f b) -> RecordDirectives' a -> f (RecordDirectives' b) Source #

sequenceA :: Applicative f => RecordDirectives' (f a) -> f (RecordDirectives' a) Source #

mapM :: Monad m => (a -> m b) -> RecordDirectives' a -> m (RecordDirectives' b) Source #

sequence :: Monad m => RecordDirectives' (m a) -> m (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 #
EmbPrj a => EmbPrj (RecordDirectives' a) Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: RecordDirectives' a -> S Word32 Source # icod_ :: RecordDirectives' a -> S Word32 Source # value :: Word32 -> R (RecordDirectives' a) Source #
Null a => Null (RecordDirectives' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: RecordDirectives' a Source # null :: RecordDirectives' a -> Bool Source #
NFData a => NFData (RecordDirectives' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #
type ConOfAbs RecordDirectives Source # |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs RecordDirectives = [RecordDirective]

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

(Pretty a, Pretty b) => Pretty (Using' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Using' a b -> Doc Source # prettyPrec :: Int -> Using' a b -> Doc Source # prettyList :: [Using' a b] -> Doc Source #
(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 #
(NFData a, NFData b) => NFData (Using' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Using' a b -> () 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 m, Show n) => Show (Using' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Using' n m -> ShowS Source # show :: Using' n m -> String Source # showList :: [Using' n m] -> ShowS 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 #

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

PrettyTCM ImportedName Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => ImportedName -> m Doc Source #
(Pretty a, Pretty b) => Pretty (ImportedName' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: ImportedName' a b -> Doc Source # prettyPrec :: Int -> ImportedName' a b -> Doc Source # prettyList :: [ImportedName' a b] -> Doc Source #
(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 Word32 Source # icod_ :: ImportedName' a b -> S Word32 Source # value :: Word32 -> R (ImportedName' a b) Source #
(NFData a, NFData b) => NFData (ImportedName' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: ImportedName' a b -> () 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 #
(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 #

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

(Pretty a, Pretty b) => Pretty (Renaming' a b) Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Renaming' a b -> Doc Source # prettyPrec :: Int -> Renaming' a b -> Doc Source # prettyList :: [Renaming' a b] -> Doc Source #
(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 #
(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 #
(Show m, Show n) => Show (Renaming' n m) Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Renaming' n m -> ShowS Source # show :: Renaming' n m -> String Source # showList :: [Renaming' n m] -> ShowS 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 #

data ExprKind Source #

Expression kinds: Expressions or patterns.

Constructors

IsExpr |
IsPattern |

#### Instances

Instances details

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

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 Word32 Source # icod_ :: Cubical -> S Word32 Source # value :: Word32 -> R Cubical Source #
NFData Cubical Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Cubical -> () Source #
Generic Cubical Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep Cubical |
Instance details Defined in Agda.Syntax.Common type Rep Cubical = D1 ('MetaData "Cubical" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "CErased" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "CFull" 'PrefixI 'False) (U1 :: Type -> Type))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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 Word32 Source # icod_ :: Language -> S Word32 Source # value :: Word32 -> R Language Source #
NFData Language Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Language -> () Source #
Generic Language Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep Language |

Instance details

Defined in Agda.Syntax.Common

type Rep Language = D1 ('MetaData "Language" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

type NamedArg a = Arg (Named_ a) Source #

Only `Hidden` arguments can have names.

class LensArgInfo a where Source #

Minimal complete definition

getArgInfo, (setArgInfo | mapArgInfo)

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 ContextEntry Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Types Methods getArgInfo :: ContextEntry -> ArgInfo Source # setArgInfo :: ArgInfo -> ContextEntry -> ContextEntry Source # mapArgInfo :: (ArgInfo -> ArgInfo) -> ContextEntry -> ContextEntry 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 #

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 ContextEntry Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Types Methods getCohesion :: ContextEntry -> Cohesion Source # setCohesion :: Cohesion -> ContextEntry -> ContextEntry Source # mapCohesion :: (Cohesion -> Cohesion) -> ContextEntry -> ContextEntry 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 #

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 RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModality :: RemoteMetaVariable -> Modality Source # setModality :: Modality -> RemoteMetaVariable -> RemoteMetaVariable Source # mapModality :: (Modality -> Modality) -> RemoteMetaVariable -> RemoteMetaVariable Source #
LensModality ContextEntry Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Types Methods getModality :: ContextEntry -> Modality Source # setModality :: Modality -> ContextEntry -> ContextEntry Source # mapModality :: (Modality -> Modality) -> ContextEntry -> ContextEntry 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 #

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 RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getQuantity :: RemoteMetaVariable -> Quantity Source # setQuantity :: Quantity -> RemoteMetaVariable -> RemoteMetaVariable Source # mapQuantity :: (Quantity -> Quantity) -> RemoteMetaVariable -> RemoteMetaVariable Source #
LensQuantity ContextEntry Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Types Methods getQuantity :: ContextEntry -> Quantity Source # setQuantity :: Quantity -> ContextEntry -> ContextEntry Source # mapQuantity :: (Quantity -> Quantity) -> ContextEntry -> ContextEntry 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 #

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 MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRelevance :: MetaInfo -> Relevance Source # setRelevance :: Relevance -> MetaInfo -> MetaInfo Source # mapRelevance :: (Relevance -> Relevance) -> MetaInfo -> MetaInfo Source #
LensRelevance MetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRelevance :: MetaVariable -> Relevance Source # setRelevance :: Relevance -> MetaVariable -> MetaVariable Source # mapRelevance :: (Relevance -> Relevance) -> MetaVariable -> MetaVariable Source #
LensRelevance RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getRelevance :: RemoteMetaVariable -> Relevance Source # setRelevance :: Relevance -> RemoteMetaVariable -> RemoteMetaVariable Source # mapRelevance :: (Relevance -> Relevance) -> RemoteMetaVariable -> RemoteMetaVariable Source #
LensRelevance ContextEntry Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Types Methods getRelevance :: ContextEntry -> Relevance Source # setRelevance :: Relevance -> ContextEntry -> ContextEntry Source # mapRelevance :: (Relevance -> Relevance) -> ContextEntry -> ContextEntry 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 #

class LensModalPolarity a where Source #

A lens to access the `PolarityModality` attribute in data structures. Minimal implementation: `getModalPolarity` and `mapModalPolarity` or `LensModality`.

Minimal complete definition

Nothing

Methods

getModalPolarity :: a -> PolarityModality Source #

default getModalPolarity :: LensModality a => a -> PolarityModality Source #

setModalPolarity :: PolarityModality -> a -> a Source #

mapModalPolarity :: (PolarityModality -> PolarityModality) -> a -> a Source #

default mapModalPolarity :: LensModality a => (PolarityModality -> PolarityModality) -> a -> a Source #

#### Instances

Instances details

LensModalPolarity ArgInfo Source # |
Instance details Defined in Agda.Syntax.Common Methods getModalPolarity :: ArgInfo -> PolarityModality Source # setModalPolarity :: PolarityModality -> ArgInfo -> ArgInfo Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> ArgInfo -> ArgInfo Source #
LensModalPolarity Modality Source # |
Instance details Defined in Agda.Syntax.Common Methods getModalPolarity :: Modality -> PolarityModality Source # setModalPolarity :: PolarityModality -> Modality -> Modality Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> Modality -> Modality Source #
LensModalPolarity PolarityModality Source # |
Instance details Defined in Agda.Syntax.Common Methods getModalPolarity :: PolarityModality -> PolarityModality Source # setModalPolarity :: PolarityModality -> PolarityModality -> PolarityModality Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> PolarityModality -> PolarityModality Source #
LensModalPolarity Definition Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModalPolarity :: Definition -> PolarityModality Source # setModalPolarity :: PolarityModality -> Definition -> Definition Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> Definition -> Definition Source #
LensModalPolarity MetaInfo Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModalPolarity :: MetaInfo -> PolarityModality Source # setModalPolarity :: PolarityModality -> MetaInfo -> MetaInfo Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> MetaInfo -> MetaInfo Source #
LensModalPolarity RemoteMetaVariable Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods getModalPolarity :: RemoteMetaVariable -> PolarityModality Source # setModalPolarity :: PolarityModality -> RemoteMetaVariable -> RemoteMetaVariable Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> RemoteMetaVariable -> RemoteMetaVariable Source #
LensModalPolarity ContextEntry Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base.Types Methods getModalPolarity :: ContextEntry -> PolarityModality Source # setModalPolarity :: PolarityModality -> ContextEntry -> ContextEntry Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> ContextEntry -> ContextEntry Source #
LensModalPolarity (Arg e) Source # |
Instance details Defined in Agda.Syntax.Common Methods getModalPolarity :: Arg e -> PolarityModality Source # setModalPolarity :: PolarityModality -> Arg e -> Arg e Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> Arg e -> Arg e Source #
LensModalPolarity (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal Methods getModalPolarity :: Dom' t e -> PolarityModality Source # setModalPolarity :: PolarityModality -> Dom' t e -> Dom' t e Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> Dom' t e -> Dom' t e Source #

fromImportedName :: ImportedName' a a -> a Source #

partitionImportedNames :: [ImportedName' n m] -> ([n], [m]) Source #

Like `partitionEithers`.

data IsOpaque Source #

Opaque or transparent.

Constructors

OpaqueDef !OpaqueId | This definition is opaque, and it is guarded by the given opaque block.
TransparentDef |

#### Instances

Instances details

AllAreOpaque IsOpaque Source # |
Instance details Defined in Agda.Syntax.Common Methods jointOpacity :: IsOpaque -> JointOpacity Source #
LensIsOpaque IsOpaque Source # |
Instance details Defined in Agda.Syntax.Common Methods lensIsOpaque :: Lens' IsOpaque IsOpaque Source #
KillRange IsOpaque Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT IsOpaque Source #
EmbPrj IsOpaque Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: IsOpaque -> S Word32 Source # icod_ :: IsOpaque -> S Word32 Source # value :: Word32 -> R IsOpaque Source #
NFData IsOpaque Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: IsOpaque -> () Source #
Generic IsOpaque Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep IsOpaque |
Instance details Defined in Agda.Syntax.Common type Rep IsOpaque = D1 ('MetaData "IsOpaque" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "OpaqueDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 OpaqueId)) :+: C1 ('MetaCons "TransparentDef" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: IsOpaque -> Rep IsOpaque x Source #

to :: Rep IsOpaque x -> IsOpaque Source #

Show IsOpaque Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> IsOpaque -> ShowS Source # show :: IsOpaque -> String Source # showList :: [IsOpaque] -> ShowS Source #
Eq IsOpaque Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: IsOpaque -> IsOpaque -> Bool Source # (/=) :: IsOpaque -> IsOpaque -> Bool Source #
Ord IsOpaque Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: IsOpaque -> IsOpaque -> Ordering Source # (<) :: IsOpaque -> IsOpaque -> Bool Source # (<=) :: IsOpaque -> IsOpaque -> Bool Source # (>) :: IsOpaque -> IsOpaque -> Bool Source # (>=) :: IsOpaque -> IsOpaque -> Bool Source # max :: IsOpaque -> IsOpaque -> IsOpaque Source # min :: IsOpaque -> IsOpaque -> IsOpaque Source #
type Rep IsOpaque Source # |
Instance details Defined in Agda.Syntax.Common type Rep IsOpaque = D1 ('MetaData "IsOpaque" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "OpaqueDef" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 OpaqueId)) :+: C1 ('MetaCons "TransparentDef" 'PrefixI 'False) (U1 :: Type -> Type))

irrelevant :: Relevance Source #

relevant :: Relevance Source #

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

Check for `Quantity0`.

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 #
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 #
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 #
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 #
Pretty a => Pretty (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: WithHiding a -> Doc Source # prettyPrec :: Int -> WithHiding a -> Doc Source # prettyList :: [WithHiding a] -> Doc 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) |
Instance details Defined in Agda.Syntax.Translation.AbstractToConcrete type ConOfAbs (WithHiding a) = WithHiding (ConOfAbs a)

Methods

toConcrete :: MonadToConcrete m => WithHiding a -> m (ConOfAbs (WithHiding a)) Source #

bindToConcrete :: MonadToConcrete m => WithHiding a -> (ConOfAbs (WithHiding a) -> m b) -> m b Source #

ToAbstract c => ToAbstract (WithHiding c) Source # |

Instance details

Defined in Agda.Syntax.Translation.ConcreteToAbstract

Associated Types

type AbsOfCon (WithHiding c) |
Instance details Defined in Agda.Syntax.Translation.ConcreteToAbstract type AbsOfCon (WithHiding c) = WithHiding (AbsOfCon c)

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 Word32 Source # icod_ :: WithHiding a -> S Word32 Source # value :: Word32 -> R (WithHiding a) Source #
Subst a => Subst (WithHiding a) Source # |

Instance details

Defined in Agda.TypeChecking.Substitute

Associated Types

type SubstArg (WithHiding a) |
Instance details Defined in Agda.TypeChecking.Substitute type SubstArg (WithHiding a) = SubstArg a

Methods

applySubst :: Substitution' (SubstArg (WithHiding a)) -> WithHiding a -> WithHiding a Source #

NFData a => NFData (WithHiding a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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

data PolarityModality Source #

Constructors

PolarityModality |

Fields

- modPolarityAnn :: ModalPolarity

  The actual polarity of the variable

- modPolarityOrigin :: ModalPolarity

  The original polarity annotation by the user

- modPolarityLock :: ModalPolarity

  The locks of the variable (= composition of all denominators the variable has been left divided by)

#### Instances

Instances details

LensModalPolarity PolarityModality Source # |
Instance details Defined in Agda.Syntax.Common Methods getModalPolarity :: PolarityModality -> PolarityModality Source # setModalPolarity :: PolarityModality -> PolarityModality -> PolarityModality Source # mapModalPolarity :: (PolarityModality -> PolarityModality) -> PolarityModality -> PolarityModality Source #
Pretty PolarityModality Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: PolarityModality -> Doc Source # prettyPrec :: Int -> PolarityModality -> Doc Source # prettyList :: [PolarityModality] -> Doc Source #
HasRange PolarityModality Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: PolarityModality -> Range Source #
KillRange PolarityModality Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT PolarityModality Source #
SetRange PolarityModality Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> PolarityModality -> PolarityModality Source #
Verbalize PolarityModality Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods verbalize :: PolarityModality -> String Source #
PrettyTCM PolarityModality Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => PolarityModality -> m Doc Source #
EmbPrj PolarityModality Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: PolarityModality -> S Word32 Source # icod_ :: PolarityModality -> S Word32 Source # value :: Word32 -> R PolarityModality Source #
Null PolarityModality Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: PolarityModality Source # null :: PolarityModality -> Bool Source #
PartialOrd PolarityModality Source # |
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable PolarityModality Source #
NFData PolarityModality Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: PolarityModality -> () Source #
Bounded PolarityModality Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: PolarityModality Source # maxBound :: PolarityModality Source #
Generic PolarityModality Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep PolarityModality |

Instance details

Defined in Agda.Syntax.Common

type Rep PolarityModality = D1 ('MetaData "PolarityModality" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "PolarityModality" 'PrefixI 'True) (S1 ('MetaSel ('Just "modPolarityAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModalPolarity) :*: (S1 ('MetaSel ('Just "modPolarityOrigin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModalPolarity) :*: S1 ('MetaSel ('Just "modPolarityLock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModalPolarity))))

Methods

from :: PolarityModality -> Rep PolarityModality x Source #

to :: Rep PolarityModality x -> PolarityModality Source #

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

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: PolarityModality -> PolarityModality -> Ordering Source #

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

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

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

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

max :: PolarityModality -> PolarityModality -> PolarityModality Source #

min :: PolarityModality -> PolarityModality -> PolarityModality Source #

LeftClosedPOMonoid (UnderComposition PolarityModality) Source # |
Instance details Defined in Agda.Syntax.Common Methods inverseCompose :: UnderComposition PolarityModality -> UnderComposition PolarityModality -> UnderComposition PolarityModality Source #
POMonoid (UnderAddition PolarityModality) Source # |
Instance details Defined in Agda.Syntax.Common
POMonoid (UnderComposition PolarityModality) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderAddition PolarityModality) Source # |
Instance details Defined in Agda.Syntax.Common
POSemigroup (UnderComposition PolarityModality) Source # |
Instance details Defined in Agda.Syntax.Common
Monoid (UnderAddition PolarityModality) Source # | '' is the additive unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderAddition PolarityModality Source # mappend :: UnderAddition PolarityModality -> UnderAddition PolarityModality -> UnderAddition PolarityModality Source # mconcat :: [UnderAddition PolarityModality] -> UnderAddition PolarityModality Source #
Monoid (UnderComposition PolarityModality) Source # | `Continous` is the multiplicative unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderComposition PolarityModality Source # mappend :: UnderComposition PolarityModality -> UnderComposition PolarityModality -> UnderComposition PolarityModality Source # mconcat :: [UnderComposition PolarityModality] -> UnderComposition PolarityModality Source #
Semigroup (UnderAddition PolarityModality) Source # | `ModalPolarity` forms a semigroup under addition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderAddition PolarityModality -> UnderAddition PolarityModality -> UnderAddition PolarityModality Source # sconcat :: NonEmpty (UnderAddition PolarityModality) -> UnderAddition PolarityModality Source # stimes :: Integral b => b -> UnderAddition PolarityModality -> UnderAddition PolarityModality Source #
Semigroup (UnderComposition PolarityModality) Source # | `ModalPolarity` forms a semigroup under composition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition PolarityModality -> UnderComposition PolarityModality -> UnderComposition PolarityModality Source # sconcat :: NonEmpty (UnderComposition PolarityModality) -> UnderComposition PolarityModality Source # stimes :: Integral b => b -> UnderComposition PolarityModality -> UnderComposition PolarityModality Source #
type Rep PolarityModality Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep PolarityModality = D1 ('MetaData "PolarityModality" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "PolarityModality" 'PrefixI 'True) (S1 ('MetaSel ('Just "modPolarityAnn") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModalPolarity) :*: (S1 ('MetaSel ('Just "modPolarityOrigin") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModalPolarity) :*: S1 ('MetaSel ('Just "modPolarityLock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 ModalPolarity))))

data Relevance Source #

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

Constructors

Relevant OriginRelevant | The argument is (possibly) relevant at compile-time.

ShapeIrrelevant OriginShapeIrrelevant

Like `Quantity0`, the argument may never flow into evaluation position. So it is irrelevant at run-time, yet treated relevantly during equality checking.

Unlike `Quantity0`, it is used to type `Irrelevant` arguments in functions: If you enable `--experimental-irrelevance`, then the type of an irrelevant function is forced to be shape-irrelevant. See: - https://doi.org/10.2168/LMCS-8(1:29)2012 example 2.8 (Not enforcing shape-irrelevant codomains can break subject reduction!) - https://dl.acm.org/doi/10.1145/3110277 - https://doi.org/10.1145/3209108.3209119

Irrelevant OriginIrrelevant | 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 #
Pretty Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Relevance -> Doc Source # prettyPrec :: Int -> Relevance -> Doc Source # prettyList :: [Relevance] -> Doc 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 #
Verbalize Relevance Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods verbalize :: Relevance -> String 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 Word32 Source # icod_ :: Relevance -> S Word32 Source # value :: Word32 -> R Relevance Source #
Unquote Relevance Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM Relevance Source #
Null Relevance Source # | `null` means no information, not even origin or range.
Instance details Defined in Agda.Syntax.Common Methods empty :: Relevance Source # null :: Relevance -> Bool Source #
PartialOrd Relevance Source # | More relevant is smaller.
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable Relevance Source #
NFData Relevance Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Relevance -> () Source #
Generic Relevance Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep Relevance |

Instance details

Defined in Agda.Syntax.Common

type Rep Relevance = D1 ('MetaData "Relevance" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Relevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginRelevant)) :+: (C1 ('MetaCons "ShapeIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginShapeIrrelevant)) :+: C1 ('MetaCons "Irrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginIrrelevant))))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Relevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginRelevant)) :+: (C1 ('MetaCons "ShapeIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginShapeIrrelevant)) :+: C1 ('MetaCons "Irrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 OriginIrrelevant))))

type Nat1 = Nat Source #

Number `>= 1`.

cubicalOptionString :: Cubical -> String Source #

data DisplayLHS Source #

Distinguish parsing a DISPLAY pragma from an ordinary left hand side.

Constructors

YesDisplayLHS |
NoDisplayLHS |

#### Instances

Instances details

Boolean DisplayLHS Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

fromBool :: Bool -> DisplayLHS Source #

true :: DisplayLHS Source #

false :: DisplayLHS Source #

not :: DisplayLHS -> DisplayLHS Source #

(&&) :: DisplayLHS -> DisplayLHS -> DisplayLHS Source #

(||) :: DisplayLHS -> DisplayLHS -> DisplayLHS Source #

implies :: DisplayLHS -> DisplayLHS -> DisplayLHS Source #

butNot :: DisplayLHS -> DisplayLHS -> DisplayLHS Source #

IsBool DisplayLHS Source # |
Instance details Defined in Agda.Syntax.Common Methods toBool :: DisplayLHS -> Bool Source # ifThenElse :: DisplayLHS -> b -> b -> b Source # fromBool1 :: (Bool -> Bool) -> DisplayLHS -> DisplayLHS Source # fromBool2 :: (Bool -> Bool -> Bool) -> DisplayLHS -> DisplayLHS -> DisplayLHS Source #
Bounded DisplayLHS Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: DisplayLHS Source # maxBound :: DisplayLHS Source #
Enum DisplayLHS Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: DisplayLHS -> DisplayLHS Source #

pred :: DisplayLHS -> DisplayLHS Source #

toEnum :: Int -> DisplayLHS Source #

fromEnum :: DisplayLHS -> Int Source #

enumFrom :: DisplayLHS -> [DisplayLHS] Source #

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

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

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

Generic DisplayLHS Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep DisplayLHS |
Instance details Defined in Agda.Syntax.Common type Rep DisplayLHS = D1 ('MetaData "DisplayLHS" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesDisplayLHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoDisplayLHS" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: DisplayLHS -> Rep DisplayLHS x Source #

to :: Rep DisplayLHS x -> DisplayLHS Source #

Show DisplayLHS Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> DisplayLHS -> ShowS Source # show :: DisplayLHS -> String Source # showList :: [DisplayLHS] -> ShowS Source #
Eq DisplayLHS Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: DisplayLHS -> DisplayLHS -> Bool Source # (/=) :: DisplayLHS -> DisplayLHS -> Bool Source #
type Rep DisplayLHS Source # |
Instance details Defined in Agda.Syntax.Common type Rep DisplayLHS = D1 ('MetaData "DisplayLHS" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesDisplayLHS" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoDisplayLHS" 'PrefixI 'False) (U1 :: Type -> Type))

type HasEta0 = HasEta' () Source #

emptyRecordDirectives :: Null a => RecordDirectives' a Source #

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 #
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 #
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 #
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 Word32 Source # icod_ :: HasEta' a -> S Word32 Source # value :: Word32 -> R (HasEta' a) Source #
NFData a => NFData (HasEta' a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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).

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 #
CopatternMatchingAllowed DataOrRecord Source # |
Instance details Defined in Agda.Syntax.Internal Methods copatternMatchingAllowed :: DataOrRecord -> 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 #
PatternMatchingAllowed DataOrRecord Source # |
Instance details Defined in Agda.Syntax.Internal Methods patternMatchingAllowed :: DataOrRecord -> 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 #
KillRange DataOrRecord Source # |
Instance details Defined in Agda.Syntax.Internal Methods killRange :: KillRangeT DataOrRecord Source #
EmbPrj PatternOrCopattern Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: PatternOrCopattern -> S Word32 Source # icod_ :: PatternOrCopattern -> S Word32 Source # value :: Word32 -> R PatternOrCopattern Source #
EmbPrj DataOrRecord Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Internal Methods icode :: DataOrRecord -> S Word32 Source # icod_ :: DataOrRecord -> S Word32 Source # value :: Word32 -> R DataOrRecord Source #
NFData PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 PatternOrCopattern Source # |
Instance details Defined in Agda.Syntax.Common Methods patternMatchingAllowed :: PatternOrCopattern -> Bool Source #
PatternMatchingAllowed Induction Source # |
Instance details Defined in Agda.Syntax.Common Methods patternMatchingAllowed :: Induction -> Bool Source #
PatternMatchingAllowed DataOrRecord Source # |
Instance details Defined in Agda.Syntax.Internal Methods patternMatchingAllowed :: DataOrRecord -> 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 ConHead Source # |
Instance details Defined in Agda.Syntax.Internal Methods copatternMatchingAllowed :: ConHead -> Bool Source #
CopatternMatchingAllowed DataOrRecord Source # |
Instance details Defined in Agda.Syntax.Internal Methods copatternMatchingAllowed :: DataOrRecord -> Bool Source #
CopatternMatchingAllowed EtaEquality Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods copatternMatchingAllowed :: EtaEquality -> Bool Source #

class HasOverlapMode a where Source #

Methods

lensOverlapMode :: Lens' a OverlapMode Source #

#### Instances

Instances details

HasOverlapMode OverlapMode Source # |
Instance details Defined in Agda.Syntax.Common Methods lensOverlapMode :: Lens' OverlapMode OverlapMode Source #
HasOverlapMode Candidate Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensOverlapMode :: Lens' Candidate OverlapMode Source #

isIncoherent :: HasOverlapMode a => a -> Bool Source #

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

isOverlapping :: HasOverlapMode a => a -> Bool Source #

hidingToString :: Hiding -> String Source #

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

Monoidal composition of `Hiding` information in some data.

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

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

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 #

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

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

Ignores `Overlappable`.

prettyHiding :: LensHiding a => a -> (Doc -> Doc) -> Doc -> Doc Source #

`prettyHiding info visible doc` puts the correct braces around `doc` according to info `info` and returns `visible doc` if the we deal with a visible thing.

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 PolarityModality) 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 PolarityModality) 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 PolarityModality) Source # | '' is the additive unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderAddition PolarityModality Source # mappend :: UnderAddition PolarityModality -> UnderAddition PolarityModality -> UnderAddition PolarityModality Source # mconcat :: [UnderAddition PolarityModality] -> UnderAddition PolarityModality 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 PolarityModality) Source # | `ModalPolarity` forms a semigroup under addition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderAddition PolarityModality -> UnderAddition PolarityModality -> UnderAddition PolarityModality Source # sconcat :: NonEmpty (UnderAddition PolarityModality) -> UnderAddition PolarityModality Source # stimes :: Integral b => b -> UnderAddition PolarityModality -> UnderAddition PolarityModality 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 PolarityModality) Source # |
Instance details Defined in Agda.Syntax.Common Methods inverseCompose :: UnderComposition PolarityModality -> UnderComposition PolarityModality -> UnderComposition PolarityModality 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 PolarityModality) 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 PolarityModality) 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 PolarityModality) Source # | `Continous` is the multiplicative unit.
Instance details Defined in Agda.Syntax.Common Methods mempty :: UnderComposition PolarityModality Source # mappend :: UnderComposition PolarityModality -> UnderComposition PolarityModality -> UnderComposition PolarityModality Source # mconcat :: [UnderComposition PolarityModality] -> UnderComposition PolarityModality 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 PolarityModality) Source # | `ModalPolarity` forms a semigroup under composition.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: UnderComposition PolarityModality -> UnderComposition PolarityModality -> UnderComposition PolarityModality Source # sconcat :: NonEmpty (UnderComposition PolarityModality) -> UnderComposition PolarityModality Source # stimes :: Integral b => b -> UnderComposition PolarityModality -> UnderComposition PolarityModality 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 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 #
Pretty Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Quantity -> Doc Source # prettyPrec :: Int -> Quantity -> Doc Source # prettyList :: [Quantity] -> Doc 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 #
Verbalize Quantity Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods verbalize :: Quantity -> String 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 Word32 Source # icod_ :: Quantity -> S Word32 Source # value :: Word32 -> R Quantity Source #
Unquote Quantity Source # |
Instance details Defined in Agda.TypeChecking.Unquote Methods unquote :: Term -> UnquoteM Quantity Source #
Null Quantity Source # | `null` means no information, not even origin or range.
Instance details Defined in Agda.Syntax.Common Methods empty :: Quantity Source # null :: Quantity -> Bool 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 #
NFData Quantity Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Quantity -> () Source #
Generic Quantity Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep Quantity |

Instance details

Defined in Agda.Syntax.Common

type Rep Quantity = D1 ('MetaData "Quantity" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

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

Multiplicative monoid (standard monoid).

unitModality :: Modality Source #

Identity under composition

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).

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

`Modality` forms a pointwise additive monoid.

zeroModality :: Modality Source #

Identity under addition

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 #

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

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

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

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

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

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

usablePolarity :: LensModalPolarity a => a -> Bool Source #

`usablePolarity pol == False` iff we cannot use a variable of `pol`.

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

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

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

Composition of quantities (multiplication).

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

Right-biased for origin.

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

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

composePolarity :: PolarityModality -> PolarityModality -> PolarityModality Source #

`PolarityModality` composition.

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`.

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).

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).

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`.

inverseComposePolarity :: PolarityModality -> PolarityModality -> PolarityModality Source #

`inverseComposePolarity r x` returns the least `y` such that forall `x`, `y` we have `x `morePolarity'\` (r `composePolarity` y)` iff `(r `inverseComposePolarity` x) `morePolarity'\` 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.

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

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

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

`Quantity` forms an additive monoid with zero Quantity0.

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

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

addPolarity :: PolarityModality -> PolarityModality -> PolarityModality Source #

Combine inferred `PolarityModality`.

zeroRelevance :: Relevance Source #

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

zeroQuantity :: Quantity Source #

Identity element under addition

zeroCohesion :: Cohesion Source #

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

zeroPolarity :: PolarityModality Source #

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

unitRelevance :: Relevance Source #

Identity element under composition

unitQuantity :: Quantity Source #

Identity element under composition

unitCohesion :: Cohesion Source #

Identity under composition

unitPolarity :: PolarityModality Source #

Identity under composition.

topModality :: Modality Source #

Absorptive element under addition.

topRelevance :: Relevance Source #

Absorptive element under addition.

topQuantity :: Quantity Source #

Absorptive element is ω.

topCohesion :: Cohesion Source #

Absorptive element under addition.

topPolarity :: PolarityModality 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 ω.

defaultRelevance :: Relevance Source #

Default Relevance is the identity element under composition

defaultQuantity :: Quantity Source #

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

defaultCohesion :: Cohesion Source #

Default Cohesion is the identity element under composition

defaultPolarity :: PolarityModality Source #

Default used when not caring about polarity

defaultCheckModality :: Modality Source #

The default Modality terms are checked against.

withStandardLock :: ModalPolarity -> PolarityModality Source #

data ModalPolarity Source #

The different polarity options

Constructors

UnusedPolarity | argument will not be used.
StrictlyPositive | argument will only be used in strictly positive position.
Positive | argument will only be used in positive position.
Negative | argument will only be used in negative position.
MixedPolarity | we don't know anything, argument can be used anywhere.

#### Instances

Instances details

Pretty ModalPolarity Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: ModalPolarity -> Doc Source # prettyPrec :: Int -> ModalPolarity -> Doc Source # prettyList :: [ModalPolarity] -> Doc Source #
Verbalize ModalPolarity Source # |
Instance details Defined in Agda.TypeChecking.Errors Methods verbalize :: ModalPolarity -> String Source #
PrettyTCM ModalPolarity Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => ModalPolarity -> m Doc Source #
EmbPrj ModalPolarity Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: ModalPolarity -> S Word32 Source # icod_ :: ModalPolarity -> S Word32 Source # value :: Word32 -> R ModalPolarity Source #
PartialOrd ModalPolarity Source # | The derived Ord instance for ModalPolarity is just used for serialisation and has no particular meaning. The actual order on modalities is a partial order.
Instance details Defined in Agda.Syntax.Common Methods comparable :: Comparable ModalPolarity Source #
Bounded ModalPolarity Source # |
Instance details Defined in Agda.Syntax.Common Methods minBound :: ModalPolarity Source # maxBound :: ModalPolarity Source #
Enum ModalPolarity Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: ModalPolarity -> ModalPolarity Source #

pred :: ModalPolarity -> ModalPolarity Source #

toEnum :: Int -> ModalPolarity Source #

fromEnum :: ModalPolarity -> Int Source #

enumFrom :: ModalPolarity -> [ModalPolarity] Source #

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

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

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

Generic ModalPolarity Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep ModalPolarity |

Instance details

Defined in Agda.Syntax.Common

type Rep ModalPolarity = D1 ('MetaData "ModalPolarity" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "UnusedPolarity" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StrictlyPositive" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Positive" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Negative" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MixedPolarity" 'PrefixI 'False) (U1 :: Type -> Type))))

Methods

from :: ModalPolarity -> Rep ModalPolarity x Source #

to :: Rep ModalPolarity x -> ModalPolarity Source #

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

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: ModalPolarity -> ModalPolarity -> Ordering Source #

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

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

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

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

max :: ModalPolarity -> ModalPolarity -> ModalPolarity Source #

min :: ModalPolarity -> ModalPolarity -> ModalPolarity Source #

type Rep ModalPolarity Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep ModalPolarity = D1 ('MetaData "ModalPolarity" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "UnusedPolarity" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "StrictlyPositive" 'PrefixI 'False) (U1 :: Type -> Type)) :+: (C1 ('MetaCons "Positive" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "Negative" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "MixedPolarity" 'PrefixI 'False) (U1 :: Type -> Type))))

positionalModalityComponent :: Modality -> Modality Source #

Extract the positional modality component for checks regarding only them.

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

Equality ignoring origin.

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

Equality ignoring origin.

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

Equality ignoring origin.

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

Equality ignoring origin.

samePolarity :: PolarityModality -> PolarityModality -> Bool Source #

Equality for polarities.

lModRelevance :: Lens' Modality Relevance Source #

lModQuantity :: Lens' Modality Quantity Source #

lModCohesion :: Lens' Modality Cohesion Source #

lModPolarity :: Lens' Modality PolarityModality Source #

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

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

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

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

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

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

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

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

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

getPolarityMod :: LensModality a => LensGet a PolarityModality Source #

setPolarityMod :: LensModality a => LensSet a PolarityModality Source #

mapPolarityMod :: LensModality a => LensMap a PolarityModality Source #

data Q0Origin Source #

Origin of `Quantity0`.

Constructors

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

#### Instances

Instances details

Pretty Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Q0Origin -> Doc Source # prettyPrec :: Int -> Q0Origin -> Doc Source # prettyList :: [Q0Origin] -> Doc Source #
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 Word32 Source # icod_ :: Q0Origin -> S Word32 Source # value :: Word32 -> R Q0Origin Source #
Null Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Q0Origin Source # null :: Q0Origin -> Bool Source #
NFData Q0Origin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |

Instance details

Defined in Agda.Syntax.Common

type Rep Q0Origin = D1 ('MetaData "Q0Origin" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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 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

Pretty QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: QωOrigin -> Doc Source # prettyPrec :: Int -> QωOrigin -> Doc Source # prettyList :: [QωOrigin] -> Doc Source #
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 Word32 Source # icod_ :: QωOrigin -> S Word32 Source # value :: Word32 -> 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 #
NFData QωOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |

Instance details

Defined in Agda.Syntax.Common

type Rep QωOrigin = D1 ('MetaData "Q\969Origin" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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))))

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

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

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`.

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

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

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?

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

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

prettyQuantity :: LensQuantity a => a -> Doc -> Doc Source #

data Erased Source #

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

Note that the `Ord` instance does *not* ignore the origin arguments.

Constructors

Erased Q0Origin |
NotErased QωOrigin |

#### Instances

Instances details

Pretty Erased Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Erased -> Doc Source # prettyPrec :: Int -> Erased -> Doc Source # prettyList :: [Erased] -> Doc Source #
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 #
PrettyTCM Erased Source # |
Instance details Defined in Agda.TypeChecking.Pretty Methods prettyTCM :: MonadPretty m => Erased -> m Doc Source #
NFData Erased Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Erased -> () Source #
Generic Erased Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep Erased |

Instance details

Defined in Agda.Syntax.Common

type Rep Erased = D1 ('MetaData "Erased" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" '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)))

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 #
Eq Erased Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Erased -> Erased -> Bool Source # (/=) :: Erased -> Erased -> Bool Source #
Ord Erased Source # |
Instance details Defined in Agda.Syntax.Common Methods compare :: Erased -> Erased -> Ordering Source # (<) :: Erased -> Erased -> Bool Source # (<=) :: Erased -> Erased -> Bool Source # (>) :: Erased -> Erased -> Bool Source # (>=) :: Erased -> Erased -> Bool Source # max :: Erased -> Erased -> Erased Source # min :: Erased -> Erased -> Erased 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.8.0-DJrTbcOFazJDzri4fKrI2F" '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.

prettyErased :: Erased -> Doc -> Doc Source #

data OriginRelevant Source #

Origin of `Relevant`.

Constructors

ORelInferred | User wrote nothing.
ORelRelevant Range | User wrote "@relevant".

#### Instances

Instances details

Pretty OriginRelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: OriginRelevant -> Doc Source # prettyPrec :: Int -> OriginRelevant -> Doc Source # prettyList :: [OriginRelevant] -> Doc Source #
HasRange OriginRelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: OriginRelevant -> Range Source #
KillRange OriginRelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT OriginRelevant Source #
SetRange OriginRelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> OriginRelevant -> OriginRelevant Source #
EmbPrj OriginRelevant Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: OriginRelevant -> S Word32 Source # icod_ :: OriginRelevant -> S Word32 Source # value :: Word32 -> R OriginRelevant Source #
Null OriginRelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: OriginRelevant Source # null :: OriginRelevant -> Bool Source #
NFData OriginRelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: OriginRelevant -> () Source #
Monoid OriginRelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: OriginRelevant Source # mappend :: OriginRelevant -> OriginRelevant -> OriginRelevant Source # mconcat :: [OriginRelevant] -> OriginRelevant Source #
Semigroup OriginRelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: OriginRelevant -> OriginRelevant -> OriginRelevant Source # sconcat :: NonEmpty OriginRelevant -> OriginRelevant Source # stimes :: Integral b => b -> OriginRelevant -> OriginRelevant Source #
Generic OriginRelevant Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep OriginRelevant |
Instance details Defined in Agda.Syntax.Common type Rep OriginRelevant = D1 ('MetaData "OriginRelevant" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ORelInferred" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ORelRelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)))

Methods

from :: OriginRelevant -> Rep OriginRelevant x Source #

to :: Rep OriginRelevant x -> OriginRelevant Source #

Show OriginRelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> OriginRelevant -> ShowS Source # show :: OriginRelevant -> String Source # showList :: [OriginRelevant] -> ShowS Source #
type Rep OriginRelevant Source # |
Instance details Defined in Agda.Syntax.Common type Rep OriginRelevant = D1 ('MetaData "OriginRelevant" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "ORelInferred" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ORelRelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)))

data OriginIrrelevant Source #

Origin of `Irrelevant`.

Constructors

OIrrInferred | User wrote nothing.
OIrrDot Range | User wrote ".".
OIrrIrr Range | User wrote "@irr".
OIrrIrrelevant Range | User wrote "@irrelevant".

#### Instances

Instances details

Pretty OriginIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: OriginIrrelevant -> Doc Source # prettyPrec :: Int -> OriginIrrelevant -> Doc Source # prettyList :: [OriginIrrelevant] -> Doc Source #
HasRange OriginIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: OriginIrrelevant -> Range Source #
KillRange OriginIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT OriginIrrelevant Source #
SetRange OriginIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> OriginIrrelevant -> OriginIrrelevant Source #
EmbPrj OriginIrrelevant Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: OriginIrrelevant -> S Word32 Source # icod_ :: OriginIrrelevant -> S Word32 Source # value :: Word32 -> R OriginIrrelevant Source #
Null OriginIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: OriginIrrelevant Source # null :: OriginIrrelevant -> Bool Source #
NFData OriginIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: OriginIrrelevant -> () Source #
Monoid OriginIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: OriginIrrelevant Source # mappend :: OriginIrrelevant -> OriginIrrelevant -> OriginIrrelevant Source # mconcat :: [OriginIrrelevant] -> OriginIrrelevant Source #
Semigroup OriginIrrelevant Source # | Right-biased composition, because the left relevance acts as context, and the right one as occurrence.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: OriginIrrelevant -> OriginIrrelevant -> OriginIrrelevant Source # sconcat :: NonEmpty OriginIrrelevant -> OriginIrrelevant Source # stimes :: Integral b => b -> OriginIrrelevant -> OriginIrrelevant Source #
Generic OriginIrrelevant Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep OriginIrrelevant |

Instance details

Defined in Agda.Syntax.Common

type Rep OriginIrrelevant = D1 ('MetaData "OriginIrrelevant" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "OIrrInferred" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OIrrDot" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))) :+: (C1 ('MetaCons "OIrrIrr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "OIrrIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))

Methods

from :: OriginIrrelevant -> Rep OriginIrrelevant x Source #

to :: Rep OriginIrrelevant x -> OriginIrrelevant Source #

Show OriginIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> OriginIrrelevant -> ShowS Source # show :: OriginIrrelevant -> String Source # showList :: [OriginIrrelevant] -> ShowS Source #
type Rep OriginIrrelevant Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep OriginIrrelevant = D1 ('MetaData "OriginIrrelevant" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "OIrrInferred" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OIrrDot" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))) :+: (C1 ('MetaCons "OIrrIrr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "OIrrIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))

data OriginShapeIrrelevant Source #

Origin of `ShapeIrrelevant`.

Constructors

OShIrrInferred | User wrote nothing.
OShIrrDotDot Range | User wrote "..".
OShIrrShIrr Range | User wrote "@shirr".
OShIrrShapeIrrelevant Range | User wrote "@shape-irrelevant".

#### Instances

Instances details

Pretty OriginShapeIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: OriginShapeIrrelevant -> Doc Source # prettyPrec :: Int -> OriginShapeIrrelevant -> Doc Source # prettyList :: [OriginShapeIrrelevant] -> Doc Source #
HasRange OriginShapeIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: OriginShapeIrrelevant -> Range Source #
KillRange OriginShapeIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT OriginShapeIrrelevant Source #
SetRange OriginShapeIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> OriginShapeIrrelevant -> OriginShapeIrrelevant Source #
EmbPrj OriginShapeIrrelevant Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: OriginShapeIrrelevant -> S Word32 Source # icod_ :: OriginShapeIrrelevant -> S Word32 Source # value :: Word32 -> R OriginShapeIrrelevant Source #
Null OriginShapeIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: OriginShapeIrrelevant Source # null :: OriginShapeIrrelevant -> Bool Source #
NFData OriginShapeIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: OriginShapeIrrelevant -> () Source #
Monoid OriginShapeIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: OriginShapeIrrelevant Source # mappend :: OriginShapeIrrelevant -> OriginShapeIrrelevant -> OriginShapeIrrelevant Source # mconcat :: [OriginShapeIrrelevant] -> OriginShapeIrrelevant Source #
Semigroup OriginShapeIrrelevant Source # | Right-biased composition, because the left relevance acts as context, and the right one as occurrence.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: OriginShapeIrrelevant -> OriginShapeIrrelevant -> OriginShapeIrrelevant Source # sconcat :: NonEmpty OriginShapeIrrelevant -> OriginShapeIrrelevant Source # stimes :: Integral b => b -> OriginShapeIrrelevant -> OriginShapeIrrelevant Source #
Generic OriginShapeIrrelevant Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep OriginShapeIrrelevant |

Instance details

Defined in Agda.Syntax.Common

type Rep OriginShapeIrrelevant = D1 ('MetaData "OriginShapeIrrelevant" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "OShIrrInferred" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OShIrrDotDot" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))) :+: (C1 ('MetaCons "OShIrrShIrr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "OShIrrShapeIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))

Methods

from :: OriginShapeIrrelevant -> Rep OriginShapeIrrelevant x Source #

to :: Rep OriginShapeIrrelevant x -> OriginShapeIrrelevant Source #

Show OriginShapeIrrelevant Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> OriginShapeIrrelevant -> ShowS Source # show :: OriginShapeIrrelevant -> String Source # showList :: [OriginShapeIrrelevant] -> ShowS Source #
type Rep OriginShapeIrrelevant Source # |

Instance details

Defined in Agda.Syntax.Common

type Rep OriginShapeIrrelevant = D1 ('MetaData "OriginShapeIrrelevant" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) ((C1 ('MetaCons "OShIrrInferred" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OShIrrDotDot" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))) :+: (C1 ('MetaCons "OShIrrShIrr" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "OShIrrShapeIrrelevant" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range))))

shapeIrrelevant :: Relevance Source #

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

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

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

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

Information ordering. `Relevant `moreRelevant` ShapeIrrelevant `moreRelevant` Irrelevant`

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`.

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

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

irrelevantToShapeIrrelevant :: Relevance -> Relevance Source #

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

shapeIrrelevantToRelevant :: Relevance -> Relevance Source #

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

shapeIrrelevantToIrrelevant :: Relevance -> Relevance Source #

prettyRelevance :: LensRelevance a => a -> Doc -> Doc Source #

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 Word32 Source # icod_ :: Annotation -> S Word32 Source # value :: Word32 -> R Annotation Source #
Null Annotation Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Annotation Source # null :: Annotation -> Bool Source #
NFData Annotation Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Annotation -> () Source #
Generic Annotation Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

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

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "Annotation" 'PrefixI 'True) (S1 ('MetaSel ('Just "annLock") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Lock)))

defaultAnnotation :: Annotation Source #

defaultLock :: Lock 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 #

data LockOrigin Source #

Constructors

LockOLock | The user wrote @lock.
LockOTick | The user wrote @tick.

#### Instances

Instances details

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

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: LockOrigin -> LockOrigin Source #

pred :: LockOrigin -> LockOrigin Source #

toEnum :: Int -> LockOrigin Source #

fromEnum :: LockOrigin -> Int Source #

enumFrom :: LockOrigin -> [LockOrigin] Source #

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

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

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

Generic LockOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep LockOrigin |
Instance details Defined in Agda.Syntax.Common type Rep LockOrigin = D1 ('MetaData "LockOrigin" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "LockOLock" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LockOTick" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: LockOrigin -> Rep LockOrigin x Source #

to :: Rep LockOrigin x -> LockOrigin Source #

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

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: LockOrigin -> LockOrigin -> Ordering Source #

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

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

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

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

max :: LockOrigin -> LockOrigin -> LockOrigin Source #

min :: LockOrigin -> LockOrigin -> LockOrigin Source #

type Rep LockOrigin Source # |
Instance details Defined in Agda.Syntax.Common type Rep LockOrigin = D1 ('MetaData "LockOrigin" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "LockOLock" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "LockOTick" 'PrefixI 'False) (U1 :: Type -> Type))

prettyLock :: LensLock a => a -> Doc -> Doc Source #

allCohesions :: [Cohesion] Source #

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

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

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

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`.

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

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

prettyCohesion :: LensCohesion a => a -> Doc -> Doc Source #

allModalPolarities :: [ModalPolarity] Source #

morePolarity' :: ModalPolarity -> ModalPolarity -> Bool Source #

`morePolarity' x y` is True whenever a variable of polarity x can be used anywhere where a variable of polarity y is expected. Note that `morePolarity' x y` actually means x <= y.

splittablePolarity :: LensModalPolarity a => a -> Bool Source #

`splittablePolarity pol == False` iff we cannot split on a variable of `pol`.

composePolarity' :: ModalPolarity -> ModalPolarity -> ModalPolarity Source #

`ModalPolarity` composition. `UnusedPolarity` is dominant, `StrictlyPositive` is neutral.

inverseComposePolarity' :: ModalPolarity -> ModalPolarity -> ModalPolarity Source #

`inverseComposePolarity r x` returns the least `y` such that forall `x`, `y` we have `x `morePolarity'\` (r `composePolarity` y)` iff `(r `inverseComposePolarity` x) `morePolarity'\` y` (Galois connection).

addPolarity' :: ModalPolarity -> ModalPolarity -> ModalPolarity Source #

Combine inferred `ModalPolarity`. The unit is `UnusedPolarity`.

morePolarity :: PolarityModality -> PolarityModality -> Bool Source #

applyPolarity :: LensModalPolarity a => PolarityModality -> a -> a Source #

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

inverseApplyPolarity :: LensModalPolarity a => PolarityModality -> a -> a Source #

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

negativePolarity :: PolarityModality Source #

Alias for `Negative` polarity.

mixedPolarity :: PolarityModality Source #

Alias for `Mixed` polarity.

prettyPolarity :: LensModalPolarity a => a -> Doc -> Doc Source #

data BinderNameOrigin Source #

Constructors

UserBinderName |
InsertedBinderName |

#### Instances

Instances details

KillRange BinderNameOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT BinderNameOrigin Source #
NFData BinderNameOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: BinderNameOrigin -> () Source #
Generic BinderNameOrigin Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep BinderNameOrigin |
Instance details Defined in Agda.Syntax.Common type Rep BinderNameOrigin = D1 ('MetaData "BinderNameOrigin" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "UserBinderName" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InsertedBinderName" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: BinderNameOrigin -> Rep BinderNameOrigin x Source #

to :: Rep BinderNameOrigin x -> BinderNameOrigin Source #

Show BinderNameOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> BinderNameOrigin -> ShowS Source # show :: BinderNameOrigin -> String Source # showList :: [BinderNameOrigin] -> ShowS Source #
Eq BinderNameOrigin Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: BinderNameOrigin -> BinderNameOrigin -> Bool Source # (/=) :: BinderNameOrigin -> BinderNameOrigin -> Bool Source #
type Rep BinderNameOrigin Source # |
Instance details Defined in Agda.Syntax.Common type Rep BinderNameOrigin = D1 ('MetaData "BinderNameOrigin" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "UserBinderName" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "InsertedBinderName" 'PrefixI 'False) (U1 :: Type -> Type))

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 Word32 Source # icod_ :: FreeVariables -> S Word32 Source # value :: Word32 -> R FreeVariables Source #
NFData FreeVariables Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #

defaultIrrelevantArgInfo :: ArgInfo Source #

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

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

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

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

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

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

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

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

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

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

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

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

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

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 #

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 Doc Source # |
Instance details Defined in Agda.Syntax.Common Methods underscore :: Doc Source # isUnderscore :: Doc -> 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 String Source # |
Instance details Defined in Agda.Syntax.Common Methods underscore :: String Source # isUnderscore :: String -> Bool Source #

type Named_ = Named NamedName Source #

Standard naming.

type NamedName = WithOrigin (Ranged ArgName) Source #

Standard argument names.

type ArgName = String Source #

Names in binders and arguments.

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' a (Maybe (NameOf a)) Source #

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

#### Instances

Instances details

LensNamed a => LensNamed (Arg a) Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type NameOf (Arg a) |
Instance details Defined in Agda.Syntax.Common type NameOf (Arg a) = NameOf a

Methods

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

LensNamed (Maybe a) Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type NameOf (Maybe a) |
Instance details Defined in Agda.Syntax.Common type NameOf (Maybe a) = a

Methods

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

LensNamed (Named name a) Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type NameOf (Named name a) |
Instance details Defined in Agda.Syntax.Common type NameOf (Named name a) = name

Methods

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

LensNamed (Dom' t e) Source # |

Instance details

Defined in Agda.Syntax.Internal

Associated Types

type NameOf (Dom' t e) |
Instance details Defined in Agda.Syntax.Internal type NameOf (Dom' t e) = NamedName

Methods

lensNamed :: Lens' (Dom' t e) (Maybe (NameOf (Dom' t e))) Source #

type family NameOf a Source #

The type of the name

#### Instances

Instances details

type NameOf (Arg a) Source # |
Instance details Defined in Agda.Syntax.Common type NameOf (Arg a) = NameOf a
type NameOf (Maybe a) Source # |
Instance details Defined in Agda.Syntax.Common type NameOf (Maybe a) = a
type NameOf (Named name a) Source # |
Instance details Defined in Agda.Syntax.Common type NameOf (Named name a) = name
type NameOf (Dom' t e) Source # |
Instance details Defined in Agda.Syntax.Internal type NameOf (Dom' t e) = NamedName

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` @

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

argNameToString :: ArgName -> String Source #

stringToArgName :: String -> ArgName Source #

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

unranged :: a -> Ranged a Source #

Thing with no range info.

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.

bestConInfo :: ConOrigin -> ConOrigin -> ConOrigin Source #

Prefer user-written over system-inserted.

data IsInfix Source #

Functions can be defined in both infix and prefix style. See `LHS`.

Constructors

InfixDef |
PrefixDef |

#### Instances

Instances details

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 #

data Access Source #

Access modifier.

Constructors

PrivateAccess KwRange Origin | Store the `Origin` of the private block that lead to this qualifier. This is needed for more faithful printing of declarations. `KwRange` is the range of the `private` keyword.
PublicAccess |

#### Instances

Instances details

Pretty Access Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: Access -> Doc Source # prettyPrec :: Int -> Access -> Doc Source # prettyList :: [Access] -> Doc Source #
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 Word32 Source # icod_ :: Access -> S Word32 Source # value :: Word32 -> R Access Source #
NFData Access Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #

privateAccessInserted :: Access Source #

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 Word32 Source # icod_ :: IsAbstract -> S Word32 Source # value :: Word32 -> R IsAbstract Source #
Boolean IsAbstract Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

fromBool :: Bool -> IsAbstract Source #

true :: IsAbstract Source #

false :: IsAbstract Source #

not :: IsAbstract -> IsAbstract Source #

(&&) :: IsAbstract -> IsAbstract -> IsAbstract Source #

(||) :: IsAbstract -> IsAbstract -> IsAbstract Source #

implies :: IsAbstract -> IsAbstract -> IsAbstract Source #

butNot :: IsAbstract -> IsAbstract -> IsAbstract Source #

IsBool IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Methods toBool :: IsAbstract -> Bool Source # ifThenElse :: IsAbstract -> b -> b -> b Source # fromBool1 :: (Bool -> Bool) -> IsAbstract -> IsAbstract Source # fromBool2 :: (Bool -> Bool -> Bool) -> IsAbstract -> IsAbstract -> IsAbstract Source #
NFData IsAbstract Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |
Instance details Defined in Agda.Syntax.Common type Rep IsAbstract = D1 ('MetaData "IsAbstract" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "AbstractDef" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "ConcreteDef" 'PrefixI 'False) (U1 :: Type -> Type))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" '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' a IsAbstract 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' MetaInfo IsAbstract Source #
LensIsAbstract TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensIsAbstract :: Lens' TCEnv IsAbstract Source #
LensIsAbstract (DefInfo' t) Source # |
Instance details Defined in Agda.Syntax.Info Methods lensIsAbstract :: Lens' (DefInfo' t) IsAbstract Source #
LensIsAbstract (Closure a) Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensIsAbstract :: Lens' (Closure a) IsAbstract 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 :: forall (t :: Type -> Type) b. (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 #

data IsInstance Source #

Is this definition eligible for instance search?

Constructors

InstanceDef KwRange | 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 #
EmbPrj IsInstance Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: IsInstance -> S Word32 Source # icod_ :: IsInstance -> S Word32 Source # value :: Word32 -> R IsInstance Source #
NFData IsInstance Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #

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 #
NFData IsMacro Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: IsMacro -> () Source #
Generic IsMacro Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep IsMacro |
Instance details Defined in Agda.Syntax.Common type Rep IsMacro = D1 ('MetaData "IsMacro" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MacroDef" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotMacroDef" 'PrefixI 'False) (U1 :: Type -> Type))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "MacroDef" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NotMacroDef" 'PrefixI 'False) (U1 :: Type -> Type))

data OpaqueId Source #

The unique identifier of an opaque block. Second argument is the top-level module identifier.

Constructors

OpaqueId !Word64 !ModuleNameHash |

#### Instances

Instances details

Pretty OpaqueId Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: OpaqueId -> Doc Source # prettyPrec :: Int -> OpaqueId -> Doc Source # prettyList :: [OpaqueId] -> Doc Source #
KillRange OpaqueId Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT OpaqueId Source #
HasFresh OpaqueId Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods freshLens :: Lens' TCState OpaqueId Source # nextFresh' :: OpaqueId -> OpaqueId Source #
EmbPrj OpaqueId Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: OpaqueId -> S Word32 Source # icod_ :: OpaqueId -> S Word32 Source # value :: Word32 -> R OpaqueId Source #
NFData OpaqueId Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: OpaqueId -> () Source #
Enum OpaqueId Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

succ :: OpaqueId -> OpaqueId Source #

pred :: OpaqueId -> OpaqueId Source #

toEnum :: Int -> OpaqueId Source #

fromEnum :: OpaqueId -> Int Source #

enumFrom :: OpaqueId -> [OpaqueId] Source #

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

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

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

Generic OpaqueId Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep OpaqueId |

Instance details

Defined in Agda.Syntax.Common

type Rep OpaqueId = D1 ('MetaData "OpaqueId" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "OpaqueId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word64) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 ModuleNameHash)))

Methods

from :: OpaqueId -> Rep OpaqueId x Source #

to :: Rep OpaqueId x -> OpaqueId Source #

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

Instance details

Defined in Agda.Syntax.Common

type Rep OpaqueId = D1 ('MetaData "OpaqueId" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "OpaqueId" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 Word64) :*: S1 ('MetaSel ('Nothing :: Maybe Symbol) 'SourceUnpack 'SourceStrict 'DecidedStrict) (Rec0 ModuleNameHash)))

class LensIsOpaque a where Source #

Methods

lensIsOpaque :: Lens' a IsOpaque Source #

#### Instances

Instances details

LensIsOpaque IsOpaque Source # |
Instance details Defined in Agda.Syntax.Common Methods lensIsOpaque :: Lens' IsOpaque IsOpaque Source #
LensIsOpaque TCEnv Source # |
Instance details Defined in Agda.TypeChecking.Monad.Base Methods lensIsOpaque :: Lens' TCEnv IsOpaque Source #
LensIsOpaque (DefInfo' t) Source # |
Instance details Defined in Agda.Syntax.Info Methods lensIsOpaque :: Lens' (DefInfo' t) IsOpaque Source #

data JointOpacity Source #

Monoid representing the combined opaque blocks of a `Foldable` containing possibly-opaque declarations.

Constructors

UniqueOpaque !OpaqueId | Every definition agrees on what opaque block they belong to.
DifferentOpaque !(HashSet OpaqueId) | More than one opaque block was found.
NoOpaque | Nothing here is opaque.

#### Instances

Instances details

Monoid JointOpacity Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: JointOpacity Source # mappend :: JointOpacity -> JointOpacity -> JointOpacity Source # mconcat :: [JointOpacity] -> JointOpacity Source #
Semigroup JointOpacity Source # |
Instance details Defined in Agda.Syntax.Common Methods (<>) :: JointOpacity -> JointOpacity -> JointOpacity Source # sconcat :: NonEmpty JointOpacity -> JointOpacity Source # stimes :: Integral b => b -> JointOpacity -> JointOpacity Source #

class AllAreOpaque a where Source #

Minimal complete definition

Nothing

Methods

jointOpacity :: a -> JointOpacity Source #

default jointOpacity :: forall (t :: Type -> Type) b. (Foldable t, AllAreOpaque b, t b ~ a) => a -> JointOpacity Source #

#### Instances

Instances details

AllAreOpaque IsOpaque Source # |
Instance details Defined in Agda.Syntax.Common Methods jointOpacity :: IsOpaque -> JointOpacity Source #
AllAreOpaque (DefInfo' t) Source # |
Instance details Defined in Agda.Syntax.Info Methods jointOpacity :: DefInfo' t -> JointOpacity Source #
AllAreOpaque a => AllAreOpaque (Maybe a) Source # |
Instance details Defined in Agda.Syntax.Common Methods jointOpacity :: Maybe a -> JointOpacity Source #
AllAreOpaque a => AllAreOpaque [a] Source # |
Instance details Defined in Agda.Syntax.Common Methods jointOpacity :: [a] -> JointOpacity 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

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 #
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 #

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 #
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 #
NFData a => NFData (MaybePlaceholder a) Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: MaybePlaceholder a -> () 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 #
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``.

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

Pretty FixityLevel Source # |
Instance details Defined in Agda.Syntax.Common Methods pretty :: FixityLevel -> Doc Source # prettyPrec :: Int -> FixityLevel -> Doc Source # prettyList :: [FixityLevel] -> Doc Source #
ToTerm FixityLevel Source # |
Instance details Defined in Agda.TypeChecking.Primitive Methods toTerm :: TCM (FixityLevel -> ReduceM Term) Source #
EmbPrj FixityLevel Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: FixityLevel -> S Word32 Source # icod_ :: FixityLevel -> S Word32 Source # value :: Word32 -> R FixityLevel Source #
Null FixityLevel Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: FixityLevel Source # null :: FixityLevel -> Bool Source #
NFData FixityLevel Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
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 #

noFixity :: Fixity Source #

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 #
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 #
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' -> ReduceM Term) Source #
EmbPrj Fixity' Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Fixity' -> S Word32 Source # icod_ :: Fixity' -> S Word32 Source # value :: Word32 -> R Fixity' Source #
Null Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Fixity' Source # null :: Fixity' -> Bool Source #
NFData Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
Eq Fixity' Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Fixity' -> Fixity' -> Bool Source # (/=) :: Fixity' -> Fixity' -> Bool Source #

noFixity' :: Fixity' Source #

noNotation :: Notation Source #

_fixityAssoc :: Lens' Fixity Associativity Source #

_fixityLevel :: Lens' Fixity FixityLevel Source #

class LensFixity a where Source #

Methods

lensFixity :: Lens' a Fixity Source #

#### Instances

Instances details

LensFixity Name Source # |
Instance details Defined in Agda.Syntax.Abstract.Name Methods lensFixity :: Lens' Name Fixity Source #
LensFixity QName Source # |
Instance details Defined in Agda.Syntax.Abstract.Name Methods lensFixity :: Lens' QName Fixity 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' NewNotation Fixity Source #
LensFixity AbstractName Source # |
Instance details Defined in Agda.Syntax.Scope.Base Methods lensFixity :: Lens' AbstractName Fixity Source #
LensFixity (ThingWithFixity a) Source # |
Instance details Defined in Agda.Syntax.Fixity Methods lensFixity :: Lens' (ThingWithFixity a) Fixity Source #

class LensFixity' a where Source #

Methods

lensFixity' :: Lens' a Fixity' Source #

#### Instances

Instances details

LensFixity' Name Source # |
Instance details Defined in Agda.Syntax.Abstract.Name Methods lensFixity' :: Lens' Name Fixity' Source #
LensFixity' QName Source # |
Instance details Defined in Agda.Syntax.Abstract.Name Methods lensFixity' :: Lens' QName Fixity' 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' (ThingWithFixity a) Fixity' 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.

mapUsing :: ([ImportedName' n1 m1] -> [ImportedName' n2 m2]) -> Using' n1 m1 -> Using' n2 m2 Source #

setImportedName :: ImportedName' a a -> a -> ImportedName' a a Source #

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 #
NFData PositivityCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |
Instance details Defined in Agda.Syntax.Common type Rep PositivityCheck = D1 ('MetaData "PositivityCheck" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesPositivityCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoPositivityCheck" 'PrefixI 'False) (U1 :: Type -> Type))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesPositivityCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoPositivityCheck" 'PrefixI 'False) (U1 :: Type -> Type))

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 #
NFData UniverseCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |
Instance details Defined in Agda.Syntax.Common type Rep UniverseCheck = D1 ('MetaData "UniverseCheck" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesUniverseCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoUniverseCheck" 'PrefixI 'False) (U1 :: Type -> Type))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesUniverseCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoUniverseCheck" 'PrefixI 'False) (U1 :: Type -> Type))

data Catchall Source #

`Range` of the CATCHALL pragma for a clause, if any. `Nothing` means no such pragma.

Constructors

YesCatchall Range |
NoCatchall |

#### Instances

Instances details

KillRange Catchall Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT Catchall Source #
EmbPrj Catchall Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: Catchall -> S Word32 Source # icod_ :: Catchall -> S Word32 Source # value :: Word32 -> R Catchall Source #
Null Catchall Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: Catchall Source # null :: Catchall -> Bool Source #
NFData Catchall Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: Catchall -> () Source #
Monoid Catchall Source # |
Instance details Defined in Agda.Syntax.Common Methods mempty :: Catchall Source # mappend :: Catchall -> Catchall -> Catchall Source # mconcat :: [Catchall] -> Catchall Source #
Semigroup Catchall Source # | Composition is left-biased, taking the left `Range` if both have one.
Instance details Defined in Agda.Syntax.Common Methods (<>) :: Catchall -> Catchall -> Catchall Source # sconcat :: NonEmpty Catchall -> Catchall Source # stimes :: Integral b => b -> Catchall -> Catchall Source #
Generic Catchall Source # |

Instance details

Defined in Agda.Syntax.Common

Associated Types

type Rep Catchall |
Instance details Defined in Agda.Syntax.Common type Rep Catchall = D1 ('MetaData "Catchall" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesCatchall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "NoCatchall" 'PrefixI 'False) (U1 :: Type -> Type))

Methods

from :: Catchall -> Rep Catchall x Source #

to :: Rep Catchall x -> Catchall Source #

Show Catchall Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> Catchall -> ShowS Source # show :: Catchall -> String Source # showList :: [Catchall] -> ShowS Source #
Eq Catchall Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: Catchall -> Catchall -> Bool Source # (/=) :: Catchall -> Catchall -> Bool Source #
type Rep Catchall Source # |
Instance details Defined in Agda.Syntax.Common type Rep Catchall = D1 ('MetaData "Catchall" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesCatchall" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Range)) :+: C1 ('MetaCons "NoCatchall" 'PrefixI 'False) (U1 :: Type -> Type))

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 #
NFData CoverageCheck Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 |
Instance details Defined in Agda.Syntax.Common type Rep CoverageCheck = D1 ('MetaData "CoverageCheck" "Agda.Syntax.Common" "Agda-2.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesCoverageCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoCoverageCheck" 'PrefixI 'False) (U1 :: Type -> Type))

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 #
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.8.0-DJrTbcOFazJDzri4fKrI2F" 'False) (C1 ('MetaCons "YesCoverageCheck" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "NoCoverageCheck" 'PrefixI 'False) (U1 :: Type -> Type))

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 Word32 Source # icod_ :: ExpandedEllipsis -> S Word32 Source # value :: Word32 -> R ExpandedEllipsis Source #
Null ExpandedEllipsis Source # |
Instance details Defined in Agda.Syntax.Common Methods empty :: ExpandedEllipsis Source # null :: ExpandedEllipsis -> Bool Source #
NFData ExpandedEllipsis Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: 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 #
Eq ExpandedEllipsis Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: ExpandedEllipsis -> ExpandedEllipsis -> Bool Source # (/=) :: ExpandedEllipsis -> ExpandedEllipsis -> Bool Source #

data NotationPart Source #

Notation parts.

Constructors

IdPart RString | An identifier part. For instance, for `_+_` the only identifier part is `+`.
HolePart Range (NamedArg (Ranged Int)) | A hole: a place where argument expressions can be written. For instance, for `_+_` the two underscores are holes, and for `syntax Σ A (λ x → B) = B , A , x` the variables `A` and `B` are holes. The number is the position of the hole, counting from zero. For instance, the number for `A` is `0`, and the number for `B` is `1`.
VarPart Range (Ranged BoundVariablePosition) | A bound variable. The first range is the range of the variable in the right-hand side of the syntax declaration, and the second range is the range of the variable in the left-hand side.
WildPart (Ranged BoundVariablePosition) | A wildcard (an underscore in binding position).

#### Instances

Instances details

Pretty NotationPart Source # |
Instance details Defined in Agda.Syntax.Concrete.Pretty Methods pretty :: NotationPart -> Doc Source # prettyPrec :: Int -> NotationPart -> Doc Source # prettyList :: [NotationPart] -> Doc Source #
HasRange NotationPart Source # |
Instance details Defined in Agda.Syntax.Common Methods getRange :: NotationPart -> Range Source #
KillRange NotationPart Source # |
Instance details Defined in Agda.Syntax.Common Methods killRange :: KillRangeT NotationPart Source #
SetRange NotationPart Source # |
Instance details Defined in Agda.Syntax.Common Methods setRange :: Range -> NotationPart -> NotationPart Source #
EmbPrj NotationPart Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: NotationPart -> S Word32 Source # icod_ :: NotationPart -> S Word32 Source # value :: Word32 -> R NotationPart Source #
NFData NotationPart Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: NotationPart -> () Source #
Show NotationPart Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> NotationPart -> ShowS Source # show :: NotationPart -> String Source # showList :: [NotationPart] -> ShowS Source #
Eq NotationPart Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: NotationPart -> NotationPart -> Bool Source # (/=) :: NotationPart -> NotationPart -> Bool Source #
Ord NotationPart Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: NotationPart -> NotationPart -> Ordering Source #

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

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

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

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

max :: NotationPart -> NotationPart -> NotationPart Source #

min :: NotationPart -> NotationPart -> NotationPart Source #

data BoundVariablePosition Source #

Positions of variables in syntax declarations.

Constructors

BoundVariablePosition |

Fields

- holeNumber :: !Int

  The position (in the left-hand side of the syntax declaration) of the hole in which the variable is bound, counting from zero (and excluding parts that are not holes). For instance, for `syntax Σ A (λ x → B) = B , A , x` the number for `x` is `1`, corresponding to `B` (`0` would correspond to `A`).

- varNumber :: !Int

  The position in the list of variables for this particular variable, counting from zero, and including wildcards. For instance, for `syntax F (λ x _ y → A) = y ! A ! x` the number for `x` is `0`, the number for `_` is `1`, and the number for `y` is `2`.

#### Instances

Instances details

EmbPrj BoundVariablePosition Source # |
Instance details Defined in Agda.TypeChecking.Serialise.Instances.Common Methods icode :: BoundVariablePosition -> S Word32 Source # icod_ :: BoundVariablePosition -> S Word32 Source # value :: Word32 -> R BoundVariablePosition Source #
NFData BoundVariablePosition Source # |
Instance details Defined in Agda.Syntax.Common Methods rnf :: BoundVariablePosition -> () Source #
Show BoundVariablePosition Source # |
Instance details Defined in Agda.Syntax.Common Methods showsPrec :: Int -> BoundVariablePosition -> ShowS Source # show :: BoundVariablePosition -> String Source # showList :: [BoundVariablePosition] -> ShowS Source #
Eq BoundVariablePosition Source # |
Instance details Defined in Agda.Syntax.Common Methods (==) :: BoundVariablePosition -> BoundVariablePosition -> Bool Source # (/=) :: BoundVariablePosition -> BoundVariablePosition -> Bool Source #
Ord BoundVariablePosition Source # |

Instance details

Defined in Agda.Syntax.Common

Methods

compare :: BoundVariablePosition -> BoundVariablePosition -> Ordering Source #

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

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

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

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

max :: BoundVariablePosition -> BoundVariablePosition -> BoundVariablePosition Source #

min :: BoundVariablePosition -> BoundVariablePosition -> BoundVariablePosition Source #

module Agda.Syntax.Common.KeywordRange

module Agda.Syntax.TopLevelModuleName.Boot

data Induction Source #

Constructors

Inductive |
CoInductive |

#### Instances

Instances details

PatternMatchingAllowed Induction Source # |
Instance details Defined in Agda.Syntax.Common Methods patternMatchingAllowed :: Induction -> Bool 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 #
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 Word32 Source # icod_ :: Induction -> S Word32 Source # value :: Word32 -> R Induction Source #
NFData Induction Source # |
Instance details Defined in Agda.Syntax.Common.Aspect Methods rnf :: Induction -> () Source #
Show Induction Source # |
Instance details Defined in Agda.Syntax.Common.Aspect Methods showsPrec :: Int -> Induction -> ShowS Source # show :: Induction -> String Source # showList :: [Induction] -> ShowS Source #
Eq Induction Source # |
Instance details Defined in Agda.Syntax.Common.Aspect Methods (==) :: Induction -> Induction -> Bool Source # (/=) :: Induction -> Induction -> Bool Source #
Ord Induction Source # |

Instance details

Defined in Agda.Syntax.Common.Aspect

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 #

# Orphan instances

Pretty Induction Source # |
Instance details Methods pretty :: Induction -> Doc Source # prettyPrec :: Int -> Induction -> Doc Source # prettyList :: [Induction] -> Doc Source #
HasRange Induction Source # |
Instance details Methods getRange :: Induction -> Range Source #
KillRange Induction Source # |
Instance details Methods killRange :: KillRangeT Induction Source #