#!/bin/bash set -e TOPDIR=$(dirname "$0") TARGETDIR=$TOPDIR/quickcheck-hugs find "$TOPDIR/src" -name '*.hs' | while read -r src; do tgt="$TARGETDIR/$(echo "$src" | sed "s/^$TOPDIR\/src"'//')" echo "Processing $src -> $tgt" mkdir -p "$(dirname "$tgt")" # If you want to switch on and off other features, look in # QuickCheck.cabal to see what's available, or submit a patch # adding a new -DNO_... flag. cpphs --noline -DOLD_RANDOM -DNO_SPLITMIX -DNO_TEMPLATE_HASKELL \ -DNO_CTYPES_CONSTRUCTORS -DNO_FOREIGN_C_USECONDS -DNO_GENERICS \ -DNO_SAFE_HASKELL -DNO_POLYKINDS -DNO_MONADFAIL -DNO_TIMEOUT \ -DNO_NEWTYPE_DERIVING -DNO_TYPEABLE -DNO_GADTS -DNO_TRANSFORMERS \ -DNO_DEEPSEQ -DNO_EXTRA_METHODS_IN_APPLICATIVE \ "$src" > "$tgt" done echo "A Hugs-compatible version of QuickCheck is now" echo "available in the quickcheck-hugs directory." echo "Load it with hugs -98."