Commit Graph

13 Commits

Author SHA1 Message Date
Michael Walker
11ccf950e7 Add LTS-19.0 to build matrix & supported GHC versions doc
There should be a patch release of dejafu after this, since the
doctest examples changed.

Also, need to bump to a nightly snapshot in `stack.yaml` for
stylish-haskell, which looks to have skipped GHC 9.0 support.

In principle, we could now drop support for GHC 8.0, 8.2, and 8.4, but
supporting those isn't causing any problems yet.
2022-08-22 14:40:35 +01:00
Michael Walker
700fb5f1c4 Remove use of . in dejafu-tests (fix for GHC 9.0)
Like the use of `const` in concurrency and dejafu, this doesn't play
nicely with higher ranked types.
2021-03-14 00:11:23 +00:00
Michael Walker
349767a7b6 Remove use of const in concurrency (fix for GHC 9.0)
Type inference seems to fall down with the rank-n type of
`forkWithUnmask` + `const`:

    Control/Monad/Conc/Class.hs:525:27: error:
        • Couldn't match type ‘b5’ with ‘forall a. m a -> m a’
          Expected: (forall a. m a -> m a) -> m ()
            Actual: b5 -> m ()
          Cannot instantiate unification variable ‘b5’
          with a type involving polytypes: forall a. m a -> m a
        • In the first argument of ‘forkWithUnmask’, namely ‘(const ma)’
          In the expression: forkWithUnmask (const ma)
          In an equation for ‘fork’: fork ma = forkWithUnmask (const ma)
        • Relevant bindings include
            ma :: m () (bound at Control/Monad/Conc/Class.hs:525:6)
            fork :: m () -> m (ThreadId m)
              (bound at Control/Monad/Conc/Class.hs:525:1)
        |
    525 | fork ma = forkWithUnmask (const ma)
2021-03-14 00:08:18 +00:00
Michael Walker
6d74a8977a Add failing tests for #324 2020-07-01 00:29:07 +01:00
Michael Walker
03f0e63b8b Fix new lints
There is a change to 'concurrency' here, but I don't think it's worth
making even a patch release.
2020-02-20 22:54:12 +00:00
Michael Walker
290aef7473 Add lints for law tests 2019-10-04 18:07:02 +01:00
Michael Walker
da474b5dcf Turn 'Program' typeclass into a GADT
With careful application of typeclass instances to this GADT, and by
redefining 'ConcT' in terms of it, this solves the type inference
problem and removes the need for the 'basic' function.  This approach
also has less newtype wrapping/unwrapping, and so is probably a step
in the right direction even without the type inference advantages.

The diff is quite big because things have needed to migrate between
modules to avoid the import graph getting even worse.
2019-02-02 01:38:39 +00:00
Michael Walker
63b3838a72 Disable "infix" lint 2018-07-08 11:52:17 +01:00
Michael Walker
118d7780a6 Fix hlint errors 2018-06-17 11:21:43 +01:00
Michael Walker
053ce34682 Add tests for early-exit 2018-03-05 12:37:21 +00:00
Michael Walker
5cdbc7acad Replace LeanCheck tests with Hedgehog tests 2018-02-16 20:04:54 +00:00
Michael Walker
827317d970 Warn, lint, & style tests 2018-02-16 20:04:54 +00:00
Michael Walker
5cd55a1921 Add an HLint2 config file & fix warnings. 2017-04-08 05:42:25 +01:00