HORIZON HASKELLDocslts/ghc-10.0.x8fef28d2026-11-02Search packagesCtrl K
Theme: |

GHC 10.0.0.20260917 · lts/ghc-10.0.x · 8fef28d · 2026-11-02

Modulebytesmith-0.3.14.0Haskell2010

Data.Bytes.Parser.Leb128

Parse numbers that have been encoded with LEB-128. LEB-128 allows arbitrarily large numbers to be encoded. Parsers in this module will fail if the number they attempt to parse is outside the range of what their target type can handle. The parsers for signed numbers assume that the numbers have been zigzig encoded.

Contents
  1. Unsigned
  2. Signed (Zig-zag)
Synopsis

Unsigned

valueword16 :: e -> Parser e s Word16

Parse a LEB-128-encoded number. If the number is larger than 0xFFFF, fails with the provided error.

valueword32 :: e -> Parser e s Word32

Parse a LEB-128-encoded number. If the number is larger than 0xFFFFFFFF, fails with the provided error.

valueword64 :: e -> Parser e s Word64

Parse a LEB-128-encoded number. If the number is larger than 0xFFFFFFFFFFFFFFFF, fails with the provided error.

Signed (Zig-zag)

valueint16 :: e -> Parser e s Int16

Parse a LEB-128-zigzag-encoded signed number. If the encoded number is outside the range [-32768,32767], this fails with the provided error.

valueint32 :: e -> Parser e s Int32

Parse a LEB-128-zigzag-encoded signed number. If the encoded number is outside the range [-2147483648,2147483647], this fails with the provided error.

valueint64 :: e -> Parser e s Int64

Parse a LEB-128-zigzag-encoded signed number. If the encoded number is outside the range [-9223372036854775808,9223372036854775807], this fails with the provided error.