ku-fpg / hermit

Haskell Equational Reasoning Model-to-Implementation Tunnel
http://www.ittc.ku.edu/csdl/fpg/Tools/HERMIT
BSD 2-Clause "Simplified" License
49 stars 8 forks source link

buildDictionary requires GHC > 7.6 but is used anyway in GHC ≤ 7.6 #97

Closed RyanGlScott closed 10 years ago

RyanGlScott commented 10 years ago

As of commit 98c47f8ba836fd9c041436735a28ee674ee5c317, HERMIT.GHC exports the buildDictionary command only if GHC > 7.6 is used, but HERMIT.Dictionary.Reasoning uses buildDictionary without any kind of GHC version checking, causing HERMIT to fail to compile on GHC ≤ 7.6:

[35 of 66] Compiling HERMIT.Dictionary.Reasoning ( src/HERMIT/Dictionary/Reasoning.hs, dist/build/HERMIT/Dictionary/Reasoning.o )

src/HERMIT/Dictionary/Reasoning.hs:277:37:
    Not in scope: `buildDictionary'
xich commented 10 years ago

Fixed in 35bc2cac50a04c064ed1aadf8e5f224309d854d1

I don't regularly test with 7.6, so I apologize for breaking things. HERMIT really should be used with 7.8, but we're not bumping the bound until 7.8 is in the Haskell Platform. I appreciate you keeping me honest about 7.6 compatibility. If you see anything with an easy CPP fix, feel free to make it directly. After a change, just do (in the hermit project root directory):

make clean
make
make test

If the tests pass, feel free to push. (Sometimes they fail because the binders are in a different order, just examine the diffs that get dumped and decide for yourself.)