packed-data-0.1.0.3
Safe HaskellNone
LanguageHaskell2010

Data.Packed.Instances

Description

This module provides instances of Packable and Unpackable for basic types like List and Maybe

Documentation

caseList :: forall (r :: [Type]) b a. PackedReader ('[] :: [Type]) r b -> PackedReader '[a, [a]] r b -> PackedReader '[[a]] r b Source #

start9193 :: forall a (r :: [Type]) (t :: [Type]). NeedsBuilder ([a] ': r) t r t Source #

writeCon9193 :: forall a (r :: [Type]) (t :: [Type]). NeedsWriter [a] r t Source #

start58 :: forall a (r :: [Type]) (t :: [Type]). NeedsBuilder ([a] ': r) t (a ': ([a] ': r)) t Source #

writeCon58 :: forall a (r :: [Type]) (t :: [Type]). Packable a => a -> [a] -> NeedsWriter [a] r t Source #

writeList :: forall a (r :: [Type]) (t :: [Type]). Packable a => [a] -> NeedsWriter [a] r t Source #

readList :: forall a (r :: [Type]). Unpackable a => PackedReader '[[a]] r [a] Source #

pack58 :: Packable a => a -> [a] -> Packed '[[a]] Source #

repack9193 :: Needs ('[] :: [Type]) '[[a]] Source #

repack58 :: Needs ('[] :: [Type]) '[a] -> Needs ('[] :: [Type]) '[[a]] -> Needs ('[] :: [Type]) '[[a]] Source #

skipList :: forall a (r :: [Type]). Skippable a => PackedReader '[[a]] r () Source #

transformList :: forall a (r :: [Type]). PackedReader '[a, [a]] r (NeedsBuilder '[a, [a]] '[[a]] ('[] :: [Type]) '[[a]]) -> PackedReader '[[a]] r (Needs ('[] :: [Type]) '[[a]]) Source #

caseMaybe :: forall (r :: [Type]) b a. PackedReader ('[] :: [Type]) r b -> PackedReader '[a] r b -> PackedReader '[Maybe a] r b Source #

startNothing :: forall a (r :: [Type]) (t :: [Type]). NeedsBuilder (Maybe a ': r) t r t Source #

writeConNothing :: forall a (r :: [Type]) (t :: [Type]). NeedsWriter (Maybe a) r t Source #

startJust :: forall a (r :: [Type]) (t :: [Type]). NeedsBuilder (Maybe a ': r) t (a ': r) t Source #

writeConJust :: forall a (r :: [Type]) (t :: [Type]). Packable a => a -> NeedsWriter (Maybe a) r t Source #

writeMaybe :: forall a (r :: [Type]) (t :: [Type]). Packable a => Maybe a -> NeedsWriter (Maybe a) r t Source #

readMaybe :: forall a (r :: [Type]). Unpackable a => PackedReader '[Maybe a] r (Maybe a) Source #

packJust :: Packable a => a -> Packed '[Maybe a] Source #

repackNothing :: Needs ('[] :: [Type]) '[Maybe a] Source #

repackJust :: Needs ('[] :: [Type]) '[a] -> Needs ('[] :: [Type]) '[Maybe a] Source #

skipMaybe :: forall a (r :: [Type]). Skippable a => PackedReader '[Maybe a] r () Source #

transformMaybe :: forall a (r :: [Type]). PackedReader '[a] r (NeedsBuilder '[a] '[Maybe a] ('[] :: [Type]) '[Maybe a]) -> PackedReader '[Maybe a] r (Needs ('[] :: [Type]) '[Maybe a]) Source #

caseEither :: forall a (r :: [Type]) b1 b2. PackedReader '[a] r b1 -> PackedReader '[b2] r b1 -> PackedReader '[Either a b2] r b1 Source #

startLeft :: forall a b (r :: [Type]) (t :: [Type]). NeedsBuilder (Either a b ': r) t (a ': r) t Source #

writeConLeft :: forall a b (r :: [Type]) (t :: [Type]). Packable a => a -> NeedsWriter (Either a b) r t Source #

startRight :: forall a b (r :: [Type]) (t :: [Type]). NeedsBuilder (Either a b ': r) t (b ': r) t Source #

writeConRight :: forall b a (r :: [Type]) (t :: [Type]). Packable b => b -> NeedsWriter (Either a b) r t Source #

writeEither :: forall a b (r :: [Type]) (t :: [Type]). (Packable a, Packable b) => Either a b -> NeedsWriter (Either a b) r t Source #

readEither :: forall a b (r :: [Type]). (Unpackable a, Unpackable b) => PackedReader '[Either a b] r (Either a b) Source #

packLeft :: (Packable a, Packable b) => a -> Packed '[Either a b] Source #

packRight :: (Packable a, Packable b) => b -> Packed '[Either a b] Source #

repackLeft :: Needs ('[] :: [Type]) '[a] -> Needs ('[] :: [Type]) '[Either a b] Source #

repackRight :: Needs ('[] :: [Type]) '[b] -> Needs ('[] :: [Type]) '[Either a b] Source #

skipEither :: forall a b (r :: [Type]). (Skippable a, Skippable b) => PackedReader '[Either a b] r () Source #

transformEither :: forall a (r :: [Type]) b. PackedReader '[a] r (NeedsBuilder '[a] '[Either a b] ('[] :: [Type]) '[Either a b]) -> PackedReader '[b] r (NeedsBuilder '[b] '[Either a b] ('[] :: [Type]) '[Either a b]) -> PackedReader '[Either a b] r (Needs ('[] :: [Type]) '[Either a b]) Source #

Orphan instances

Packable a => Packable (Maybe a) Source # 
Instance details

Methods

write :: forall (r :: [Type]) (t :: [Type]). Maybe a -> NeedsWriter (Maybe a) r t Source #

Packable a => Packable [a] Source # 
Instance details

Methods

write :: forall (r :: [Type]) (t :: [Type]). [a] -> NeedsWriter [a] r t Source #

Skippable a => Skippable (Maybe a) Source # 
Instance details

Methods

skip :: forall (r :: [Type]). PackedReader '[Maybe a] r () Source #

Skippable a => Skippable [a] Source # 
Instance details

Methods

skip :: forall (r :: [Type]). PackedReader '[[a]] r () Source #

Unpackable a => Unpackable (Maybe a) Source # 
Instance details

Methods

reader :: forall (r :: [Type]). PackedReader '[Maybe a] r (Maybe a) Source #

Unpackable a => Unpackable [a] Source # 
Instance details

Methods

reader :: forall (r :: [Type]). PackedReader '[[a]] r [a] Source #

(Packable a, Packable b) => Packable (Either a b) Source # 
Instance details

Methods

write :: forall (r :: [Type]) (t :: [Type]). Either a b -> NeedsWriter (Either a b) r t Source #

(Skippable a, Skippable b) => Skippable (Either a b) Source # 
Instance details

Methods

skip :: forall (r :: [Type]). PackedReader '[Either a b] r () Source #

(Unpackable a, Unpackable b) => Unpackable (Either a b) Source # 
Instance details

Methods

reader :: forall (r :: [Type]). PackedReader '[Either a b] r (Either a b) Source #