Support a more complete (and simple) requirements gathering mechanism,

and add support for binary operations.

This version of requirements generation simply generates every numeric
size within a provided range, and then will reject trait implementations
that rely on values outside this range. It should be a little more easy
to reason about, and easier to make local changes as I (inevitably) need
to modify rules.
This commit is contained in:
2019-07-22 08:14:40 -07:00
parent ab465296f2
commit aff88eb2f0
8 changed files with 243 additions and 384 deletions

View File

@@ -18,7 +18,7 @@ extra-source-files: CHANGELOG.md
executable generation
main-is: Main.hs
other-modules: Gen, Requirements, UnsignedBase
other-modules: BinaryOps, File, Gen, UnsignedBase
-- other-extensions:
build-depends: base ^>=4.12.0.0,
containers,
@@ -27,3 +27,4 @@ executable generation
mtl
hs-source-dirs: src
default-language: Haskell2010
ghc-options: -Wall