Skip to content
Lisp library for binary data structures (pre-alpha)
Common Lisp
Find file
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
src
tests
README.org
binary-data.asd
binary-data.lisp
package.lisp
tasks.org

README.org

Common lisp library for describing binary formats of all varieties. This library uses the MetaObject Protocol vie the portability library Closer MOP.

Current status is somewhere between pre-alpha and alpha. Please do not use this library with the expectation of the api remaining stable.

Setup

This library is currently not asdf installable. You need to clone this repository:

git clone git://github.com/nixeagle/binary-data.git

and symlink binary-data.asd to some directory known to asdf-install. For example:

ln -s /location/known/to/asdf/ binary-data/binary-data.asd

Read on for the remaining non asdf-installable dependencies.

Non asdf-installable dependencies

Currently this project depends on Eos and nutils. Both are on github. Eos is developed by Adlai, however I recommend my fork at be cloned instead for this project as there are plans to do some downstream modifications to eos for this and related projects.

Please do git clone on these two repositories:

  • git://github.com/nixeagle/Eos.git
    • symlink from a location known to asdf-install the file Eos/eos.asd.
      • ln -s /location/known/to/asdf/ Eos/eos.asd
  • git://github.com/nixeagle/nutils.git
    • as above, but symlink nutils/nutils.asd
    • For anyone wondering, these utilities are basically my extensions to alexandria and other generally useful utilities to projects I work on.

Implementation details

endianness

For folks requiring a refresh or better understanding of how endian works, wikipedia has a good summary of what ‘little’ and ‘big’ endian mean.

Credits

Inspiration and ideas came from parsing binary files. Especially the portions about handling slot types. These portions were/will be inspiring and motivating the style used when integrating with the MOP.

The code for this is released under a BSD style license.

Something went wrong with that request. Please try again.