sml-pickle [](https://github.com/diku-dk/sml-pickle/actions)
January 14, 2021 ยท View on GitHub
Standard ML package for serialising and deserialising data structures.
Overview of MLB files
-
lib/github.com/diku-dk/sml-random/pickle.mlb:
Use Bitstream to generate the most concise pickles and Bytestream
for the fastest implementation. The Pickle structure is the result
of applying the Pickle functor to the Bytestream structure.
Use of the package
This library is set up to work well with the SML package manager smlpkg. To use the package, in the root of your project directory, execute the command:
$ smlpkg add github.com/diku-dk/sml-pickle
This command will add a requirement (a line) to the sml.pkg file in your
project directory (and create the file, if there is no file sml.pkg
already).
To download the library into the directory
lib/github.com/diku-dk/sml-pickle, execute the command:
$ smlpkg sync
You can now reference the mlb-file using relative paths from within
your project's mlb-files.
Notice that you can choose either to treat the downloaded package as
part of your own project sources (vendoring) or you can add the
sml.pkg file to your project sources and make the smlpkg sync
command part of your build process.
Implementation details
The implementation is based on the paper:
- Martin Elsman. Type-Specialized Serialization with Sharing. In Sixth Symposium on Trends in Functional Programming (TFP โ05). Tallinn, Estonia. September 2005. pdf.