zwirn-core-0.1.1.0: library for manipulating functions of time.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Zwirn.Core.Tree

Documentation

nth :: RealFrac r => r -> [a] -> a Source #

wrapAt :: RealFrac r => r -> [a] -> a Source #

frac :: Real r => r -> r Source #

data Tree a Source #

Constructors

Leaf a 
Branch [Tree a] 

Instances

Instances details
Applicative Tree Source # 
Instance details

Defined in Zwirn.Core.Tree

Methods

pure :: a -> Tree a #

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

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

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

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

Functor Tree Source # 
Instance details

Defined in Zwirn.Core.Tree

Methods

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

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

Monad Tree Source # 
Instance details

Defined in Zwirn.Core.Tree

Methods

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

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

return :: a -> Tree a #

HasSilence Tree Source # 
Instance details

Defined in Zwirn.Core.Cord

Methods

silence :: ZwirnT Tree st i a Source #

MultiApplicative Tree Source # 
Instance details

Defined in Zwirn.Core.Tree

Methods

liftA2Left :: (a -> b -> c) -> Tree a -> Tree b -> Tree c Source #

liftA2Right :: (a -> b -> c) -> Tree a -> Tree b -> Tree c Source #

liftA2Both :: (a -> b -> c) -> Tree a -> Tree b -> Tree c Source #

(*>) :: Tree (a -> b) -> Tree a -> Tree b Source #

(<*) :: Tree (a -> b) -> Tree a -> Tree b Source #

MultiMonad Tree Source # 
Instance details

Defined in Zwirn.Core.Tree

Methods

innerJoin :: Tree (Tree a) -> Tree a Source #

outerJoin :: Tree (Tree a) -> Tree a Source #

squeezeJoin :: Tree (Tree a) -> Tree a Source #

ToList Tree Source # 
Instance details

Defined in Zwirn.Core.Tree

Methods

toList :: Tree a -> [a] Source #

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

Defined in Zwirn.Core.Tree

Methods

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

show :: Tree a -> String #

showList :: [Tree a] -> ShowS #

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

Defined in Zwirn.Core.Tree

Methods

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

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

(!!!) :: (Num b, RealFrac b) => [a] -> b -> a Source #

fromList :: [a] -> Tree a Source #

look :: Int -> Tree a -> Tree a Source #

look' :: Int -> Tree a -> Tree a Source #

lookup :: [Int] -> Tree a -> Tree a Source #

concatMapTree :: (a -> Tree b) -> Tree a -> Tree b Source #

push :: Tree a -> Tree a -> Tree a Source #

pop :: Tree a -> Tree a Source #

insertT :: Int -> Tree a -> Tree a -> Tree a Source #

removeT :: Int -> Tree a -> Tree a Source #

lift2Both :: (a -> b -> c) -> [a] -> [b] -> [c] Source #

indexTree :: Tree a -> Tree ([(Int, Int)], a) Source #

reduce :: (Int, Int) -> Tree a -> [Tree a] Source #

reduceNested :: [(Int, Int)] -> Tree a -> Tree a Source #

Orphan instances

MultiApplicative List Source # 
Instance details

Methods

liftA2Left :: (a -> b -> c) -> [a] -> [b] -> [c] Source #

liftA2Right :: (a -> b -> c) -> [a] -> [b] -> [c] Source #

liftA2Both :: (a -> b -> c) -> [a] -> [b] -> [c] Source #

(*>) :: [a -> b] -> [a] -> [b] Source #

(<*) :: [a -> b] -> [a] -> [b] Source #

MultiMonad List Source # 
Instance details

Methods

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

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

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