coda-0.0.1: The coda compiler

Safe HaskellNone
LanguageHaskell2010

Coda.Relative.List

Synopsis

Documentation

data List a Source #

A list with an O(1) rel, cons and uncons, but O(n) (<>)

Constructors

List !Delta [a] 

Instances

Relative a => IsList (List a) Source # 

Associated Types

type Item (List a) :: * #

Methods

fromList :: [Item (List a)] -> List a #

fromListN :: Int -> [Item (List a)] -> List a #

toList :: List a -> [Item (List a)] #

(Eq a, Relative a) => Eq (List a) Source # 

Methods

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

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

(Ord a, Relative a) => Ord (List a) Source # 

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 #

(Read a, Relative a) => Read (List a) Source # 
(Show a, Relative a) => Show (List a) Source # 

Methods

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

show :: List a -> String #

showList :: [List a] -> ShowS #

Relative a => Semigroup (List a) Source # 

Methods

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

sconcat :: NonEmpty (List a) -> List a #

stimes :: Integral b => b -> List a -> List a #

Relative a => Monoid (List a) Source # 

Methods

mempty :: List a #

mappend :: List a -> List a -> List a #

mconcat :: [List a] -> List a #

AsEmpty (List a) Source # 

Methods

_Empty :: Prism' (List a) ()

Default (List a) Source # 

Methods

def :: List a

StrictRelativeOrder a => StrictRelativeOrder (List a) Source # 
RelativeOrder a => RelativeOrder (List a) Source # 
Relative a => RelativeMonoid (List a) Source # 
Relative (List a) Source # 

Methods

rel :: Delta -> List a -> List a Source #

(Relative a, Relative b) => Cons (List a) (List b) a b Source # 

Methods

_Cons :: Prism (List a) (List b) (a, List a) (b, List b)

type Item (List a) Source # 
type Item (List a) = a

pattern Cons :: Relative a => a -> List a -> List a Source #