fresnel-0.1.0.0: high-powered optics in a small package
Safe HaskellSafe-Inferred
LanguageHaskell2010

Fresnel.Semigroup.Fork1

Synopsis

Non-empty binary trees

newtype Fork1 a Source #

Constructors

Fork1 

Fields

  • runFork1 :: forall r. (r -> r -> r) -> (a -> r) -> r
     

Instances

Instances details
Foldable1 Fork1 Source # 
Instance details

Defined in Fresnel.Semigroup.Fork1

Methods

fold1 :: Semigroup m => Fork1 m -> m #

foldMap1 :: Semigroup m => (a -> m) -> Fork1 a -> m #

foldMap1' :: Semigroup m => (a -> m) -> Fork1 a -> m #

toNonEmpty :: Fork1 a -> NonEmpty a #

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

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

head :: Fork1 a -> a #

last :: Fork1 a -> a #

foldrMap1 :: (a -> b) -> (a -> b -> b) -> Fork1 a -> b #

foldlMap1' :: (a -> b) -> (b -> a -> b) -> Fork1 a -> b #

foldlMap1 :: (a -> b) -> (b -> a -> b) -> Fork1 a -> b #

foldrMap1' :: (a -> b) -> (a -> b -> b) -> Fork1 a -> b #

Applicative Fork1 Source # 
Instance details

Defined in Fresnel.Semigroup.Fork1

Methods

pure :: a -> Fork1 a #

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

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

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

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

Functor Fork1 Source # 
Instance details

Defined in Fresnel.Semigroup.Fork1

Methods

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

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

Foldable Fork1 Source # 
Instance details

Defined in Fresnel.Semigroup.Fork1

Methods

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

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

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

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

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

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

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

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

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

toList :: Fork1 a -> [a] #

null :: Fork1 a -> Bool #

length :: Fork1 a -> Int #

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

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

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

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

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

Traversable Fork1 Source # 
Instance details

Defined in Fresnel.Semigroup.Fork1

Methods

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

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

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

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

Alt Fork1 Source # 
Instance details

Defined in Fresnel.Semigroup.Fork1

Methods

(<!>) :: Fork1 a -> Fork1 a -> Fork1 a #

some :: Applicative Fork1 => Fork1 a -> Fork1 [a] #

many :: Applicative Fork1 => Fork1 a -> Fork1 [a] #

Apply Fork1 Source # 
Instance details

Defined in Fresnel.Semigroup.Fork1

Methods

(<.>) :: Fork1 (a -> b) -> Fork1 a -> Fork1 b #

(.>) :: Fork1 a -> Fork1 b -> Fork1 b #

(<.) :: Fork1 a -> Fork1 b -> Fork1 a #

liftF2 :: (a -> b -> c) -> Fork1 a -> Fork1 b -> Fork1 c #

Semigroup (Fork1 a) Source # 
Instance details

Defined in Fresnel.Semigroup.Fork1

Methods

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

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

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

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

Defined in Fresnel.Semigroup.Fork1

Methods

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

show :: Fork1 a -> String #

showList :: [Fork1 a] -> ShowS #

Construction