coda-0.0.1: The coda compiler

Safe HaskellNone
LanguageHaskell2010

Coda.Relative.Located

Synopsis

Documentation

data Located a Source #

Place a non-relative data type at a given position

Note: Located is not a RelativeMonoid as rel 1 mempty /= mempty

Constructors

Located !Delta a 

Instances

Monad Located Source # 

Methods

(>>=) :: Located a -> (a -> Located b) -> Located b #

(>>) :: Located a -> Located b -> Located b #

return :: a -> Located a #

fail :: String -> Located a #

Functor Located Source # 

Methods

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

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

Applicative Located Source # 

Methods

pure :: a -> Located a #

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

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

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

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

Foldable Located Source # 

Methods

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

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

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

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

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

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

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

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

toList :: Located a -> [a] #

null :: Located a -> Bool #

length :: Located a -> Int #

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

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

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

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

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

Traversable Located Source # 

Methods

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

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

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

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

Hashable1 Located Source # 

Methods

liftHashWithSalt :: (Int -> a -> Int) -> Int -> Located a -> Int #

Comonad Located Source # 

Methods

extract :: Located a -> a

duplicate :: Located a -> Located (Located a)

extend :: (Located a -> b) -> Located a -> Located b

MonadWriter Delta Located Source # 

Methods

writer :: (a, Delta) -> Located a #

tell :: Delta -> Located () #

listen :: Located a -> Located (a, Delta) #

pass :: Located (a, Delta -> Delta) -> Located a #

Eq a => Eq (Located a) Source # 

Methods

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

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

Data a => Data (Located a) Source # 

Methods

gfoldl :: (forall d b. Data d => c (d -> b) -> d -> c b) -> (forall g. g -> c g) -> Located a -> c (Located a) #

gunfold :: (forall b r. Data b => c (b -> r) -> c r) -> (forall r. r -> c r) -> Constr -> c (Located a) #

toConstr :: Located a -> Constr #

dataTypeOf :: Located a -> DataType #

dataCast1 :: Typeable (* -> *) t => (forall d. Data d => c (t d)) -> Maybe (c (Located a)) #

dataCast2 :: Typeable (* -> * -> *) t => (forall d e. (Data d, Data e) => c (t d e)) -> Maybe (c (Located a)) #

gmapT :: (forall b. Data b => b -> b) -> Located a -> Located a #

gmapQl :: (r -> r' -> r) -> r -> (forall d. Data d => d -> r') -> Located a -> r #

gmapQr :: (r' -> r -> r) -> r -> (forall d. Data d => d -> r') -> Located a -> r #

gmapQ :: (forall d. Data d => d -> u) -> Located a -> [u] #

gmapQi :: Int -> (forall d. Data d => d -> u) -> Located a -> u #

gmapM :: Monad m => (forall d. Data d => d -> m d) -> Located a -> m (Located a) #

gmapMp :: MonadPlus m => (forall d. Data d => d -> m d) -> Located a -> m (Located a) #

gmapMo :: MonadPlus m => (forall d. Data d => d -> m d) -> Located a -> m (Located a) #

Ord a => Ord (Located a) Source # 

Methods

compare :: Located a -> Located a -> Ordering #

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

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

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

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

max :: Located a -> Located a -> Located a #

min :: Located a -> Located a -> Located a #

Read a => Read (Located a) Source # 
Show a => Show (Located a) Source # 

Methods

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

show :: Located a -> String #

showList :: [Located a] -> ShowS #

Generic (Located a) Source # 

Associated Types

type Rep (Located a) :: * -> * #

Methods

from :: Located a -> Rep (Located a) x #

to :: Rep (Located a) x -> Located a #

Monoid a => Monoid (Located a) Source # 

Methods

mempty :: Located a #

mappend :: Located a -> Located a -> Located a #

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

Hashable a => Hashable (Located a) Source # 

Methods

hashWithSalt :: Int -> Located a -> Int #

hash :: Located a -> Int #

Default a => Default (Located a) Source # 

Methods

def :: Located a

Ord a => StrictRelativeOrder (Located a) Source # 
Ord a => RelativeOrder (Located a) Source # 
Relative (Located a) Source # 

Methods

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

OrderedMonoid a => OrderedMonoid (Located a) Source # 
type Rep (Located a) Source # 
type Rep (Located a) = D1 * (MetaData "Located" "Coda.Relative.Located" "coda-0.0.1-Lrfl9CggVgIC7W2mVql1dH" False) (C1 * (MetaCons "Located" PrefixI False) ((:*:) * (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 * Delta)) (S1 * (MetaSel (Nothing Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 * a))))