Outdated egg!
This is an egg for CHICKEN 4, the unsupported old release. You're almost certainly looking for the CHICKEN 5 version of this egg, if it exists.
If it does not exist, there may be equivalent functionality provided by another egg; have a look at the egg index. Otherwise, please consider porting this egg to the current version of CHICKEN.
msgpack
Author
Hugo Arregui
Requirements
Description
A MessagePack implementation for scheme.
API
Pack
[procedure] (pack PORT VALUE)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
[procedure] (pack-sint PORT VALUE)
[procedure] (pack-float PORT VALUE)
[procedure] (pack-double PORT VALUE)
[procedure] (pack-bin PORT BYTE-BLOB)
[procedure] (pack-str PORT STRING)
[procedure] (pack-array PORT VECTOR)
[procedure] (pack-map PORT HASH-TABLE)
[procedure] (pack-ext PORT EXT)
Unpack
[procedure] (unpack PORT [MAPPER identity])Extension
Definition:
[record] (extension type data)- type: integer from 0 to 127
- data: a byte-blob
Example:
(make-extension 1 (string->byte-blob "hi"))
License
BSD