Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update to the 9.6/9.8 GHC API #113

Merged
merged 36 commits into from
Feb 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
36 commits
Select commit Hold shift + click to select a range
c281f55
16/31 compiling so far
Tritlo Feb 7, 2024
820d680
19/31
Tritlo Feb 7, 2024
b5d69b3
Builds!
Tritlo Feb 8, 2024
01f8660
All build!
Tritlo Feb 8, 2024
78f384e
Move check-helpers into the module, try to import self (not-working)
Tritlo Feb 8, 2024
ad946f2
No longer fails on package import!
Tritlo Feb 9, 2024
12ad50a
A small cleanup
Tritlo Feb 9, 2024
cb1b5e4
Fix interpreting
Tritlo Feb 9, 2024
853e79b
Remove test flags
Tritlo Feb 9, 2024
a0294be
19/26 tests pass (with added annotations)
Tritlo Feb 10, 2024
42c3106
accept new candidate output. 20/26 passing!
Tritlo Feb 10, 2024
66a3a8d
remove identifiers in EFC output
Tritlo Feb 10, 2024
01b35af
Roll-back 9.8 stuff to 9.6
Tritlo Feb 10, 2024
32f77b3
Allow mixing in ambiguous type variable test and add tasty-hunit package
Tritlo Feb 10, 2024
e479f0a
Move BrokenGCD to slow tests
Tritlo Feb 10, 2024
956cb19
Fix fake modules not working
Tritlo Feb 10, 2024
94109a9
Allow mixing in ambiguous type variable test and add tasty-hunit package
Tritlo Feb 10, 2024
a59724c
Move BrokenGCD to slow tests
Tritlo Feb 10, 2024
9cd0acb
Fix fake modules not working
Tritlo Feb 10, 2024
a4f5a71
Enable CI on 9.6 branch
Tritlo Feb 10, 2024
7cf5f3d
Merge branch '9.6' into 9.8
Tritlo Feb 12, 2024
553a66e
Revert "Roll-back 9.8 stuff to 9.6"
Tritlo Feb 12, 2024
74c0c45
Explicitly infer constraints
Tritlo Feb 12, 2024
6bea30b
Add github build for 9.8
Tritlo Feb 12, 2024
36cf4b4
Build with any 9.8
Tritlo Feb 12, 2024
deccf9f
Merge 9.6 and 9.8
Tritlo Feb 12, 2024
5ff6f64
build both 9.8 and 9.6
Tritlo Feb 12, 2024
f91ab21
Bump
Tritlo Feb 12, 2024
f51c77a
Rename branch to 9.8
Tritlo Feb 12, 2024
cc5b7f5
Remove check-helpers dependency from the package
Tritlo Feb 12, 2024
5ebda72
Infer constraints on wildcardtys as well
Tritlo Feb 12, 2024
a07af32
bump dockerfile, install check-helpers at same time as random, quickc…
Tritlo Feb 12, 2024
5e71d72
Add constraint inference in one missing case
Tritlo Feb 12, 2024
4307a22
Thread hole from fits to fill
Tritlo Feb 12, 2024
13b675a
Don't track fills except in one case, move alsoInferConstraints to shim
Tritlo Feb 12, 2024
77b0bf9
Use lens to clean types
Tritlo Feb 12, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
11 changes: 6 additions & 5 deletions .github/workflows/build-test-deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ on:
- '.github/workflows/*.yml'
branches:
- 'master'
- '9.8'
pull_request:
branches:
- 'master'
Expand All @@ -29,8 +30,8 @@ jobs:
strategy:
fail-fast: false
matrix:
ghc: ['8.10.7']
cabal: ['3.4.0.0']
ghc: ['9.8', '9.6']
cabal: ['3.10.2.1']

steps:
- uses: actions/checkout@v2
Expand Down Expand Up @@ -72,10 +73,10 @@ jobs:
run: cabal build --enable-tests --enable-benchmarks all
- name: Run tests
run: cabal run test
- name: Run slow-test
run: cabal run slow-test
- name: Run benchmark
run: cabal run benchmark
- name: Run slow-test
run: cabal run slow-test

deploy:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -120,7 +121,7 @@ jobs:
with:
context: .
build-args: |
"HASKELL_VERSION=8.10.7"
"HASKELL_VERSION=9.6.4"
"PROPR_VERSION=1.0.0"
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
Expand Down
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -47,8 +47,7 @@ RUN chmod +x /app/propr
RUN cabal update
COPY ./check-helpers /app/check-helpers
WORKDIR /app/check-helpers
RUN cabal install --lib check-helpers
RUN cabal install --lib random QuickCheck
RUN cabal install --lib check-helpers random QuickCheck

ENV LOG_LEVEL=INFO
ENV REPAIR_TARGET=/input
Expand Down
194 changes: 81 additions & 113 deletions PropR.cabal
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
cabal-version: 3.8
name: PropR
cabal-version: 1.24
build-type: Simple
version: 1.0.0
author: Matthías Páll Gissurarson
Expand All @@ -11,150 +11,118 @@ category: Compiler Plugin
license: MIT
license-file: LICENSE


library
default-language: Haskell2010
default-language: GHC2021
ghc-options: -O2
hs-source-dirs: src/
exposed-modules: PropR
PropR.Configuration,
PropR.Eval,
PropR.Plugin,
PropR.Repair,
PropR.Check,
PropR.Traversals,
PropR.Types,
PropR.Diff,
PropR.Util,
PropR.Search,
PropR.Search.PseudoGenetic,
PropR.Search.Genetic,
PropR.Search.Random,
PropR.Search.Exhaustive,
PropR.Configuration
PropR.Eval
PropR.Plugin
PropR.Repair
PropR.Check
PropR.Traversals
PropR.Types
PropR.Diff
PropR.Util
PropR.Search
PropR.Search.PseudoGenetic
PropR.Search.Genetic
PropR.Search.Random
PropR.Search.Exhaustive
PropR.Packages
other-modules: PropR.Configuration.Configure,
PropR.Configuration.Types,
PropR.Configuration.Materializeable,
PropR.Search.Class,
PropR.Search.Genetic.Configuration,
PropR.Search.Genetic.GenMonad,
PropR.Search.Genetic.Search,
PropR.Search.Genetic.Types,
other-modules: PropR.Configuration.Configure
PropR.Configuration.Types
PropR.Configuration.Materializeable
PropR.Search.Class
PropR.Search.Genetic.Configuration
PropR.Search.Genetic.GenMonad
PropR.Search.Genetic.Search
PropR.Search.Genetic.Types
PropR.Search.Genetic.Utils
PropR.Search.PseudoGenetic.Configuration,
PropR.Search.PseudoGenetic.Search,
PropR.Search.Random.Configuration,
PropR.Search.Random.Search,
PropR.Search.Exhaustive.Configuration,
PropR.Search.PseudoGenetic.Configuration
PropR.Search.PseudoGenetic.Search
PropR.Search.Random.Configuration
PropR.Search.Random.Search
PropR.Search.Exhaustive.Configuration
PropR.Search.Exhaustive.Search

build-depends: base >= 4 && < 5,
ghc >= 8 && < 9,
ghc-boot >= 8 && < 9,
ghc-boot-th >= 8 && < 9,
ghc-paths >= 0.1 && < 0.2,
ghc-prim >= 0.6 && < 0.7,
hpc >= 0.6 && < 0.7,
time >= 1.9 && < 1.10,
directory >= 1.3 && < 1.4,
filepath >= 1.4 && < 1.5,
process >= 1.6 && < 1.7,
containers >= 0.6 && < 0.7,
unix >= 2.7.2 && < 2.8,
lens >= 5.0 && < 5.1,
comonad >= 5.0 && < 5.1,
mwc-random >= 0.15 && < 0.16,
vector >= 0.12 && < 0.13,
async >= 2.2 && < 2.3,
random >= 1.2 && < 1.3,
transformers >= 0.5 && < 0.6,
monad-par >= 0.3 && < 0.4,
monad-par-extras >= 0.3 && < 0.4,
deepseq >= 1.4 && < 1.5,
data-default >= 0.7 && < 0.8,
vector >= 0.12 && < 0.13,
deriving-aeson >= 0.2 && < 0.3,
bytestring >= 0.10 && < 0.11,
splitmix >= 0.1 && < 0.2,
Cabal >= 3.4 && < 3.5,
aeson >= 1.5 && < 1.6
ghc >= 9,
ghc-boot >= 9,
ghc-paths >= 0.1,
ghc-prim >= 0.10,
bytestring >= 0.11,
Cabal >= 3.8,
hpc >= 0.6,
time >= 1.12,
directory >= 1.3,
filepath >= 1.4,
process >= 1.6,
containers >= 0.6,
unix >= 2.8,
lens >= 5,
comonad >= 5.0,
mwc-random >= 0.15,
vector >= 0.13,
async >= 2.2,
random >= 1.2,
transformers >= 0.5,
deepseq >= 1.4,
data-default >= 0.7,
deriving-aeson >= 0.2,
splitmix >= 0.1,
aeson >= 2.1

executable propr
default-language: Haskell2010
default-language: GHC2021
main-is: src/Main.hs
ghc-options: -threaded -O2
other-modules: Paths_PropR
build-depends: base >= 4 && < 5,
containers >= 0.6 && < 0.7,
directory >= 1.3 && < 1.4,
ghc >= 8 && < 9,
time >= 1.9 && < 1.10,
data-default >= 0.7 && < 0.8,
optparse-applicative >= 0.16 && < 0.17,
bytestring >= 0.10 && < 0.11,
aeson >= 1.5 && < 1.6,
random >= 1.2 && < 1.3,
optparse-applicative >= 0.17 && < 0.18,
-- these are all specified in the library itself
containers,
directory,
ghc,
time,
data-default,
bytestring,
aeson,
random,
PropR


test-suite test
default-language: Haskell2010
type: exitcode-stdio-1.0
common testing
default-language: GHC2021
hs-source-dirs: tests/
ghc-options: -threaded -O2
main-is: Tests.hs
other-modules: TestUtils
build-depends: base >= 4 && < 5,
tasty >= 1.4 && < 1.5,
tasty >= 1.4,
tasty-hunit >= 0.10,
tasty-quickcheck >= 0.10,
tasty-expected-failure >= 0.12,
containers >= 0.6 && < 0.7,
ghc >= 8 && < 9,
hpc >= 0.6 && < 0.7,
data-default >= 0.7 && < 0.8,
directory >= 1.3 && < 1.4,
containers,
ghc,
hpc,
data-default,
directory,
PropR,
-- packages used in repair:
QuickCheck

test-suite test
import: testing
type: exitcode-stdio-1.0
main-is: Tests.hs

test-suite slow-test
default-language: Haskell2010
import: testing
type: exitcode-stdio-1.0
hs-source-dirs: tests/
ghc-options: -threaded -O2
main-is: SlowTests.hs
other-modules: TestUtils
build-depends: base >= 4 && < 5,
tasty >= 1.4,
tasty-hunit >= 0.10,
tasty-quickcheck >= 0.10,
tasty-expected-failure >= 0.12,
containers >= 0.6 && < 0.7,
ghc >= 8 && < 9,
hpc >= 0.6 && < 0.7,
data-default >= 0.7 && < 0.8,
directory >= 1.3 && < 1.4,
PropR,
-- packages used in repair:
QuickCheck

benchmark benchmark
default-language: Haskell2010
import: testing
type: exitcode-stdio-1.0
hs-source-dirs: tests/
ghc-options: -threaded -O2
main-is: Benchmarks.hs
other-modules: TestUtils
build-depends: base >= 4 && < 5,
tasty >= 1.4,
tasty-hunit >= 0.10,
tasty-quickcheck >= 0.10,
tasty-expected-failure >= 0.12,
containers >= 0.6 && < 0.7,
ghc >= 8 && < 9,
hpc >= 0.6 && < 0.7,
data-default >= 0.7 && < 0.8,
directory >= 1.3 && < 1.4,
PropR,
-- packages used in repair:
QuickCheck
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ These are the versions we currently use - older versions might work too, please

## Usage
-----
This program requires version `3.4` or higher of `cabal`, and version `8.10` of `ghc`.
This program requires version `3.4` or higher of `cabal`, and version `9.6` or `9.8` of `ghc`.
A complete environment required to run (minus the `QuickCheck`)
is defined in `shell.nix`, and can be activated using `nix-shell`, if installed.

Expand Down
5 changes: 5 additions & 0 deletions check-helpers/check-helpers.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,11 @@ library
ghc-options: -O2
hs-source-dirs: ./
exposed-modules: Check.Helpers
reexported-modules: Test.QuickCheck,
Test.QuickCheck.Random,
Test.Tasty,
Test.Tasty.Runners,
Test.Tasty.Ingredients
build-depends: base >= 4 && < 5,
tasty >= 1.4 && < 1.5,
containers >= 0.6 && < 0.7,
Expand Down
1 change: 0 additions & 1 deletion src/Main.hs
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import qualified Data.Set as Set
import Data.Time.LocalTime (utc)
import Data.Version (showVersion)
import GHC (HsExpr (HsLet), NoExtField (..))
import GhcPlugins (noLoc)
import Options.Applicative
import Options.Applicative.Types (readerAsk)
import qualified Paths_PropR as PE (version)
Expand Down
Loading
Loading