Copyright (c) Edward Kmett 2010-2015 BSD3 ekmett@gmail.com experimental GHC only Safe Haskell2010

Description

Synopsis

# Documentation

data Jet f a Source #

A Jet is a tower of all (higher order) partial derivatives of a function

At each step, a Jet f is wrapped in another layer worth of f.

a :- f a :- f (f a) :- f (f (f a)) :- ...

Constructors

 a :- (Jet f (f a)) infixl 3

Instances

 Functor f => Functor (Jet f) Source # Methodsfmap :: (a -> b) -> Jet f a -> Jet f b #(<\$) :: a -> Jet f b -> Jet f a # Foldable f => Foldable (Jet f) Source # Methodsfold :: Monoid m => Jet f m -> m #foldMap :: Monoid m => (a -> m) -> Jet f a -> m #foldr :: (a -> b -> b) -> b -> Jet f a -> b #foldr' :: (a -> b -> b) -> b -> Jet f a -> b #foldl :: (b -> a -> b) -> b -> Jet f a -> b #foldl' :: (b -> a -> b) -> b -> Jet f a -> b #foldr1 :: (a -> a -> a) -> Jet f a -> a #foldl1 :: (a -> a -> a) -> Jet f a -> a #toList :: Jet f a -> [a] #null :: Jet f a -> Bool #length :: Jet f a -> Int #elem :: Eq a => a -> Jet f a -> Bool #maximum :: Ord a => Jet f a -> a #minimum :: Ord a => Jet f a -> a #sum :: Num a => Jet f a -> a #product :: Num a => Jet f a -> a # Traversable f => Traversable (Jet f) Source # Methodstraverse :: Applicative f => (a -> f b) -> Jet f a -> f (Jet f b) #sequenceA :: Applicative f => Jet f (f a) -> f (Jet f a) #mapM :: Monad m => (a -> m b) -> Jet f a -> m (Jet f b) #sequence :: Monad m => Jet f (m a) -> m (Jet f a) # (Functor f, Show (f Showable), Show a) => Show (Jet f a) Source # MethodsshowsPrec :: Int -> Jet f a -> ShowS #show :: Jet f a -> String #showList :: [Jet f a] -> ShowS #

headJet :: Jet f a -> a Source #

Take the head of a Jet.

tailJet :: Jet f a -> Jet f (f a) Source #

Take the tail of a Jet.

jet :: Functor f => Cofree f a -> Jet f a Source #

Construct a Jet by unzipping the layers of a Cofree Comonad.