vessel-0.2.0.0: Functor-parametric containers

Safe HaskellNone
LanguageHaskell2010

Data.Vessel.Single

Synopsis

Documentation

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

A functor-indexed container for a single deletable item.

Constructors

SingleV 

Fields

Instances
View (SingleV a) Source # 
Instance details

Defined in Data.Vessel.Single

Methods

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

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

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

nullV :: SingleV a i -> Bool Source #

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

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

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

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

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

Selectable (SingleV a) () Source # 
Instance details

Defined in Data.Vessel.Single

Associated Types

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

Methods

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

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

Eq (g (First (Maybe a))) => Eq (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

Methods

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

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

Ord (g (First (Maybe a))) => Ord (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

Methods

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

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

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

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

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

max :: SingleV a g -> SingleV a g -> SingleV a g #

min :: SingleV a g -> SingleV a g -> SingleV a g #

Read (g (First (Maybe a))) => Read (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

Show (g (First (Maybe a))) => Show (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

Methods

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

show :: SingleV a g -> String #

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

Generic (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

Associated Types

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

Methods

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

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

Semigroup (g (First (Maybe a))) => Semigroup (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

Methods

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

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

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

Monoid (g (First (Maybe a))) => Monoid (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

Methods

mempty :: SingleV a g #

mappend :: SingleV a g -> SingleV a g -> SingleV a g #

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

ToJSON (g (First (Maybe a))) => ToJSON (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

FromJSON (g (First (Maybe a))) => FromJSON (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

Group (g (First (Maybe a))) => Group (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

Methods

negateG :: SingleV a g -> SingleV a g #

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

Additive (g (First (Maybe a))) => Additive (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

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

Defined in Data.Vessel.Single

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

Defined in Data.Vessel.Single

type Rep (SingleV a g) Source # 
Instance details

Defined in Data.Vessel.Single

type Rep (SingleV a g) = D1 (MetaData "SingleV" "Data.Vessel.Single" "vessel-0.2.0.0-inplace" True) (C1 (MetaCons "SingleV" PrefixI True) (S1 (MetaSel (Just "unSingleV") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (g (First (Maybe a))))))

handleSingleVSelector :: forall a f g m. Functor m => (forall x. x -> f x -> g x) -> m (First (Maybe a)) -> SingleV a f -> m (SingleV a g) Source #

A gadget to "traverse" over a SingleV

mapSingleV :: (f (First (Maybe a)) -> g (First (Maybe a))) -> SingleV a f -> SingleV a g Source #

Non-existentialized mapV; since the contained value is known