unison-runtime-0.0.0
Safe HaskellSafe-Inferred
LanguageHaskell2010

Unison.Runtime.Serialize

Documentation

class Tag t where Source #

Methods

tag2word :: t -> Word8 Source #

word2tag :: PrimBase m => Word8 -> Get m t Source #

Instances

Instances details
Tag BLTag Source # 
Instance details

Defined in Unison.Runtime.ANF.Serialize.Tags

Methods

tag2word :: BLTag -> Word8 Source #

word2tag :: forall (m :: Type -> Type). PrimBase m => Word8 -> Get m BLTag Source #

Tag CoTag Source # 
Instance details

Defined in Unison.Runtime.ANF.Serialize.Tags

Methods

tag2word :: CoTag -> Word8 Source #

word2tag :: forall (m :: Type -> Type). PrimBase m => Word8 -> Get m CoTag Source #

Tag FnTag Source # 
Instance details

Defined in Unison.Runtime.ANF.Serialize.Tags

Methods

tag2word :: FnTag -> Word8 Source #

word2tag :: forall (m :: Type -> Type). PrimBase m => Word8 -> Get m FnTag Source #

Tag LtTag Source # 
Instance details

Defined in Unison.Runtime.ANF.Serialize.Tags

Methods

tag2word :: LtTag -> Word8 Source #

word2tag :: forall (m :: Type -> Type). PrimBase m => Word8 -> Get m LtTag Source #

Tag MtTag Source # 
Instance details

Defined in Unison.Runtime.ANF.Serialize.Tags

Methods

tag2word :: MtTag -> Word8 Source #

word2tag :: forall (m :: Type -> Type). PrimBase m => Word8 -> Get m MtTag Source #

Tag TmTag Source # 
Instance details

Defined in Unison.Runtime.ANF.Serialize.Tags

Methods

tag2word :: TmTag -> Word8 Source #

word2tag :: forall (m :: Type -> Type). PrimBase m => Word8 -> Get m TmTag Source #

Tag VaTag Source # 
Instance details

Defined in Unison.Runtime.ANF.Serialize.Tags

Methods

tag2word :: VaTag -> Word8 Source #

word2tag :: forall (m :: Type -> Type). PrimBase m => Word8 -> Get m VaTag Source #

Tag Prim1 Source # 
Instance details

Defined in Unison.Runtime.Serialize

Methods

tag2word :: Prim1 -> Word8 Source #

word2tag :: forall (m :: Type -> Type). PrimBase m => Word8 -> Get m Prim1 Source #

Tag Prim2 Source # 
Instance details

Defined in Unison.Runtime.Serialize

Methods

tag2word :: Prim2 -> Word8 Source #

word2tag :: forall (m :: Type -> Type). PrimBase m => Word8 -> Get m Prim2 Source #

putTag :: Tag t => t -> Builder Source #

getTag :: PrimBase m => Tag t => Get m t Source #

getPositive :: forall m n. (Bounded n, Integral n, PrimBase m) => Get m n Source #

putFoldable :: Foldable f => (a -> Builder) -> f a -> Builder Source #

putMap :: (a -> Builder) -> (b -> Builder) -> Map a b -> Builder Source #

getMap :: (PrimBase m, Ord a) => Get m a -> Get m b -> Get m (Map a b) Source #

putMapping :: (a -> Builder) -> (b -> Builder) -> [(a, b)] -> Builder Source #

getMapping :: PrimBase m => Get m a -> Get m b -> Get m [(a, b)] Source #

putEnumMap :: EnumKey k => (k -> Builder) -> (v -> Builder) -> EnumMap k v -> Builder Source #

getEnumMap :: PrimBase m => EnumKey k => Get m k -> Get m v -> Get m (EnumMap k v) Source #

getEnumSet :: PrimBase m => EnumKey k => Get m k -> Get m (EnumSet k) Source #

putMaybe :: Maybe a -> (a -> Builder) -> Builder Source #

getMaybe :: PrimBase m => Get m a -> Get m (Maybe a) Source #

putPair :: (a -> Builder) -> (b -> Builder) -> (a, b) -> Builder Source #

getPair :: PrimBase m => Get m a -> Get m b -> Get m (a, b) Source #

putArray :: (a -> Builder) -> Array a -> Builder Source #