bifunctors-5.5.11: Bifunctors

Copyright | (C) 2008-2016 Edward Kmett
License | BSD-style (see the file LICENSE)
Maintainer | Edward Kmett <ekmett@gmail.com>
Stability | provisional
Portability | non-portable
Safe Haskell | Safe
Language | Haskell2010

Data.Bifunctor.Fix

Description

Synopsis

- newtype Fix p a = In {
  - out :: p (Fix p a) a
  }

# Documentation

newtype Fix p a #

Greatest fixpoint of a `Bifunctor` (a `Functor` over the first argument with zipping).

Constructors

In |
Fields out :: p (Fix p a) a

#### Instances

Instances details

Bifunctor p => Functor (Fix p) # |
Instance details Defined in Data.Bifunctor.Fix Methods fmap :: (a -> b) -> Fix p a -> Fix p b # (<$) :: a -> Fix p b -> Fix p a #
Biapplicative p => Applicative (Fix p) # |
Instance details Defined in Data.Bifunctor.Fix Methods pure :: a -> Fix p a # (<*>) :: Fix p (a -> b) -> Fix p a -> Fix p b # liftA2 :: (a -> b -> c) -> Fix p a -> Fix p b -> Fix p c # (*>) :: Fix p a -> Fix p b -> Fix p b # (<*) :: Fix p a -> Fix p b -> Fix p a #
Bifoldable p => Foldable (Fix p) # |
Instance details Defined in Data.Bifunctor.Fix Methods fold :: Monoid m => Fix p m -> m # foldMap :: Monoid m => (a -> m) -> Fix p a -> m # foldMap' :: Monoid m => (a -> m) -> Fix p a -> m # foldr :: (a -> b -> b) -> b -> Fix p a -> b # foldr' :: (a -> b -> b) -> b -> Fix p a -> b # foldl :: (b -> a -> b) -> b -> Fix p a -> b # foldl' :: (b -> a -> b) -> b -> Fix p a -> b # foldr1 :: (a -> a -> a) -> Fix p a -> a # foldl1 :: (a -> a -> a) -> Fix p a -> a # toList :: Fix p a -> [a] # null :: Fix p a -> Bool # length :: Fix p a -> Int # elem :: Eq a => a -> Fix p a -> Bool # maximum :: Ord a => Fix p a -> a # minimum :: Ord a => Fix p a -> a # sum :: Num a => Fix p a -> a # product :: Num a => Fix p a -> a #
Bitraversable p => Traversable (Fix p) # |
Instance details Defined in Data.Bifunctor.Fix Methods traverse :: Applicative f => (a -> f b) -> Fix p a -> f (Fix p b) # sequenceA :: Applicative f => Fix p (f a) -> f (Fix p a) # mapM :: Monad m => (a -> m b) -> Fix p a -> m (Fix p b) # sequence :: Monad m => Fix p (m a) -> m (Fix p a) #
Eq2 p => Eq1 (Fix p) # |
Instance details Defined in Data.Bifunctor.Fix Methods liftEq :: (a -> b -> Bool) -> Fix p a -> Fix p b -> Bool #
Ord2 p => Ord1 (Fix p) # |
Instance details Defined in Data.Bifunctor.Fix Methods liftCompare :: (a -> b -> Ordering) -> Fix p a -> Fix p b -> Ordering #
Read2 p => Read1 (Fix p) # |
Instance details Defined in Data.Bifunctor.Fix Methods liftReadsPrec :: (Int -> ReadS a) -> ReadS [a] -> Int -> ReadS (Fix p a) # liftReadList :: (Int -> ReadS a) -> ReadS [a] -> ReadS [Fix p a] # liftReadPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec (Fix p a) # liftReadListPrec :: ReadPrec a -> ReadPrec [a] -> ReadPrec [Fix p a] #
Show2 p => Show1 (Fix p) # |
Instance details Defined in Data.Bifunctor.Fix Methods liftShowsPrec :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> Int -> Fix p a -> ShowS # liftShowList :: (Int -> a -> ShowS) -> ([a] -> ShowS) -> [Fix p a] -> ShowS #
Eq (p (Fix p a) a) => Eq (Fix p a) # |
Instance details Defined in Data.Bifunctor.Fix Methods (==) :: Fix p a -> Fix p a -> Bool # (/=) :: Fix p a -> Fix p a -> Bool #
Ord (p (Fix p a) a) => Ord (Fix p a) # |
Instance details Defined in Data.Bifunctor.Fix Methods compare :: Fix p a -> Fix p a -> Ordering # (<) :: Fix p a -> Fix p a -> Bool # (<=) :: Fix p a -> Fix p a -> Bool # (>) :: Fix p a -> Fix p a -> Bool # (>=) :: Fix p a -> Fix p a -> Bool # max :: Fix p a -> Fix p a -> Fix p a # min :: Fix p a -> Fix p a -> Fix p a #
Read (p (Fix p a) a) => Read (Fix p a) # |
Instance details Defined in Data.Bifunctor.Fix Methods readsPrec :: Int -> ReadS (Fix p a) # readList :: ReadS [Fix p a] # readPrec :: ReadPrec (Fix p a) # readListPrec :: ReadPrec [Fix p a] #
Show (p (Fix p a) a) => Show (Fix p a) # |
Instance details Defined in Data.Bifunctor.Fix Methods showsPrec :: Int -> Fix p a -> ShowS # show :: Fix p a -> String # showList :: [Fix p a] -> ShowS #
Generic (Fix p a) # |
Instance details Defined in Data.Bifunctor.Fix Associated Types type Rep (Fix p a) :: Type -> Type # Methods from :: Fix p a -> Rep (Fix p a) x # to :: Rep (Fix p a) x -> Fix p a #
type Rep (Fix p a) # |
Instance details Defined in Data.Bifunctor.Fix type Rep (Fix p a) = D1 ('MetaData "Fix" "Data.Bifunctor.Fix" "bifunctors-5.5.11-ECwXiHGlwoVFiPjfFR4yVo" 'True) (C1 ('MetaCons "In" 'PrefixI 'True) (S1 ('MetaSel ('Just "out") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (p (Fix p a) a))))