29 January 2017

patching sexpr

System: Slackware Linux (version 14.0)
CPUs: Intel(R) Atom(TM) CPU N270 @1.60GHz
Deps: ghc-7.8.4-i386-unknown-linux-deb7.tar.xz

This entry is not finished yet.

Looking at /sexpr-0.2.1/Codec/Sexpr/Internal.hs it appears feasible to patch
sexpr-0.2.1.tar.gz to use QuickCheck2, to run on a bootstrapped ghc and/or
on HaskellPlatform.

https://slackbuilds.org/repository/14.1/haskell/haskell-extensible-exceptions/
https://slackbuilds.org/repository/14.1/haskell/haskell-mtl/
https://slackbuilds.org/repository/14.1/haskell/haskell-random/
https://slackbuilds.org/repository/14.1/haskell/haskell-primitive/
https://slackbuilds.org/repository/14.1/haskell/haskell-tf-random/
https://slackbuilds.org/repository/14.1/haskell/haskell-QuickCheck/

https://hackage.haskell.org/package/base64-string
base64-string-0.2.tar.gz

https://hackage.haskell.org/package/sexpr
sexpr-0.2.1.tar.gz

With the QuckCheck version I have installed being 2.7.6,
running a SlackBuild script I authored for the above sexpr
version outputs the following, owing to the sexpr version
being written for QuickCheck <2.1.

bash-4.2# ./haskell-sexpr.SlackBuild
sexpr-0.2.1/
sexpr-0.2.1/LICENSE
sexpr-0.2.1/Setup.lhs
sexpr-0.2.1/sexpr.cabal
sexpr-0.2.1/Codec/
sexpr-0.2.1/Codec/Sexpr.hs
sexpr-0.2.1/Codec/Sexpr/
sexpr-0.2.1/Codec/Sexpr/Internal.hs
sexpr-0.2.1/Codec/Sexpr/Parser.hs
sexpr-0.2.1/Codec/Sexpr/Printer.hs
sexpr-0.2.1/Codec/Sexpr/Tests.hs
Configuring sexpr-0.2.1...
Building sexpr-0.2.1...
Preprocessing library sexpr-0.2.1...
[1 of 4] Compiling Codec.Sexpr.Internal ( Codec/Sexpr/Internal.hs, dist/build/Codec/Sexpr/Internal.o )

Codec/Sexpr/Internal.hs:65:5:
    `coarbitrary' is not a (visible) method of class `Arbitrary'
bash-4.2#

The file /sexpr-0.2.1/Codec/Sexpr/Tests.hs also imports Test.QuickCheck.

See also:
http://nurmi-labs.blogspot.com/2016/03/es.html