You are looking at historical revision 39572 of this page. It may differ significantly from its current revision.
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