plutus-core-1.54.0.0: Language library for Plutus Core
Safe HaskellSafe-Inferred
LanguageHaskell2010

PlutusCore.Flat.Encoder.Prim

Description

Encoding Primitives

Synopsis

Documentation

eBits16FNumBitsWord16Prim Source #

Encode up to 9 bits

eBitsFNumBitsWord8Prim Source #

Encode up to 8 bits.

eUTF16FTextPrim Source #

Encode text as UTF16 and encode the result as an array of bytes

eUTF8FTextPrim Source #

Encode text as UTF8 and encode the result as an array of bytes

eLazyBytesFByteStringPrim Source #

Encode a Lazy ByteString

eFillerFPrim Source #

>>> enc $ eTrueF >=> eFillerF
"10000001"
>>> enc eFillerF
"00000001"

eTrueFPrim Source #

>>> enc eTrueF
"1"

eFalseFPrim Source #

>>> enc eFalseF
"0"

varWordF ∷ (Bits t, Integral t) ⇒ t → Prim Source #

updateWord8Word8SPrim Source #

>>> enc $ \s-> eWord8F 0 s >>= updateWord8 255 s
"11111111"
>>> enc $ \s0 -> eTrueF s0 >>= \s1 -> eWord8F 255 s1 >>= eWord8F 255 >>= updateWord8 0 s1
"10000000 01111111 1"
>>> enc $ \s0 -> eFalseF s0 >>= \s1 -> eWord8F 0 s1 >>= updateWord8 255 s1
"01111111 1"
>>> enc $ \s0 -> eFalseF s0 >>= \s1 -> eWord8F 0 s1 >>= updateWord8 255 s1 >>= eFalseF
"01111111 10"
>>> enc $ \s0 -> eTrueF s0 >>= \s1 -> eWord8F 255 s1 >>= eTrueF >>= updateWord8 0 s1 >>= eTrueF
"10000000 011"

Since: 0.5

w7l ∷ (Bits t, Integral t) ⇒ t → [Word8] Source #

Exported for testing only