unison-syntax-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Parser.Ann

Synopsis

Documentation

data Ann Source #

Constructors

Intrinsic 
External 
GeneratedFrom Ann 
Ann 

Fields

Instances

Instances details
Monoid Ann Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

mempty :: Ann #

mappend :: Ann -> Ann -> Ann #

mconcat :: [Ann] -> Ann #

Semigroup Ann Source #

This instance is commutative.

Instance details

Defined in Unison.Parser.Ann

Methods

(<>) :: Ann -> Ann -> Ann #

sconcat :: NonEmpty Ann -> Ann #

stimes :: Integral b => b -> Ann -> Ann #

Show Ann Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

showsPrec :: Int -> Ann -> ShowS #

show :: Ann -> String #

showList :: [Ann] -> ShowS #

Eq Ann Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

(==) :: Ann -> Ann -> Bool #

(/=) :: Ann -> Ann -> Bool #

Ord Ann Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

compare :: Ann -> Ann -> Ordering #

(<) :: Ann -> Ann -> Bool #

(<=) :: Ann -> Ann -> Bool #

(>) :: Ann -> Ann -> Bool #

(>=) :: Ann -> Ann -> Bool #

max :: Ann -> Ann -> Ann #

min :: Ann -> Ann -> Ann #

Annotated Ann Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

ann :: Ann -> Ann Source #

contains :: Ann -> Pos -> Bool Source #

Checks whether an annotation contains a given position i.e. pos ∈ [start, end)

>>> Intrinsic `contains` L.Pos 1 1
False
>>> External `contains` L.Pos 1 1
False
>>> Ann (L.Pos 0 0) (L.Pos 0 10) `contains` L.Pos 0 5
True
>>> Ann (L.Pos 0 0) (L.Pos 0 10) `contains` L.Pos 0 10
False

encompasses :: Ann -> Ann -> Maybe Bool Source #

Checks whether an annotation contains another annotation.

i.e. pos ∈ [start, end)

>>> Intrinsic `encompasses` Ann (L.Pos 1 1) (L.Pos 2 1)
Nothing
>>> External `encompasses` Ann (L.Pos 1 1) (L.Pos 2 1)
Nothing
>>> Ann (L.Pos 0 0) (L.Pos 0 10) `encompasses` Ann (L.Pos 0 1) (L.Pos 0 5)
Just True
>>> Ann (L.Pos 1 0) (L.Pos 1 10) `encompasses` Ann (L.Pos 0 0) (L.Pos 2 0)
Just False

class Annotated a where Source #

Methods

ann :: a -> Ann Source #

Instances

Instances details
Annotated Void Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

ann :: Void -> Ann Source #

Annotated Ann Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

ann :: Ann -> Ann Source #

Annotated a => Annotated (NonEmpty a) Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

ann :: NonEmpty a -> Ann Source #

Annotated a => Annotated (Pattern a) Source # 
Instance details

Defined in Unison.Syntax.Parser

Methods

ann :: Pattern a -> Ann Source #

Annotated (Token a) Source # 
Instance details

Defined in Unison.Syntax.Lexer.Token

Methods

ann :: Token a -> Ann Source #

Annotated a => Annotated (Maybe a) Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

ann :: Maybe a -> Ann Source #

Annotated a => Annotated [a] Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

ann :: [a] -> Ann Source #

Annotated a => Annotated (Cofree f a) Source # 
Instance details

Defined in Unison.Parser.Ann

Methods

ann :: Cofree f a -> Ann Source #

(Annotated a, Annotated b) => Annotated (MatchCase a b) Source # 
Instance details

Defined in Unison.Syntax.Parser

Methods

ann :: MatchCase a b -> Ann Source #

Annotated a => Annotated (Term f v a) Source # 
Instance details

Defined in Unison.Syntax.Parser

Methods

ann :: Term f v a -> Ann Source #