vessel-0.2.0.0: Functor-parametric containers

Safe HaskellNone
LanguageHaskell2010

Data.Vessel.Identity

Synopsis

Documentation

newtype IdentityV (a :: *) (g :: * -> *) Source #

A functor-indexed container corresponding to Identity. (i.e. a single non-deletable item)

Constructors

IdentityV 

Fields

Instances
View (IdentityV a) Source # 
Instance details

Defined in Data.Vessel.Identity

Methods

condenseV :: (Foldable t, Filterable t, Functor t) => t (IdentityV a g) -> IdentityV a (Compose t g) Source #

disperseV :: Align t => IdentityV a (Compose t g) -> t (IdentityV a g) Source #

cropV :: (forall a0. s a0 -> i a0 -> r a0) -> IdentityV a s -> IdentityV a i -> Maybe (IdentityV a r) Source #

nullV :: IdentityV a i -> Bool Source #

mapV :: (forall a0. f a0 -> g a0) -> IdentityV a f -> IdentityV a g Source #

traverseV :: Applicative m => (forall a0. f a0 -> m (g a0)) -> IdentityV a f -> m (IdentityV a g) Source #

mapMaybeV :: (forall a0. f a0 -> Maybe (g a0)) -> IdentityV a f -> Maybe (IdentityV a g) Source #

alignWithMaybeV :: (forall a0. These (f a0) (g a0) -> Maybe (h a0)) -> IdentityV a f -> IdentityV a g -> Maybe (IdentityV a h) Source #

alignWithV :: (forall a0. These (f a0) (g a0) -> h a0) -> IdentityV a f -> IdentityV a g -> IdentityV a h Source #

Selectable (IdentityV a) () Source # 
Instance details

Defined in Data.Vessel.Identity

Associated Types

type Selection (IdentityV a) () :: Type Source #

Methods

selector :: (forall a0. p a0) -> () -> IdentityV a p Source #

selection :: () -> IdentityV a Identity -> Selection (IdentityV a) () Source #

Eq (g a) => Eq (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

Methods

(==) :: IdentityV a g -> IdentityV a g -> Bool #

(/=) :: IdentityV a g -> IdentityV a g -> Bool #

Ord (g a) => Ord (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

Methods

compare :: IdentityV a g -> IdentityV a g -> Ordering #

(<) :: IdentityV a g -> IdentityV a g -> Bool #

(<=) :: IdentityV a g -> IdentityV a g -> Bool #

(>) :: IdentityV a g -> IdentityV a g -> Bool #

(>=) :: IdentityV a g -> IdentityV a g -> Bool #

max :: IdentityV a g -> IdentityV a g -> IdentityV a g #

min :: IdentityV a g -> IdentityV a g -> IdentityV a g #

Read (g a) => Read (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

Show (g a) => Show (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

Methods

showsPrec :: Int -> IdentityV a g -> ShowS #

show :: IdentityV a g -> String #

showList :: [IdentityV a g] -> ShowS #

Generic (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

Associated Types

type Rep (IdentityV a g) :: Type -> Type #

Methods

from :: IdentityV a g -> Rep (IdentityV a g) x #

to :: Rep (IdentityV a g) x -> IdentityV a g #

Semigroup (g a) => Semigroup (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

Methods

(<>) :: IdentityV a g -> IdentityV a g -> IdentityV a g #

sconcat :: NonEmpty (IdentityV a g) -> IdentityV a g #

stimes :: Integral b => b -> IdentityV a g -> IdentityV a g #

Monoid (g a) => Monoid (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

Methods

mempty :: IdentityV a g #

mappend :: IdentityV a g -> IdentityV a g -> IdentityV a g #

mconcat :: [IdentityV a g] -> IdentityV a g #

ToJSON (g a) => ToJSON (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

FromJSON (g a) => FromJSON (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

Group (g a) => Group (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

Methods

negateG :: IdentityV a g -> IdentityV a g #

(~~) :: IdentityV a g -> IdentityV a g -> IdentityV a g #

Semigroup (g a) => Additive (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

type Selection (IdentityV a) () Source # 
Instance details

Defined in Data.Vessel.Identity

type Selection (IdentityV a) () = a
type ViewQueryResult (IdentityV a (Const g :: Type -> Type) :: Type) Source # 
Instance details

Defined in Data.Vessel.Identity

type Rep (IdentityV a g) Source # 
Instance details

Defined in Data.Vessel.Identity

type Rep (IdentityV a g) = D1 (MetaData "IdentityV" "Data.Vessel.Identity" "vessel-0.2.0.0-inplace" True) (C1 (MetaCons "IdentityV" PrefixI True) (S1 (MetaSel (Just "unIdentityV") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (g a))))

handleIdentityVSelector :: forall a f g m. Functor m => (forall x. x -> f x -> g x) -> m a -> IdentityV a f -> m (IdentityV a g) Source #

A gadget to "traverse" over an IdentityV

mapIdentityV :: (f a -> g a) -> IdentityV a f -> IdentityV a g Source #

Non-existentialized map; since the contained value is known