IreneKnapp / direct-sqlite

MIT License
35 stars 54 forks source link

LTS 15 #82

Closed fosskers closed 4 years ago

fosskers commented 4 years ago

My previous PR widened bounds for GHC 8.8 compat in general. This PR ensures that direct-sqlite is compatible with Stackage LTS 15, which supplies GHC 8.8.2 natively.

If possible, could we get a Hackage release after this is merged? A missing Hackage release holds back sqlite-simple, which in turn holds back beam. Please and thank you.

fosskers commented 4 years ago

Okay, interesting. I made a mistake with the Monoid import, since the test module wants <>. If I attempt to CPP around this, GHC 7.10 can no longer parse the module. Just by adding {-# LANGUAGE CPP #-} I'm told the following:

/home/colin/code/haskell/direct-sqlite/test/Main.hs:105:67:
    lexical error in string/character literal at character 'I'

The code around that location looks like:

    exec conn "CREATE TABLE foo (n FLOAT, t TEXT); \
              \INSERT INTO foo VALUES (3.5, null); \
              \INSERT INTO foo VALUES (null, 'Ự₦ⓘ₡ợ₫ḝ'); \
              \INSERT INTO foo VALUES (null, ''); \
              \INSERT INTO foo VALUES (null, 'null'); \
              \INSERT INTO foo VALUES (null, null)"

Perhaps the unicode is breaking the parser? All bets are off really, since 7.10 is quite old by this point.

So we can either drop support for the GHC 7.x series (may libs are these days), or just import Monoid as usual, avoiding CPP, and accept that the warning will never go away. Thoughts?

sigrlami commented 4 years ago

@fosskers I'll need to test it out in the next couple days. If no major bugs presented, I'll prepare hackage release.

sigrlami commented 4 years ago

@fosskers Colin, I think it's better to import Monoid and relevant functions but keep 7.xx support.

fosskers commented 4 years ago

Done!