unison-syntax-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Syntax.NameSegment

Description

Utilities related to the parsing and printing of name segments using the default syntax.

Synopsis

String conversions

toEscapedText :: NameSegment -> Text Source #

Convert a name segment to escaped text, for display purposes.

toEscapedText (unsafeFromText ".~") = "`.~`"

parseText :: Text -> Either Text NameSegment Source #

Parse text as a name segment.

parseText "foo" = Right (NameSegment "foo")
parseText ".~" = Left ...
parseText "`.~`" = Right (NameSegment ".~")

unsafeParseText :: Text -> NameSegment Source #

Parse text as a name segment.

Name segment parsers

Name segment classifiers

data ParseErr Source #

Instances

Instances details
Eq ParseErr Source # 
Instance details

Defined in Unison.Syntax.NameSegment

Ord ParseErr Source # 
Instance details

Defined in Unison.Syntax.NameSegment

symbolyP :: ParsecT (Token Text) [Char] m NameSegment Source #

A symboly name segment parser, which consists only of symboly characters.

A symboly name segment can optionally be escaped by surrounding it with backticks, which expands the list of allowed symbols to include these three: . ( )

Throws the parsed name segment as an error if it's unescaped and reserved, e.g. "=".

wordyP :: ParsecT (Token Text) [Char] m NameSegment Source #

A wordy name segment parser, which consists only of wordy characters.

Throws the parsed name segment as an error if it's an unescaped keyword, e.g. "match".

Character classifiers