unison-syntax-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Syntax.Parser.Doc.Data

Description

Haskell parallel to unison/base.Doc.

These types have two significant parameters: ident and code that are expected to be parameterized by some representation of identifiers and source code of the host language.

This is much more restricted than unison/base.Doc, but it covers everything we can parse from Haskell. The mismatch with Unison is a problem, as someone can create a Unison Doc with explicit constructors or function calls, have it rendered to a scratch file, and then we can’t parse it. Changing the types here to match Unison wouldn’t fix the issue. We have to modify the types and parser in concert (in both Haskell and Unison) to bring them in line.

Synopsis

Documentation

newtype UntitledSection a Source #

Constructors

UntitledSection [a] 

Instances

Instances details
Foldable UntitledSection Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

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

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

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

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

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

toList :: UntitledSection a -> [a] #

null :: UntitledSection a -> Bool #

length :: UntitledSection a -> Int #

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

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

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

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

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

Traversable UntitledSection Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

Functor UntitledSection Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

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

Defined in Unison.Syntax.Parser.Doc.Data

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

Defined in Unison.Syntax.Parser.Doc.Data

newtype Paragraph a Source #

Constructors

Paragraph (NonEmpty a) 

Instances

Instances details
Foldable Paragraph Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

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

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

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

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

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

toList :: Paragraph a -> [a] #

null :: Paragraph a -> Bool #

length :: Paragraph a -> Int #

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

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

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

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

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

Eq1 Paragraph Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq :: (a -> b -> Bool) -> Paragraph a -> Paragraph b -> Bool #

Ord1 Paragraph Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare :: (a -> b -> Ordering) -> Paragraph a -> Paragraph b -> Ordering #

Show1 Paragraph Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Paragraph a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Paragraph a] -> ShowS #

Traversable Paragraph Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

Functor Paragraph Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

data List a Source #

Instances

Instances details
Foldable List Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

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

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

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

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

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

toList :: List a -> [a] #

null :: List a -> Bool #

length :: List a -> Int #

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

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

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

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

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

Eq1 List Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq :: (a -> b -> Bool) -> List a -> List b -> Bool #

Ord1 List Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare :: (a -> b -> Ordering) -> List a -> List b -> Ordering #

Show1 List Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> List a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [List a] -> ShowS #

Traversable List Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

Functor List Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

show :: List a -> String #

showList :: [List a] -> ShowS #

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

compare :: List a -> List a -> Ordering #

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

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

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

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

max :: List a -> List a -> List a #

min :: List a -> List a -> List a #

data Column a Source #

Constructors

Column (Paragraph a) (Maybe (List a)) 

Instances

Instances details
Foldable Column Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

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

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

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

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

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

toList :: Column a -> [a] #

null :: Column a -> Bool #

length :: Column a -> Int #

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

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

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

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

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

Eq1 Column Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq :: (a -> b -> Bool) -> Column a -> Column b -> Bool #

Ord1 Column Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare :: (a -> b -> Ordering) -> Column a -> Column b -> Ordering #

Show1 Column Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Column a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Column a] -> ShowS #

Traversable Column Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

Functor Column Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

show :: Column a -> String #

showList :: [Column a] -> ShowS #

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

compare :: Column a -> Column a -> Ordering #

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

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

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

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

max :: Column a -> Column a -> Column a #

min :: Column a -> Column a -> Column a #

data Top code leaf a Source #

Constructors

Section (Paragraph leaf) [a] 
Eval code 
ExampleBlock code 
CodeBlock String String 
List' (List leaf) 
Paragraph' (Paragraph leaf) 

Instances

Instances details
Bifoldable (Top code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

bifold :: Monoid m => Top code m m -> m #

bifoldMap :: Monoid m => (a -> m) -> (b -> m) -> Top code a b -> m #

bifoldr :: (a -> c -> c) -> (b -> c -> c) -> c -> Top code a b -> c #

bifoldl :: (c -> a -> c) -> (c -> b -> c) -> c -> Top code a b -> c #

Bifunctor (Top code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

bimap :: (a -> b) -> (c -> d) -> Top code a c -> Top code b d #

first :: (a -> b) -> Top code a c -> Top code b c #

second :: (b -> c) -> Top code a b -> Top code a c #

Bitraversable (Top code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

bitraverse :: Applicative f => (a -> f c) -> (b -> f d) -> Top code a b -> f (Top code c d) #

Eq code => Eq2 (Top code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Top code a c -> Top code b d -> Bool #

Ord code => Ord2 (Top code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Top code a c -> Top code b d -> Ordering #

Show code => Show2 (Top code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> Top code a b -> ShowS #

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [Top code a b] -> ShowS #

Foldable (Top code leaf) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

fold :: Monoid m => Top code leaf m -> m #

foldMap :: Monoid m => (a -> m) -> Top code leaf a -> m #

foldMap' :: Monoid m => (a -> m) -> Top code leaf a -> m #

foldr :: (a -> b -> b) -> b -> Top code leaf a -> b #

foldr' :: (a -> b -> b) -> b -> Top code leaf a -> b #

foldl :: (b -> a -> b) -> b -> Top code leaf a -> b #

foldl' :: (b -> a -> b) -> b -> Top code leaf a -> b #

foldr1 :: (a -> a -> a) -> Top code leaf a -> a #

foldl1 :: (a -> a -> a) -> Top code leaf a -> a #

toList :: Top code leaf a -> [a] #

null :: Top code leaf a -> Bool #

length :: Top code leaf a -> Int #

elem :: Eq a => a -> Top code leaf a -> Bool #

maximum :: Ord a => Top code leaf a -> a #

minimum :: Ord a => Top code leaf a -> a #

sum :: Num a => Top code leaf a -> a #

product :: Num a => Top code leaf a -> a #

(Eq code, Eq leaf) => Eq1 (Top code leaf) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq :: (a -> b -> Bool) -> Top code leaf a -> Top code leaf b -> Bool #

(Ord code, Ord leaf) => Ord1 (Top code leaf) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare :: (a -> b -> Ordering) -> Top code leaf a -> Top code leaf b -> Ordering #

(Show code, Show leaf) => Show1 (Top code leaf) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Top code leaf a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Top code leaf a] -> ShowS #

Traversable (Top code leaf) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

traverse :: Applicative f => (a -> f b) -> Top code leaf a -> f (Top code leaf b) #

sequenceA :: Applicative f => Top code leaf (f a) -> f (Top code leaf a) #

mapM :: Monad m => (a -> m b) -> Top code leaf a -> m (Top code leaf b) #

sequence :: Monad m => Top code leaf (m a) -> m (Top code leaf a) #

Functor (Top code leaf) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

fmap :: (a -> b) -> Top code leaf a -> Top code leaf b #

(<$) :: a -> Top code leaf b -> Top code leaf a #

(Show leaf, Show a, Show code) => Show (Top code leaf a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

showsPrec :: Int -> Top code leaf a -> ShowS #

show :: Top code leaf a -> String #

showList :: [Top code leaf a] -> ShowS #

(Eq leaf, Eq a, Eq code) => Eq (Top code leaf a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

(==) :: Top code leaf a -> Top code leaf a -> Bool #

(/=) :: Top code leaf a -> Top code leaf a -> Bool #

(Ord leaf, Ord a, Ord code) => Ord (Top code leaf a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

compare :: Top code leaf a -> Top code leaf a -> Ordering #

(<) :: Top code leaf a -> Top code leaf a -> Bool #

(<=) :: Top code leaf a -> Top code leaf a -> Bool #

(>) :: Top code leaf a -> Top code leaf a -> Bool #

(>=) :: Top code leaf a -> Top code leaf a -> Bool #

max :: Top code leaf a -> Top code leaf a -> Top code leaf a #

min :: Top code leaf a -> Top code leaf a -> Top code leaf a #

data EmbedLink a Source #

This is a deviation from the Unison Doc data model – in Unison, Doc distinguishes between type and term links, but here Doc knows nothing about what namespaces may exist.

Constructors

EmbedLink a 

Instances

newtype Transclude a Source #

Constructors

Transclude a 

Instances

Instances details
Foldable Transclude Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

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

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

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

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

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

toList :: Transclude a -> [a] #

null :: Transclude a -> Bool #

length :: Transclude a -> Int #

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

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

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

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

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

Eq1 Transclude Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq :: (a -> b -> Bool) -> Transclude a -> Transclude b -> Bool #

Ord1 Transclude Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare :: (a -> b -> Ordering) -> Transclude a -> Transclude b -> Ordering #

Show1 Transclude Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Transclude a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Transclude a] -> ShowS #

Traversable Transclude Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

Functor Transclude Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

newtype EmbedAnnotation ident a Source #

Constructors

EmbedAnnotation (Either ident a) 

Instances

Instances details
Eq2 EmbedAnnotation Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> EmbedAnnotation a c -> EmbedAnnotation b d -> Bool #

Ord2 EmbedAnnotation Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> EmbedAnnotation a c -> EmbedAnnotation b d -> Ordering #

Show2 EmbedAnnotation Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> EmbedAnnotation a b -> ShowS #

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [EmbedAnnotation a b] -> ShowS #

Foldable (EmbedAnnotation ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

fold :: Monoid m => EmbedAnnotation ident m -> m #

foldMap :: Monoid m => (a -> m) -> EmbedAnnotation ident a -> m #

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

foldr :: (a -> b -> b) -> b -> EmbedAnnotation ident a -> b #

foldr' :: (a -> b -> b) -> b -> EmbedAnnotation ident a -> b #

foldl :: (b -> a -> b) -> b -> EmbedAnnotation ident a -> b #

foldl' :: (b -> a -> b) -> b -> EmbedAnnotation ident a -> b #

foldr1 :: (a -> a -> a) -> EmbedAnnotation ident a -> a #

foldl1 :: (a -> a -> a) -> EmbedAnnotation ident a -> a #

toList :: EmbedAnnotation ident a -> [a] #

null :: EmbedAnnotation ident a -> Bool #

length :: EmbedAnnotation ident a -> Int #

elem :: Eq a => a -> EmbedAnnotation ident a -> Bool #

maximum :: Ord a => EmbedAnnotation ident a -> a #

minimum :: Ord a => EmbedAnnotation ident a -> a #

sum :: Num a => EmbedAnnotation ident a -> a #

product :: Num a => EmbedAnnotation ident a -> a #

Eq ident => Eq1 (EmbedAnnotation ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq :: (a -> b -> Bool) -> EmbedAnnotation ident a -> EmbedAnnotation ident b -> Bool #

Ord ident => Ord1 (EmbedAnnotation ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare :: (a -> b -> Ordering) -> EmbedAnnotation ident a -> EmbedAnnotation ident b -> Ordering #

Show ident => Show1 (EmbedAnnotation ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> EmbedAnnotation ident a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [EmbedAnnotation ident a] -> ShowS #

Traversable (EmbedAnnotation ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

sequenceA :: Applicative f => EmbedAnnotation ident (f a) -> f (EmbedAnnotation ident a) #

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

sequence :: Monad m => EmbedAnnotation ident (m a) -> m (EmbedAnnotation ident a) #

Functor (EmbedAnnotation ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

fmap :: (a -> b) -> EmbedAnnotation ident a -> EmbedAnnotation ident b #

(<$) :: a -> EmbedAnnotation ident b -> EmbedAnnotation ident a #

(Show ident, Show a) => Show (EmbedAnnotation ident a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

showsPrec :: Int -> EmbedAnnotation ident a -> ShowS #

show :: EmbedAnnotation ident a -> String #

showList :: [EmbedAnnotation ident a] -> ShowS #

(Eq ident, Eq a) => Eq (EmbedAnnotation ident a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

(==) :: EmbedAnnotation ident a -> EmbedAnnotation ident a -> Bool #

(/=) :: EmbedAnnotation ident a -> EmbedAnnotation ident a -> Bool #

(Ord ident, Ord a) => Ord (EmbedAnnotation ident a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

compare :: EmbedAnnotation ident a -> EmbedAnnotation ident a -> Ordering #

(<) :: EmbedAnnotation ident a -> EmbedAnnotation ident a -> Bool #

(<=) :: EmbedAnnotation ident a -> EmbedAnnotation ident a -> Bool #

(>) :: EmbedAnnotation ident a -> EmbedAnnotation ident a -> Bool #

(>=) :: EmbedAnnotation ident a -> EmbedAnnotation ident a -> Bool #

max :: EmbedAnnotation ident a -> EmbedAnnotation ident a -> EmbedAnnotation ident a #

min :: EmbedAnnotation ident a -> EmbedAnnotation ident a -> EmbedAnnotation ident a #

data SourceElement ident a Source #

Constructors

SourceElement (EmbedLink ident) [EmbedAnnotation ident a] 

Instances

Instances details
Eq2 SourceElement Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> SourceElement a c -> SourceElement b d -> Bool #

Ord2 SourceElement Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> SourceElement a c -> SourceElement b d -> Ordering #

Show2 SourceElement Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> SourceElement a b -> ShowS #

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [SourceElement a b] -> ShowS #

Foldable (SourceElement ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

fold :: Monoid m => SourceElement ident m -> m #

foldMap :: Monoid m => (a -> m) -> SourceElement ident a -> m #

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

foldr :: (a -> b -> b) -> b -> SourceElement ident a -> b #

foldr' :: (a -> b -> b) -> b -> SourceElement ident a -> b #

foldl :: (b -> a -> b) -> b -> SourceElement ident a -> b #

foldl' :: (b -> a -> b) -> b -> SourceElement ident a -> b #

foldr1 :: (a -> a -> a) -> SourceElement ident a -> a #

foldl1 :: (a -> a -> a) -> SourceElement ident a -> a #

toList :: SourceElement ident a -> [a] #

null :: SourceElement ident a -> Bool #

length :: SourceElement ident a -> Int #

elem :: Eq a => a -> SourceElement ident a -> Bool #

maximum :: Ord a => SourceElement ident a -> a #

minimum :: Ord a => SourceElement ident a -> a #

sum :: Num a => SourceElement ident a -> a #

product :: Num a => SourceElement ident a -> a #

Eq ident => Eq1 (SourceElement ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq :: (a -> b -> Bool) -> SourceElement ident a -> SourceElement ident b -> Bool #

Ord ident => Ord1 (SourceElement ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare :: (a -> b -> Ordering) -> SourceElement ident a -> SourceElement ident b -> Ordering #

Show ident => Show1 (SourceElement ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> SourceElement ident a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [SourceElement ident a] -> ShowS #

Traversable (SourceElement ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

sequenceA :: Applicative f => SourceElement ident (f a) -> f (SourceElement ident a) #

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

sequence :: Monad m => SourceElement ident (m a) -> m (SourceElement ident a) #

Functor (SourceElement ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

fmap :: (a -> b) -> SourceElement ident a -> SourceElement ident b #

(<$) :: a -> SourceElement ident b -> SourceElement ident a #

(Show ident, Show a) => Show (SourceElement ident a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

showsPrec :: Int -> SourceElement ident a -> ShowS #

show :: SourceElement ident a -> String #

showList :: [SourceElement ident a] -> ShowS #

(Eq ident, Eq a) => Eq (SourceElement ident a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

(==) :: SourceElement ident a -> SourceElement ident a -> Bool #

(/=) :: SourceElement ident a -> SourceElement ident a -> Bool #

(Ord ident, Ord a) => Ord (SourceElement ident a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

compare :: SourceElement ident a -> SourceElement ident a -> Ordering #

(<) :: SourceElement ident a -> SourceElement ident a -> Bool #

(<=) :: SourceElement ident a -> SourceElement ident a -> Bool #

(>) :: SourceElement ident a -> SourceElement ident a -> Bool #

(>=) :: SourceElement ident a -> SourceElement ident a -> Bool #

max :: SourceElement ident a -> SourceElement ident a -> SourceElement ident a #

min :: SourceElement ident a -> SourceElement ident a -> SourceElement ident a #

newtype EmbedSignatureLink a Source #

Constructors

EmbedSignatureLink a 

Instances

newtype Word Source #

Constructors

Word String 

Instances

Instances details
Show Word Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

showsPrec :: Int -> Word -> ShowS #

show :: Word -> String #

showList :: [Word] -> ShowS #

Eq Word Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

Ord Word Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

compare :: Word -> Word -> Ordering #

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

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

(>) :: Word -> Word -> Bool #

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

max :: Word -> Word -> Word #

min :: Word -> Word -> Word #

newtype Join a Source #

Constructors

Join (NonEmpty a) 

Instances

Instances details
Foldable Join Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

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

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

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

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

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

toList :: Join a -> [a] #

null :: Join a -> Bool #

length :: Join a -> Int #

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

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

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

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

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

Eq1 Join Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq :: (a -> b -> Bool) -> Join a -> Join b -> Bool #

Ord1 Join Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare :: (a -> b -> Ordering) -> Join a -> Join b -> Ordering #

Show1 Join Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Join a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Join a] -> ShowS #

Traversable Join Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

Functor Join Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

show :: Join a -> String #

showList :: [Join a] -> ShowS #

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

compare :: Join a -> Join a -> Ordering #

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

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

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

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

max :: Join a -> Join a -> Join a #

min :: Join a -> Join a -> Join a #

newtype Group a Source #

Constructors

Group (Join a) 

Instances

Instances details
Foldable Group Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

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

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

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

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

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

toList :: Group a -> [a] #

null :: Group a -> Bool #

length :: Group a -> Int #

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

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

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

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

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

Eq1 Group Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq :: (a -> b -> Bool) -> Group a -> Group b -> Bool #

Ord1 Group Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare :: (a -> b -> Ordering) -> Group a -> Group b -> Ordering #

Show1 Group Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Group a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Group a] -> ShowS #

Traversable Group Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

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

Functor Group Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

show :: Group a -> String #

showList :: [Group a] -> ShowS #

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

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

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

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

Defined in Unison.Syntax.Parser.Doc.Data

Methods

compare :: Group a -> Group a -> Ordering #

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

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

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

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

max :: Group a -> Group a -> Group a #

min :: Group a -> Group a -> Group a #

data Leaf ident code a Source #

Constructors

Link (EmbedLink ident) 
NamedLink (Paragraph a) (Group a)

the Group always contains either a single Term/Type link or list of Transcludes & Words

Example code 
Transclude' (Transclude code) 
Bold (Paragraph a) 
Italic (Paragraph a) 
Strikethrough (Paragraph a) 
Verbatim Word 
Code Word 
Source (NonEmpty (SourceElement ident (Transclude code))) 
FoldedSource (NonEmpty (SourceElement ident (Transclude code))) 
EvalInline code 
Signature (NonEmpty (EmbedSignatureLink ident)) 
SignatureInline (EmbedSignatureLink ident) 
Word' Word 
Group' (Group a) 

Instances

Instances details
Bifunctor (Leaf ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

bimap :: (a -> b) -> (c -> d) -> Leaf ident a c -> Leaf ident b d #

first :: (a -> b) -> Leaf ident a c -> Leaf ident b c #

second :: (b -> c) -> Leaf ident a b -> Leaf ident a c #

Eq ident => Eq2 (Leaf ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq2 :: (a -> b -> Bool) -> (c -> d -> Bool) -> Leaf ident a c -> Leaf ident b d -> Bool #

Ord ident => Ord2 (Leaf ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare2 :: (a -> b -> Ordering) -> (c -> d -> Ordering) -> Leaf ident a c -> Leaf ident b d -> Ordering #

Show ident => Show2 (Leaf ident) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> Int -> Leaf ident a b -> ShowS #

liftShowList2 :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> (Int -> b -> ShowS) -> ([b] -> ShowS) -> [Leaf ident a b] -> ShowS #

Foldable (Leaf ident code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

fold :: Monoid m => Leaf ident code m -> m #

foldMap :: Monoid m => (a -> m) -> Leaf ident code a -> m #

foldMap' :: Monoid m => (a -> m) -> Leaf ident code a -> m #

foldr :: (a -> b -> b) -> b -> Leaf ident code a -> b #

foldr' :: (a -> b -> b) -> b -> Leaf ident code a -> b #

foldl :: (b -> a -> b) -> b -> Leaf ident code a -> b #

foldl' :: (b -> a -> b) -> b -> Leaf ident code a -> b #

foldr1 :: (a -> a -> a) -> Leaf ident code a -> a #

foldl1 :: (a -> a -> a) -> Leaf ident code a -> a #

toList :: Leaf ident code a -> [a] #

null :: Leaf ident code a -> Bool #

length :: Leaf ident code a -> Int #

elem :: Eq a => a -> Leaf ident code a -> Bool #

maximum :: Ord a => Leaf ident code a -> a #

minimum :: Ord a => Leaf ident code a -> a #

sum :: Num a => Leaf ident code a -> a #

product :: Num a => Leaf ident code a -> a #

(Eq ident, Eq code) => Eq1 (Leaf ident code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftEq :: (a -> b -> Bool) -> Leaf ident code a -> Leaf ident code b -> Bool #

(Ord ident, Ord code) => Ord1 (Leaf ident code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftCompare :: (a -> b -> Ordering) -> Leaf ident code a -> Leaf ident code b -> Ordering #

(Show ident, Show code) => Show1 (Leaf ident code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Leaf ident code a -> ShowS #

liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Leaf ident code a] -> ShowS #

Traversable (Leaf ident code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

traverse :: Applicative f => (a -> f b) -> Leaf ident code a -> f (Leaf ident code b) #

sequenceA :: Applicative f => Leaf ident code (f a) -> f (Leaf ident code a) #

mapM :: Monad m => (a -> m b) -> Leaf ident code a -> m (Leaf ident code b) #

sequence :: Monad m => Leaf ident code (m a) -> m (Leaf ident code a) #

Functor (Leaf ident code) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

fmap :: (a -> b) -> Leaf ident code a -> Leaf ident code b #

(<$) :: a -> Leaf ident code b -> Leaf ident code a #

(Show ident, Show a, Show code) => Show (Leaf ident code a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

showsPrec :: Int -> Leaf ident code a -> ShowS #

show :: Leaf ident code a -> String #

showList :: [Leaf ident code a] -> ShowS #

(Eq ident, Eq a, Eq code) => Eq (Leaf ident code a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

(==) :: Leaf ident code a -> Leaf ident code a -> Bool #

(/=) :: Leaf ident code a -> Leaf ident code a -> Bool #

(Ord ident, Ord a, Ord code) => Ord (Leaf ident code a) Source # 
Instance details

Defined in Unison.Syntax.Parser.Doc.Data

Methods

compare :: Leaf ident code a -> Leaf ident code a -> Ordering #

(<) :: Leaf ident code a -> Leaf ident code a -> Bool #

(<=) :: Leaf ident code a -> Leaf ident code a -> Bool #

(>) :: Leaf ident code a -> Leaf ident code a -> Bool #

(>=) :: Leaf ident code a -> Leaf ident code a -> Bool #

max :: Leaf ident code a -> Leaf ident code a -> Leaf ident code a #

min :: Leaf ident code a -> Leaf ident code a -> Leaf ident code a #