Haskell bindings

These Haskell bindings make large use of c2hs to generate much of the code, so
Unicorn's const_generator is not used.

The emulator is based on the Either monad transformer. The IO monad is used to
run the underlying Unicorn library, while the Either monad is used to handle
errors.

Instructions on how to build the bindings are located in
bindings/haskell/README.TXT. The same samples found in samples/ can be found
in bindings/haskell/samples. They should produce the same output, with slight
differences in their error handling and messaging.
This commit is contained in:
Adrian Herrera
2016-04-06 09:21:36 +10:00
parent affe94d5fe
commit 74aaf3b321
28 changed files with 2994 additions and 1 deletions

View File

@ -0,0 +1,21 @@
This documentation explains how to install Haskell binding for Unicorn
from source.
0. Install the core engine as dependency
Follow README in the root directory to compile & install the core.
On *nix, this can simply be done by (project root directory):
$ sudo ./make.sh install
1. Change directories into the Haskell bindings, build and install
$ cd bindings/haskell
$ cabal build
$ cabal install
If the build fails, try installing c2hs manually (cabal install c2hs) and make
sure that $HOME/.cabal/bin is on your PATH.