MessagePack implementation for Standard ML (SML)
- Portable: Depends only on the required components of the SML Basis Library specification.
- Composable: Composable combinators for encoding and decoding.
Include mlmsgpack.mlb in your MLB file.
From the interactive shell, use .sml files in the following order.
- mlmsgpack-aux.sml
- realprinter-default.sml
- mlmsgpack.sml
Use mlmsgpack.cm.
From the interactive shell, use .sml files in the following order.
- large.sml
- mlmsgpack-aux.sml
- realprinter-fail.sml
- mlmsgpack.sml
Makefile.mosml is also provided.
From the interactive shell, use .sml files in the following order.
- mlmsgpack-aux.sml
- realprinter-fail.sml
- mlmsgpack.sml
Makefile.alice is provided.
make -f Makefile.alice
alicerun mlmsgpack-test
For separate compilation, .smi files are provided. Require mlmsgpack.smi from your .smi file.
From the interactive shell, use .sml files in the following order.
- mlmsgpack-aux.sml
- realprinter-default.sml
- mlmsgpack.sml
See TUTORIAL.md.
Our recommendation is MLton, MLKit, Poly/ML and SML#(>=2.0.0) as all tests passed on them. SML/NJ and Moscow ML are fine if you don't use real values.
Packing real values fail or produces imprecise results in some cases.
Packing real values is not supported, since some components of the SML Basis Library are not provided.
Packing real values is not supported, since some components of the SML Basis Library are not provided. Some functions are very slow, although they work properly. (We tested HaMLet compiled with MLton.)
Packing real values is not supported, since some components of the SML Basis Library are not provided. Also, some unit tests fail.
Most functions do not work properly because of bugs of SML# prior to version 2.0.0.
There already exists another MessagePack implemenatation for SML, called MsgPack-SML, which is targeted for MLton.
https://msgpacksml.codeplex.com/
ML-MessagePack is written from scratch and not a fork of MsgPack-SML.
For information on MessagePack, see: