reduction now uses a hash
avoid duplicates in clauses
some order in tests
updated manifest
script to automatically run tests
compiler.pl options and help
programmable reductions