A MessagePack implementation for scheme.
- pack PORT VALUEprocedure
This procedure will call primitive type packers, with the following rules:
- if the VALUE has a packer, apply it.
- if the VALUE is a string, it will be packed as str.
- if the VALUE is a blob, it will be packed as bin.
- if the VALUE is a char, it will be packed as a uint.
- if the VALUE is a list, it will be packed as an array.
- if the VALUE is a extension (see below), it will be packed as an ext
- pack-uint PORT VALUEprocedure
- pack-sint PORT VALUEprocedure
- pack-float PORT VALUEprocedure
- pack-double PORT VALUEprocedure
- pack-bin PORT BYTE-BLOBprocedure
- pack-str PORT STRINGprocedure
- pack-array PORT VECTORprocedure
- pack-map PORT HASH-TABLEprocedure
- pack-ext PORT EXTprocedure
- (unpack PORT [MAPPER identity])procedure
- extension type datarecord
- type: integer from 0 to 127
- data: a byte-blob
(make-extension 1 (string->byte-blob "hi"))