unison-syntax-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Syntax.Lexer

Description

This currently contains a mix of general lexing utilities and identifier-y lexers.

Synopsis

Documentation

data Token a Source #

Constructors

Token 

Fields

Instances

Instances details
Foldable Token Source # 
Instance details

Defined in Unison.Syntax.Lexer.Token

Methods

fold :: Monoid m => Token m -> m #

foldMap :: Monoid m => (a -> m) -> Token a -> m #

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

foldr :: (a -> b -> b) -> b -> Token a -> b #

foldr' :: (a -> b -> b) -> b -> Token a -> b #

foldl :: (b -> a -> b) -> b -> Token a -> b #

foldl' :: (b -> a -> b) -> b -> Token a -> b #

foldr1 :: (a -> a -> a) -> Token a -> a #

foldl1 :: (a -> a -> a) -> Token a -> a #

toList :: Token a -> [a] #

null :: Token a -> Bool #

length :: Token a -> Int #

elem :: Eq a => a -> Token a -> Bool #

maximum :: Ord a => Token a -> a #

minimum :: Ord a => Token a -> a #

sum :: Num a => Token a -> a #

product :: Num a => Token a -> a #

Traversable Token Source # 
Instance details

Defined in Unison.Syntax.Lexer.Token

Methods

traverse :: Applicative f => (a -> f b) -> Token a -> f (Token b) #

sequenceA :: Applicative f => Token (f a) -> f (Token a) #

mapM :: Monad m => (a -> m b) -> Token a -> m (Token b) #

sequence :: Monad m => Token (m a) -> m (Token a) #

Applicative Token Source # 
Instance details

Defined in Unison.Syntax.Lexer.Token

Methods

pure :: a -> Token a #

(<*>) :: Token (a -> b) -> Token a -> Token b #

liftA2 :: (a -> b -> c) -> Token a -> Token b -> Token c #

(*>) :: Token a -> Token b -> Token b #

(<*) :: Token a -> Token b -> Token a #

Functor Token Source # 
Instance details

Defined in Unison.Syntax.Lexer.Token

Methods

fmap :: (a -> b) -> Token a -> Token b #

(<$) :: a -> Token b -> Token a #

Show a => Show (Token a) Source # 
Instance details

Defined in Unison.Syntax.Lexer.Token

Methods

showsPrec :: Int -> Token a -> ShowS #

show :: Token a -> String #

showList :: [Token a] -> ShowS #

Eq a => Eq (Token a) Source # 
Instance details

Defined in Unison.Syntax.Lexer.Token

Methods

(==) :: Token a -> Token a -> Bool #

(/=) :: Token a -> Token a -> Bool #

Ord a => Ord (Token a) Source # 
Instance details

Defined in Unison.Syntax.Lexer.Token

Methods

compare :: Token a -> Token a -> Ordering #

(<) :: Token a -> Token a -> Bool #

(<=) :: Token a -> Token a -> Bool #

(>) :: Token a -> Token a -> Bool #

(>=) :: Token a -> Token a -> Bool #

max :: Token a -> Token a -> Token a #

min :: Token a -> Token a -> Token a #

ShowErrorComponent (Token Text) Source # 
Instance details

Defined in Unison.Syntax.Lexer.Token

ShowErrorComponent (Token Err) Source # 
Instance details

Defined in Unison.Syntax.Lexer.Unison

VisualStream [Token Lexeme] Source # 
Instance details

Defined in Unison.Syntax.Lexer.Unison

Annotated (Token a) Source # 
Instance details

Defined in Unison.Syntax.Lexer.Token

Methods

ann :: Token a -> Ann Source #

type Line = Int Source #

data Pos Source #

Constructors

Pos 

Fields

Instances

Instances details
Monoid Pos Source # 
Instance details

Defined in Unison.Lexer.Pos

Methods

mempty :: Pos #

mappend :: Pos -> Pos -> Pos #

mconcat :: [Pos] -> Pos #

Semigroup Pos Source # 
Instance details

Defined in Unison.Lexer.Pos

Methods

(<>) :: Pos -> Pos -> Pos #

sconcat :: NonEmpty Pos -> Pos #

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

Show Pos Source # 
Instance details

Defined in Unison.Lexer.Pos

Methods

showsPrec :: Int -> Pos -> ShowS #

show :: Pos -> String #

showList :: [Pos] -> ShowS #

Eq Pos Source # 
Instance details

Defined in Unison.Lexer.Pos

Methods

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

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

Ord Pos Source # 
Instance details

Defined in Unison.Lexer.Pos

Methods

compare :: Pos -> Pos -> Ordering #

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

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

(>) :: Pos -> Pos -> Bool #

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

max :: Pos -> Pos -> Pos #

min :: Pos -> Pos -> Pos #

Character classifiers

other utils

local :: (MonadParsec e s' m, MonadState s m) => (s -> s) -> m a -> m a Source #

commitAfter2 :: MonadParsec e s m => m a -> m b -> (a -> b -> m c) -> m c Source #

(<+>) :: (Applicative f, Monoid a) => f a -> f a -> f a infixl 2 Source #

some' :: MonadParsec e s m => m a -> m (NonEmpty a) Source #

Like some, but returns an actual NonEmpty.

someTill' :: MonadParsec e s m => m a -> m end -> m (NonEmpty a) Source #

Like someTill, but returns an actual NonEmpty.

sepBy1' :: MonadParsec e s m => m a -> m sep -> m (NonEmpty a) Source #

Like sepBy1, but returns an actual NonEmpty.

separated :: MonadParsec e s m => (Token s -> Bool) -> m a -> m a Source #

pop :: [a] -> [a] Source #

typeOrAbilityAlt :: Alternative f => (Text -> f a) -> f a Source #