Want to take your software engineering career to the next level? Join the mailing list for career tips & advice Click here

msgpack-smalltalk

MessagePack serialization library for various Smalltalk dialects / msgpack.org[Smalltalk]

Subscribe to updates I use msgpack-smalltalk


Statistics on msgpack-smalltalk

Number of watchers on Github 18
Number of open issues 0
Main language Smalltalk
Average time to merge a PR 1 day
Open pull requests 0+
Closed pull requests 0+
Last commit almost 2 years ago
Repo Created about 8 years ago
Repo Last Updated 4 months ago
Size 175 KB
Homepage http://msgpack.org/
Organization / Authormsgpack
Latest Releasev1.3.1
Contributors1
Page Updated
Do you use msgpack-smalltalk? Leave a review!
View msgpack-smalltalk activity
View on github
Book a Mock Interview With Me (Silicon Valley Engineering Leader, 100s of interviews conducted)
Software engineers: It's time to get promoted. Starting NOW! Subscribe to my mailing list and I will equip you with tools, tips and actionable advice to grow in your career.
Evaluating msgpack-smalltalk for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

msgpack-smalltalk

MessagePack serialization library for various Smalltalk dialects.

  • Squeak
  • Pharo
  • VisualWorks
  • VA Smalltalk
  • Dolphin Smalltalk
  • GNU Smalltalk (Beta)
  • Cuis

Sources are put as Cypress for the neutral accesses from various Smalltalk dialects.

How to use

Serialization

MpMessagePack pack: <your object>

or:

<your object> messagePacked

Deserialization

MpMessagePack unpack: msgpackBytes

or:

Object fromMessagePack: msgBytes

Samples

map := Dictionary new.
map at: 'someArray' asByteArray put: #(1 2.2 #[3 4 5]).
packed := map messagePacked.
(Object fromMessagePack: packed) inspect.
writeStream := WriteStream on: ByteArray new.
encoder := MpEncoder on: writeStream.
encoder nextPut: 1.
encoder nextPut: #(2 3).
dic := Dictionary new.
dic at: 4 put: 5.
encoder nextPut: dic.
encoder nextPut: 'four' asByteArray.
bytes := encoder contents.
readStream := ReadStream on: bytes.
decoder := MpDecoder on: readStream.
[decoder atEnd] whileFalse: [
        Transcript cr; show: decoder next printString
]

How to install

Please read HowToInstall.md.

Loading the latest development version

Squeak

Installer squeaksource
    project: 'MessagePack';
    install: 'ConfigurationOfMessagePack'. 
(Smalltalk at: #ConfigurationOfMessagePack) project development load

Pharo

Gofer it
    smalltalkhubUser: 'MasashiUmezawa' project: 'MessagePack';
    configuration;
    load.
(Smalltalk at: #ConfigurationOfMessagePack) project development load

You might need MpTypeMapper initializeAll on new encoder/decoder-related updates.

msgpack-smalltalk open issues Ask a question     (View All Issues)
  • almost 5 years Squeak 5.0 - 4 unit tests fail
  • over 5 years Pharo 4.0 String errors
  • over 5 years Gemstone port
msgpack-smalltalk list of languages used
msgpack-smalltalk latest release notes
  • Optimized zero-sized collection decoding
  • Timestamp (DateAndTime in Pharo) encoding/decoding support
  • Added: Ext type support
  • MpSettings>>formatVersion is set to use the latest MessagePack spec
  • Added: BoxFloat64 and SmallFloat64 encode mappings for Spur VM
  • Changed ConfigurationOfMessagePack to refer version 1.2.2 as #stable
  • Added catalog info to ConfigurationOfMessagePack
Other projects in Smalltalk
Powered by Autocode - Instant Webhooks, Scripts and APIs
Autocode logo wordmark