From 9ad5c0f526c922ee21c4fb1f9ebc5edacd5b2ed9 Mon Sep 17 00:00:00 2001 From: Tommy Bidne Date: Thu, 23 May 2024 09:36:17 +1200 Subject: [PATCH] Update blessed GHC to 9.8.2. - Remove GHC 9.4 from CI. - Allow with GHC 9.10. --- .github/workflows/ci.yaml | 13 +- CHANGELOG.md | 4 + README.md | 6 +- app/Main.hs | 39 +++--- benchmarks/baseline_9.6.4.csv | 7 - benchmarks/baseline_9.6.4.svg | 64 --------- ...v => baseline_ubuntu-latest_9.10.1_ci.csv} | 0 ...g => baseline_ubuntu-latest_9.10.1_ci.svg} | 0 ...sv => baseline_ubuntu-latest_9.6.5_ci.csv} | 0 ...vg => baseline_ubuntu-latest_9.6.5_ci.svg} | 0 .../baseline_ubuntu-latest_9.8.2_ci.csv | 10 ++ .../baseline_ubuntu-latest_9.8.2_ci.svg | 112 +++++++++++++++ cabal.ghc964.project | 3 - cabal.ghc982.project | 3 + ...ject.freeze => cabal.ghc982.project.freeze | 64 ++++----- cabal.project | 22 ++- flake.lock | 66 ++++----- flake.nix | 2 +- shrun.cabal | 9 +- src/Shrun/Prelude.hs | 1 - stack.yaml | 20 +-- stack.yaml.lock | 128 +++++++++--------- test/unit/Unit/Shrun/IO/Types.hs | 3 + 23 files changed, 322 insertions(+), 254 deletions(-) delete mode 100644 benchmarks/baseline_9.6.4.csv delete mode 100644 benchmarks/baseline_9.6.4.svg rename benchmarks/{baseline_ubuntu-latest_9.8.1_ci.csv => baseline_ubuntu-latest_9.10.1_ci.csv} (100%) rename benchmarks/{baseline_ubuntu-latest_9.8.1_ci.svg => baseline_ubuntu-latest_9.10.1_ci.svg} (100%) rename benchmarks/{baseline_ubuntu-latest_9.6.4_ci.csv => baseline_ubuntu-latest_9.6.5_ci.csv} (100%) rename benchmarks/{baseline_ubuntu-latest_9.6.4_ci.svg => baseline_ubuntu-latest_9.6.5_ci.svg} (100%) create mode 100644 benchmarks/baseline_ubuntu-latest_9.8.2_ci.csv create mode 100644 benchmarks/baseline_ubuntu-latest_9.8.2_ci.svg delete mode 100644 cabal.ghc964.project create mode 100644 cabal.ghc982.project rename cabal.ghc964.project.freeze => cabal.ghc982.project.freeze (80%) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index dbcb9e2f..2c0e266b 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -4,6 +4,7 @@ on: branches: - main - release + - updates pull_request: branches: - main @@ -15,11 +16,11 @@ jobs: fail-fast: false matrix: ghc: - - vers: "9.4.8" + - vers: "9.6.5" proj-file: "" - - vers: "9.6.4" - proj-file: "--project-file cabal.ghc964.project" - - vers: "9.8.1" + - vers: "9.8.2" + proj-file: "--project-file cabal.ghc982.project" + - vers: "9.10.1" proj-file: "" os: - "macos-latest" @@ -144,7 +145,7 @@ jobs: - uses: actions/checkout@v4 - uses: haskell-actions/setup@v2 with: - ghc-version: "9.6.4" + ghc-version: "9.8.2" - name: Install binary run: | .github/scripts/release_osx.sh @@ -181,7 +182,7 @@ jobs: - uses: actions/checkout@v4 - uses: haskell-actions/setup@v2 with: - ghc-version: "9.6.4" + ghc-version: "9.8.2" - name: Install binary run: | .github/scripts/release_linux.sh diff --git a/CHANGELOG.md b/CHANGELOG.md index 01644082..9ee21c28 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -14,6 +14,10 @@ the major/minor/patch definitions apply to the application's interface / usage ### Changed * Simplify reading final error message. * Hide `--version` from primary usage section. +* Updated blessed GHC to GHC 9.8.2. + +### Added +* Added GHC 9.10 support. ### Fixed * More `HasCallStack` annotations for better callstacks in case something goes diff --git a/README.md b/README.md index 6244f005..8291198f 100644 --- a/README.md +++ b/README.md @@ -91,13 +91,13 @@ If you have never built a haskell program before, [Cabal](#cabal) is probably th * [`cabal 3.8+`](https://www.haskell.org/cabal/download.html) * One of: - * [`ghc 9.4`](https://www.haskell.org/ghc/download.html) * [`ghc 9.6`](https://www.haskell.org/ghc/download.html) * [`ghc 9.8`](https://www.haskell.org/ghc/download.html) + * [`ghc 9.10`](https://www.haskell.org/ghc/download.html) The easiest way to install these is generally [`ghcup`](https://www.haskell.org/ghcup/). -The current "blessed" version is `ghc-9.6.4`. +The current "blessed" version is `ghc-9.8.2`. ### Build Shrun @@ -106,7 +106,7 @@ Once you have `cabal` and `ghc`, `shrun` can be built locally with `cabal build` For further reproducibility, optional freeze files can be used e.g. ```sh -cabal build --project-file cabal.ghc964.project +cabal build --project-file cabal.ghc982.project ``` > [!NOTE] diff --git a/app/Main.hs b/app/Main.hs index 3724a36f..055f55db 100644 --- a/app/Main.hs +++ b/app/Main.hs @@ -1,28 +1,31 @@ +{-# LANGUAGE CPP #-} + module Main (main) where +import Effects.Exception qualified as Ex import GHC.Conc.Sync (setUncaughtExceptionHandler) import Shrun.Configuration.Env (makeEnvAndShrun) import Shrun.Prelude +{- ORMOLU_DISABLE -} + main :: IO () main = do - setUncaughtExceptionHandler $ \ex -> - -- NOTE: Seems redundant, but sadly it isn't. - -- - -- doNothingOnSuccess is solely used to stop ExitSuccess from poisoning the - -- error code because GHC determines exit success/failure based on the - -- presence of an uncaught exception. However, we still need to rethrow - -- the failure. - -- - -- Moreover, we don't really want to print a CallStack for ExitFailure, - -- as we are throwing that whenever a command fails, and the CallStack - -- is just unhelpful noise. - case fromException ex of - -- should be impossible due to doNothingOnSuccess... - Just (MkExceptionCS ExitSuccess _) -> pure () - -- for command failures - Just (MkExceptionCS (ExitFailure _) _) -> pure () - Nothing -> putStrLn $ displayException ex + -- NOTE: Seems redundant, but sadly it isn't. + -- + -- doNothingOnSuccess is solely used to stop ExitSuccess from poisoning the + -- error code because GHC determines exit success/failure based on the + -- presence of an uncaught exception. However, we still need to rethrow + -- the failure. + -- + -- Moreover, we don't really want to print a CallStack for ExitFailure, + -- as we are throwing that whenever a command fails, and the CallStack + -- is just unhelpful noise. +#if MIN_VERSION_base(4, 20, 0) + setUncaughtExceptionHandler (putStrLn . Ex.displayInner) +#else + setUncaughtExceptionHandler (putStrLn . Ex.displayNoCS) +#endif makeEnvAndShrun @IO @ConsoleRegion `catchCS` doNothingOnSuccess where @@ -32,3 +35,5 @@ main = do doNothingOnSuccess :: ExitCode -> IO () doNothingOnSuccess ExitSuccess = pure () doNothingOnSuccess ex@(ExitFailure _) = throwM ex + +{- ORMOLU_ENABLE -} diff --git a/benchmarks/baseline_9.6.4.csv b/benchmarks/baseline_9.6.4.csv deleted file mode 100644 index d75d6a26..00000000 --- a/benchmarks/baseline_9.6.4.csv +++ /dev/null @@ -1,7 +0,0 @@ -Name,Mean (ps),2*Stdev (ps),Allocated,Copied,Peak Memory -All.Basic Logging.10_000,13319827525,1131861496,165032173,1181215,15728640 -All.Basic Logging.100_000,127779001600,4253520954,1670223698,10804763,22020096 -All.Command Logging.10_000,2205670231,88499160,4974117,59583,22020096 -All.Command Logging.100_000,632720622800,53993838834,458032155,2566572,22020096 -All.File Logging.10_000,11109051506,1009244654,17437861,418568,22020096 -All.File Logging.100_000,2375259740300,5347712644,1939808428,26023984,22020096 diff --git a/benchmarks/baseline_9.6.4.svg b/benchmarks/baseline_9.6.4.svg deleted file mode 100644 index 7d9a525e..00000000 --- a/benchmarks/baseline_9.6.4.svg +++ /dev/null @@ -1,64 +0,0 @@ - - -Basic Logging.10_000 13.3 ms - -13.3 ms ± 1.1 ms - - - - - - -Basic Logging.100_000 128 ms - -128 ms ± 4.3 ms - - - - - - -Command Logging.10_000 2.21 ms - -2.21 ms ± 88 μs - - - - - - - -Command Logging.100_000 -633 ms - - -633 ms ± 54 ms - - - - - - -File Logging.10_000 11.1 ms - -11.1 ms ± 1.0 ms - - - - - - - -File Logging.100_000 -2.375 s - - -2.375 s ± 5.3 ms - - - - - - - - diff --git a/benchmarks/baseline_ubuntu-latest_9.8.1_ci.csv b/benchmarks/baseline_ubuntu-latest_9.10.1_ci.csv similarity index 100% rename from benchmarks/baseline_ubuntu-latest_9.8.1_ci.csv rename to benchmarks/baseline_ubuntu-latest_9.10.1_ci.csv diff --git a/benchmarks/baseline_ubuntu-latest_9.8.1_ci.svg b/benchmarks/baseline_ubuntu-latest_9.10.1_ci.svg similarity index 100% rename from benchmarks/baseline_ubuntu-latest_9.8.1_ci.svg rename to benchmarks/baseline_ubuntu-latest_9.10.1_ci.svg diff --git a/benchmarks/baseline_ubuntu-latest_9.6.4_ci.csv b/benchmarks/baseline_ubuntu-latest_9.6.5_ci.csv similarity index 100% rename from benchmarks/baseline_ubuntu-latest_9.6.4_ci.csv rename to benchmarks/baseline_ubuntu-latest_9.6.5_ci.csv diff --git a/benchmarks/baseline_ubuntu-latest_9.6.4_ci.svg b/benchmarks/baseline_ubuntu-latest_9.6.5_ci.svg similarity index 100% rename from benchmarks/baseline_ubuntu-latest_9.6.4_ci.svg rename to benchmarks/baseline_ubuntu-latest_9.6.5_ci.svg diff --git a/benchmarks/baseline_ubuntu-latest_9.8.2_ci.csv b/benchmarks/baseline_ubuntu-latest_9.8.2_ci.csv new file mode 100644 index 00000000..5ca4091b --- /dev/null +++ b/benchmarks/baseline_ubuntu-latest_9.8.2_ci.csv @@ -0,0 +1,10 @@ +Name,Mean (ps),2*Stdev (ps),Allocated,Copied,Peak Memory +All.Basic Logging.10_000,424874375,35496180,858557,4866,8388608 +All.Basic Logging.100_000,414872187,34787626,858666,4978,9437184 +All.Basic Logging.1_000_000,418198593,27627318,858769,4816,9437184 +All.Command Logging.10_000,594754062,50058574,977834,6139,9437184 +All.Command Logging.100_000,579419062,41957020,977929,6235,9437184 +All.Command Logging.1_000_000,596570625,46203452,991918,6708,9437184 +All.File Logging.10_000,816050937,46860996,1118291,7041,9437184 +All.File Logging.100_000,822995625,60041220,1118089,7180,9437184 +All.File Logging.1_000_000,801665000,58974894,1117985,7194,9437184 diff --git a/benchmarks/baseline_ubuntu-latest_9.8.2_ci.svg b/benchmarks/baseline_ubuntu-latest_9.8.2_ci.svg new file mode 100644 index 00000000..b31bb24b --- /dev/null +++ b/benchmarks/baseline_ubuntu-latest_9.8.2_ci.svg @@ -0,0 +1,112 @@ + + + +Basic Logging.10_000 +425 μs + + +425 μs ± 35 μs + + + + + + + +Basic Logging.100_000 +415 μs + + +415 μs ± 35 μs + + + + + + + +Basic Logging.1_000_000 +418 μs + + +418 μs ± 28 μs + + + + + + + +Command Logging.10_000 +595 μs + + +595 μs ± 50 μs + + + + + + + +Command Logging.100_000 +579 μs + + +579 μs ± 42 μs + + + + + + + +Command Logging.1_000_000 +597 μs + + +597 μs ± 46 μs + + + + + + + +File Logging.10_000 +816 μs + + +816 μs ± 47 μs + + + + + + + +File Logging.100_000 +823 μs + + +823 μs ± 60 μs + + + + + + + +File Logging.1_000_000 +802 μs + + +802 μs ± 59 μs + + + + + + + + diff --git a/cabal.ghc964.project b/cabal.ghc964.project deleted file mode 100644 index 7b944199..00000000 --- a/cabal.ghc964.project +++ /dev/null @@ -1,3 +0,0 @@ -import: cabal.project - -with-compiler: ghc-9.6.4 diff --git a/cabal.ghc982.project b/cabal.ghc982.project new file mode 100644 index 00000000..27ec0acb --- /dev/null +++ b/cabal.ghc982.project @@ -0,0 +1,3 @@ +import: cabal.project + +with-compiler: ghc-9.8.2 diff --git a/cabal.ghc964.project.freeze b/cabal.ghc982.project.freeze similarity index 80% rename from cabal.ghc964.project.freeze rename to cabal.ghc982.project.freeze index 947e000e..9e71798d 100644 --- a/cabal.ghc964.project.freeze +++ b/cabal.ghc982.project.freeze @@ -1,21 +1,19 @@ active-repositories: hackage.haskell.org:merge -constraints: any.OneTuple ==0.4.1.1, +constraints: any.OneTuple ==0.4.2, any.QuickCheck ==2.14.3, any.StateVar ==1.2.2, any.adjunctions ==4.4.2, - any.aeson ==2.1.2.1, + any.aeson ==2.2.1.0, any.algebra-simple ==0.1, any.ansi-terminal ==1.0.2, any.ansi-terminal-types ==0.11.5, any.array ==0.5.6.0, - any.assoc ==1.1, + any.assoc ==1.1.1, any.async ==2.2.5, any.attoparsec ==0.14.4, any.barbies ==2.0.5.0, - any.base ==4.18.2.0, - any.base-compat ==0.13.1, - any.base-compat-batteries ==0.13.1, - any.base-orphans ==0.9.1, + any.base ==4.19.1.0, + any.base-orphans ==0.9.2, any.bifunctors ==5.6.2, any.binary ==0.8.9.1, any.bitvec ==1.1.5.0, @@ -24,26 +22,26 @@ constraints: any.OneTuple ==0.4.1.1, any.blaze-markup ==0.8.3.0, any.boring ==0.2.1, any.bounds ==0.1, - any.bytestring ==0.11.5.3, + any.bytestring ==0.12.1.0, any.call-stack ==0.4.0, any.case-insensitive ==1.2.1.0, any.cereal ==0.5.8.3, any.colour ==2.3.6, any.comonad ==5.0.8, - any.concurrent-output ==1.10.20, + any.concurrent-output ==1.10.21, any.conduit ==1.3.5, any.conduit-extra ==1.3.6, - any.constraints ==0.14, - any.containers ==0.6.7, + any.constraints ==0.14.2, + any.containers ==0.6.8, any.contravariant ==1.5.5, any.data-default ==0.7.1.1, any.data-default-class ==0.1.2.0, any.data-default-instances-containers ==0.0.1, any.data-default-instances-dlist ==0.0.1, any.data-default-instances-old-locale ==0.0.1, - any.data-fix ==0.3.2, - any.dbus ==1.3.2, - any.deepseq ==1.4.8.1, + any.data-fix ==0.3.3, + any.dbus ==1.3.3, + any.deepseq ==1.5.0.0, any.directory ==1.3.8.1, any.distributive ==0.6.2.1, any.dlist ==1.0, @@ -68,33 +66,36 @@ constraints: any.OneTuple ==0.4.1.1, any.free ==5.2, any.generically ==0.1.1, any.ghc-bignum ==1.3, - any.ghc-boot-th ==9.6.4, - any.ghc-prim ==0.10.0, - any.hashable ==1.4.3.0, + any.ghc-boot-th ==9.8.2, + any.ghc-prim ==0.11.0, + any.hashable ==1.4.4.0, any.haskell-lexer ==1.1.1, any.hedgehog ==1.4, any.indexed-profunctors ==0.1.1.1, any.indexed-traversable ==0.1.3, any.indexed-traversable-instances ==0.1.1.2, + any.integer-conversion ==0.1.0.1, any.integer-logarithms ==1.0.3.1, any.invariant ==0.6.3, - any.kan-extensions ==5.2.5, + any.kan-extensions ==5.2.6, any.lens ==5.2.3, any.lifted-async ==0.10.2.5, any.lifted-base ==0.2.3.12, - any.megaparsec ==9.5.0, + any.megaparsec ==9.6.1, any.mmorph ==1.2.0, any.monad-control ==1.0.3.1, any.mono-traversable ==1.0.17.0, any.mtl ==2.3.1, any.network ==3.1.4.0, + any.network-uri ==2.6.4.2, any.nonempty-containers ==0.3.4.5, any.nonempty-vector ==0.2.3, any.old-locale ==1.0.0.7, any.optics-core ==0.4.1.1, any.optparse-applicative ==0.18.1.0, + any.os-string ==2.0.2.2, any.parallel ==3.2.2.0, - any.parsec ==3.1.16.1, + any.parsec ==3.1.17.0, any.parser-combinators ==1.3.0, any.pretty ==1.1.3.6, any.pretty-show ==1.10, @@ -102,24 +103,24 @@ constraints: any.OneTuple ==0.4.1.1, any.prettyprinter ==1.7.1, any.prettyprinter-ansi-terminal ==1.1.3, any.primitive ==0.8.0.0, - any.process ==1.6.17.0, + any.process ==1.6.18.0, any.profunctors ==5.6.2, any.random ==1.2.1.2, - any.reflection ==2.1.7, + any.reflection ==2.1.8, any.relative-time ==0.1, any.resourcet ==1.3.0, any.rts ==1.0.2, any.safe-exceptions ==0.1.7.4, any.scientific ==0.3.7.0, any.semialign ==1.3, - any.semigroupoids ==6.0.0.1, + any.semigroupoids ==6.0.1, any.semigroups ==0.20, any.si-bytes ==0.1, any.smart-math ==0.1, smart-math -arithmoi, any.split ==0.2.5, any.splitmix ==0.1.0.5, - any.stm ==2.5.1.0, + any.stm ==2.5.2.1, any.streaming-commons ==0.2.2.6, any.strict ==0.5, any.tagged ==0.8.8, @@ -128,12 +129,14 @@ constraints: any.OneTuple ==0.4.1.1, tasty-bench -debug +tasty, any.tasty-hedgehog ==1.4.0.2, any.tasty-hunit ==0.10.1, - any.template-haskell ==2.20.0.0, + any.template-haskell ==2.21.0.0, any.terminal-size ==0.3.4, - any.text ==2.0.2, - any.text-display ==0.0.5.1, - any.text-short ==0.1.5, - any.th-abstraction ==0.5.0.0, + any.text ==2.1.1, + any.text-display ==0.0.5.2, + any.text-iso8601 ==0.1, + any.text-short ==0.1.6, + any.th-abstraction ==0.7.0.0, + any.th-compat ==0.1.5, any.th-lift ==0.8.4, any.these ==1.2, any.time ==1.12.2, @@ -142,7 +145,6 @@ constraints: any.OneTuple ==0.4.1.1, any.transformers ==0.6.1.0, any.transformers-base ==0.4.6, any.transformers-compat ==0.7.2, - any.type-equality ==1, any.typed-process ==0.2.11.1, any.unix ==2.8.4.0, any.unix-compat ==0.7.1, @@ -159,4 +161,4 @@ constraints: any.OneTuple ==0.4.1.1, any.xml-conduit ==1.9.1.3, any.xml-types ==0.3.8, any.zlib ==0.6.3.0 -index-state: hackage.haskell.org 2024-04-15T22:54:15Z +index-state: hackage.haskell.org 2024-05-22T20:55:13Z diff --git a/cabal.project b/cabal.project index eed341c9..685469ea 100644 --- a/cabal.project +++ b/cabal.project @@ -1,4 +1,4 @@ -index-state: 2024-04-15T22:54:15Z +index-state: 2024-05-22T20:55:13Z packages: . @@ -18,25 +18,28 @@ package shrun -Wunused-binds -Wunused-packages -Wunused-type-patterns + -Wno-deprecations -Wno-unticked-promoted-constructors +-- TODO: Remove Wno-deprecations once we are on GHC 9.10. + optimization: 2 test-show-details: direct source-repository-package type: git location: https://github.com/tbidne/algebra-simple.git - tag: f4f799cea958fb2b2309d70f47a658dff2481441 + tag: f8590486ec0fc66acf7db20308e1ed6993a52151 source-repository-package type: git location: https://github.com/tbidne/bounds.git - tag: 50b07ca118ae140d065ec0285f38e72151da4cad + tag: f93b202c9d154b25b42b048570cf6648451aa577 source-repository-package type: git location: https://github.com/tbidne/monad-effects.git - tag: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + tag: f3496c0d2606540498d6fd503e6855441ca03ee1 subdir: lib/effects-async lib/effects-exceptions @@ -54,14 +57,19 @@ source-repository-package source-repository-package type: git location: https://github.com/tbidne/relative-time.git - tag: 5f89851baf90c671fffa8d5118e0b37186220fef + tag: b3be9b3b904059671ef07dbcbb11b8c04d50ddde source-repository-package type: git location: https://github.com/tbidne/si-bytes.git - tag: bc73bff27b607be0e5b13c1d65e1da8b2ea29319 + tag: 308faf0ab25b39e0dda8de23d5d315e82260080f source-repository-package type: git location: https://github.com/tbidne/smart-math.git - tag: a722e1fee10aeba79aaf88ed774f1cafb19930f4 + tag: 9bd570201445904d12d0e0b792f171d02e6f361e + +allow-newer: aeson:th-abstraction +allow-newer: dbus:template-haskell +allow-newer: hedgehog:template-haskell +allow-newer: tasty-hedgehog:base diff --git a/flake.lock b/flake.lock index c69a7035..7d4c6e94 100644 --- a/flake.lock +++ b/flake.lock @@ -13,11 +13,11 @@ ] }, "locked": { - "lastModified": 1704945810, - "narHash": "sha256-NXTZLwilM1KyqUh5inJVm4+Yev9gnMSr4anuFj5dsD4=", + "lastModified": 1716375788, + "narHash": "sha256-Np/Zk1CRUpWcwN7nwh414/689mGSNTXldHcjTWj+YzA=", "owner": "tbidne", "repo": "algebra-simple", - "rev": "f4f799cea958fb2b2309d70f47a658dff2481441", + "rev": "f8590486ec0fc66acf7db20308e1ed6993a52151", "type": "github" }, "original": { @@ -39,11 +39,11 @@ ] }, "locked": { - "lastModified": 1705009486, - "narHash": "sha256-TZhpDX9z6tOFfomFjRJLlgHEqT2JcwxxurG1KTenY04=", + "lastModified": 1716375824, + "narHash": "sha256-WG9ldBj1COftpPleldonF1f+dBJ5ojmlL84ZpTq9i1U=", "owner": "tbidne", "repo": "bounds", - "rev": "50b07ca118ae140d065ec0285f38e72151da4cad", + "rev": "f93b202c9d154b25b42b048570cf6648451aa577", "type": "github" }, "original": { @@ -57,11 +57,11 @@ "nixpkgs-lib": "nixpkgs-lib" }, "locked": { - "lastModified": 1712014858, - "narHash": "sha256-sB4SWl2lX95bExY2gMFG5HIzvva5AVMJd4Igm+GpZNw=", + "lastModified": 1715865404, + "narHash": "sha256-/GJvTdTpuDjNn84j82cU6bXztE0MSkdnTWClUCRub78=", "owner": "hercules-ci", "repo": "flake-parts", - "rev": "9126214d0a59633752a136528f5f3b9aa8565b7d", + "rev": "8dc45382d5206bd292f9c2768b8058a8fd8311d9", "type": "github" }, "original": { @@ -92,11 +92,11 @@ ] }, "locked": { - "lastModified": 1713220665, - "narHash": "sha256-78USFm0Fd2SbUUG7kMrhl8x80Gip3Dicy1oBd5nFEZA=", + "lastModified": 1716381616, + "narHash": "sha256-E78napESWd0l4fM63LmmqhYJanGFDULftOWfySYmjA4=", "owner": "tbidne", "repo": "monad-effects", - "rev": "6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4", + "rev": "f3496c0d2606540498d6fd503e6855441ca03ee1", "type": "github" }, "original": { @@ -122,11 +122,11 @@ }, "nixpkgs": { "locked": { - "lastModified": 1712963716, - "narHash": "sha256-WKm9CvgCldeIVvRz87iOMi8CFVB1apJlkUT4GGvA0iM=", + "lastModified": 1716293225, + "narHash": "sha256-pU9ViBVE3XYb70xZx+jK6SEVphvt7xMTbm6yDIF4xPs=", "owner": "nixos", "repo": "nixpkgs", - "rev": "cfd6b5fc90b15709b780a5a1619695a88505a176", + "rev": "3eaeaeb6b1e08a016380c279f8846e0bd8808916", "type": "github" }, "original": { @@ -138,20 +138,14 @@ }, "nixpkgs-lib": { "locked": { - "dir": "lib", - "lastModified": 1711703276, - "narHash": "sha256-iMUFArF0WCatKK6RzfUJknjem0H9m4KgorO/p3Dopkk=", - "owner": "NixOS", - "repo": "nixpkgs", - "rev": "d8fe5e6c92d0d190646fb9f1056741a229980089", - "type": "github" + "lastModified": 1714640452, + "narHash": "sha256-QBx10+k6JWz6u7VsohfSw8g8hjdBZEf8CFzXH1/1Z94=", + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" }, "original": { - "dir": "lib", - "owner": "NixOS", - "ref": "nixos-unstable", - "repo": "nixpkgs", - "type": "github" + "type": "tarball", + "url": "https://github.com/NixOS/nixpkgs/archive/50eb7ecf4cd0a5756d7275c8ba36790e5bd53e33.tar.gz" } }, "relative-time": { @@ -173,11 +167,11 @@ ] }, "locked": { - "lastModified": 1702858257, - "narHash": "sha256-9sbD2wm0Y6qTQMRhlMLtJ6rVSB4mgqa5ZtEJFrsoo8Q=", + "lastModified": 1716380580, + "narHash": "sha256-Ieg0fGn3ooA356a2lDzfPNar0mm8/mlK6QPua/1X+oQ=", "owner": "tbidne", "repo": "relative-time", - "rev": "5f89851baf90c671fffa8d5118e0b37186220fef", + "rev": "b3be9b3b904059671ef07dbcbb11b8c04d50ddde", "type": "github" }, "original": { @@ -218,11 +212,11 @@ ] }, "locked": { - "lastModified": 1712992175, - "narHash": "sha256-cdm7DfAvgfO+OOHRxZGg9Kn/mEnmUE/T3v8WS0yO/0A=", + "lastModified": 1716378077, + "narHash": "sha256-QYDjGCowOERXr/2JA+5hl4EpJxsU9ZKktEqowzPkWcs=", "owner": "tbidne", "repo": "si-bytes", - "rev": "bc73bff27b607be0e5b13c1d65e1da8b2ea29319", + "rev": "308faf0ab25b39e0dda8de23d5d315e82260080f", "type": "github" }, "original": { @@ -250,11 +244,11 @@ ] }, "locked": { - "lastModified": 1713085849, - "narHash": "sha256-k9L5FOJ5QnsTOYDckI5C4vA3SRiRf8/E+/A0sdXsbHk=", + "lastModified": 1716380345, + "narHash": "sha256-IfpHT70aAUy507iZGaAWR04K4Lf7efFw2SjD28Cbu0o=", "owner": "tbidne", "repo": "smart-math", - "rev": "a722e1fee10aeba79aaf88ed774f1cafb19930f4", + "rev": "9bd570201445904d12d0e0b792f171d02e6f361e", "type": "github" }, "original": { diff --git a/flake.nix b/flake.nix index f791f826..9a882137 100644 --- a/flake.nix +++ b/flake.nix @@ -69,7 +69,7 @@ perSystem = { pkgs, system, ... }: let - ghc-version = "ghc964"; + ghc-version = "ghc982"; compiler = pkgs.haskell.packages."${ghc-version}".override { overrides = final: prev: diff --git a/shrun.cabal b/shrun.cabal index 7f2ad393..bb6ab384 100644 --- a/shrun.cabal +++ b/shrun.cabal @@ -3,7 +3,7 @@ name: shrun version: 0.9 license: MIT license-file: LICENSE -tested-with: GHC ==9.4.8 || ==9.6.3 || ==9.8.1 +tested-with: GHC ==9.6.5 || ==9.8.2 || ==9.10.1 copyright: 2021-2024 Thomas Bidne author: Thomas Bidne maintainer: tbidne@protonmail.com @@ -111,7 +111,7 @@ library Shrun.Utils build-depends: - , base >=4.17 && <4.20 + , base >=4.17 && <4.21 , bytestring >=0.10.12 && <0.13 , concurrent-output ^>=1.10.7 , containers >=0.6.2.1 && <0.8 @@ -136,7 +136,7 @@ library , pretty-terminal ^>=0.1 , relative-time ^>=0.1 , si-bytes ^>=0.1 - , template-haskell >=2.17.0.0 && <2.22 + , template-haskell >=2.17.0.0 && <2.23 , text >=1.2.3.2 && <2.2 , toml-reader >=0.2.0.0 && <0.3.0.0 , unordered-containers ^>=0.2.9.0 @@ -159,6 +159,7 @@ executable shrun main-is: Main.hs build-depends: , base + , effects-exceptions , shrun hs-source-dirs: app @@ -198,7 +199,7 @@ test-suite unit , tasty-hedgehog >=1.2.0.0 && <1.5 , tasty-hunit >=0.9 && <0.11 , text - , time >=1.9.3 && <1.14 + , time >=1.9.3 && <1.15 , unordered-containers hs-source-dirs: test/unit diff --git a/src/Shrun/Prelude.hs b/src/Shrun/Prelude.hs index c4e64b3f..ff0b0702 100644 --- a/src/Shrun/Prelude.hs +++ b/src/Shrun/Prelude.hs @@ -124,7 +124,6 @@ import Effects.Concurrent.STM as X import Effects.Concurrent.Thread as X (MonadThread) import Effects.Exception as X ( Exception (displayException, fromException), - ExceptionCS (MkExceptionCS), MonadCatch, MonadMask, MonadThrow, diff --git a/stack.yaml b/stack.yaml index 85ca17b7..3db50db1 100644 --- a/stack.yaml +++ b/stack.yaml @@ -1,17 +1,17 @@ -resolver: lts-22.17 +resolver: nightly-2024-05-22 packages: - . ghc-options: - "$locals": -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wmissing-export-lists -Wmissing-exported-signatures -Wmissing-home-modules -Wpartial-fields -Wprepositive-qualified-module -Wredundant-constraints -Wunused-binds -Wunused-packages -Wunused-type-patterns -Wno-unticked-promoted-constructors + "$locals": -Wall -Wcompat -Widentities -Wincomplete-record-updates -Wincomplete-uni-patterns -Wmissing-deriving-strategies -Wmissing-export-lists -Wmissing-exported-signatures -Wmissing-home-modules -Wpartial-fields -Wprepositive-qualified-module -Wredundant-constraints -Wunused-binds -Wunused-packages -Wunused-type-patterns -Wno-deprecations -Wno-unticked-promoted-constructors extra-deps: - - env-guard-0.2@sha256:bac94c42908e5308ca6726a076ce49538d50d6fb9a01e1b68b4ac264cb435d39,1312 - - text-display-0.0.5.1@sha256:da3515adb03b5c01d8e8f0ca81ac0cce4f3ae36f7b74e8566108220a1da670eb,2670 + - env-guard-0.2@sha256:99b89cde1ed6d599880dfbc72b2c9a75ced57b7800a70dcb57d3e3e89e42184c,1312 + - text-display-0.0.5.2@sha256:6e6a5bf1c83dfa6c34692ed5d8ea87f1bd385984309b42c302f2156f4d82477b,2670 - git: https://github.com/tbidne/algebra-simple.git - commit: f4f799cea958fb2b2309d70f47a658dff2481441 + commit: f8590486ec0fc66acf7db20308e1ed6993a52151 - git: https://github.com/tbidne/bounds.git - commit: 50b07ca118ae140d065ec0285f38e72151da4cad + commit: f93b202c9d154b25b42b048570cf6648451aa577 - git: https://github.com/tbidne/monad-effects.git - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 subdirs: - lib/effects-async - lib/effects-exceptions @@ -26,8 +26,8 @@ extra-deps: - lib/effects-typed-process - lib/effects-unix-compat - git: https://github.com/tbidne/relative-time.git - commit: 5f89851baf90c671fffa8d5118e0b37186220fef + commit: b3be9b3b904059671ef07dbcbb11b8c04d50ddde - git: https://github.com/tbidne/si-bytes.git - commit: bc73bff27b607be0e5b13c1d65e1da8b2ea29319 + commit: 308faf0ab25b39e0dda8de23d5d315e82260080f - git: https://github.com/tbidne/smart-math.git - commit: a722e1fee10aeba79aaf88ed774f1cafb19930f4 + commit: 9bd570201445904d12d0e0b792f171d02e6f361e diff --git a/stack.yaml.lock b/stack.yaml.lock index 20d7d1c5..16c100ce 100644 --- a/stack.yaml.lock +++ b/stack.yaml.lock @@ -5,233 +5,233 @@ packages: - completed: - hackage: env-guard-0.2@sha256:bac94c42908e5308ca6726a076ce49538d50d6fb9a01e1b68b4ac264cb435d39,1312 + hackage: env-guard-0.2@sha256:99b89cde1ed6d599880dfbc72b2c9a75ced57b7800a70dcb57d3e3e89e42184c,1312 pantry-tree: - sha256: 0127bd98b1823586bd8f1d50e9271097666b929e12adf660c177dba81c128d60 + sha256: 4884b3e9fc1fe18928cf0fda07e3de552110362d2edc024c632b0a31244cbadb size: 419 original: - hackage: env-guard-0.2@sha256:bac94c42908e5308ca6726a076ce49538d50d6fb9a01e1b68b4ac264cb435d39,1312 + hackage: env-guard-0.2@sha256:99b89cde1ed6d599880dfbc72b2c9a75ced57b7800a70dcb57d3e3e89e42184c,1312 - completed: - hackage: text-display-0.0.5.1@sha256:da3515adb03b5c01d8e8f0ca81ac0cce4f3ae36f7b74e8566108220a1da670eb,2670 + hackage: text-display-0.0.5.2@sha256:6e6a5bf1c83dfa6c34692ed5d8ea87f1bd385984309b42c302f2156f4d82477b,2670 pantry-tree: - sha256: d4124c121bcdd6689235dc6cbb0f8df10fba894e7affcfdacf85704a869a453d - size: 3362 + sha256: e84ac3f5fdc4d6e1c544174735beb80474cf7d7b849abfd1ae6184517a30c1c1 + size: 3364 original: - hackage: text-display-0.0.5.1@sha256:da3515adb03b5c01d8e8f0ca81ac0cce4f3ae36f7b74e8566108220a1da670eb,2670 + hackage: text-display-0.0.5.2@sha256:6e6a5bf1c83dfa6c34692ed5d8ea87f1bd385984309b42c302f2156f4d82477b,2670 - completed: - commit: f4f799cea958fb2b2309d70f47a658dff2481441 + commit: f8590486ec0fc66acf7db20308e1ed6993a52151 git: https://github.com/tbidne/algebra-simple.git name: algebra-simple pantry-tree: - sha256: 67554022567badf32065955d28a973bfba8e561c9eb10e86479a3468ac59a476 + sha256: 175574cc504ef22e28ced562b297fe5208bc4c96aedc9164b93aeeb7e381b281 size: 3449 version: '0.1' original: - commit: f4f799cea958fb2b2309d70f47a658dff2481441 + commit: f8590486ec0fc66acf7db20308e1ed6993a52151 git: https://github.com/tbidne/algebra-simple.git - completed: - commit: 50b07ca118ae140d065ec0285f38e72151da4cad + commit: f93b202c9d154b25b42b048570cf6648451aa577 git: https://github.com/tbidne/bounds.git name: bounds pantry-tree: - sha256: d91c77cff3f11ad338f1aeb7cb1a40d11e7e33c5b3113e34e09c0ee2a32fa1ef + sha256: d35ab86d343913f00cbb7ae8db587047e6bb8efdb76c5a376e31d7ba85a63ebe size: 833 version: '0.1' original: - commit: 50b07ca118ae140d065ec0285f38e72151da4cad + commit: f93b202c9d154b25b42b048570cf6648451aa577 git: https://github.com/tbidne/bounds.git - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-async pantry-tree: - sha256: c9a7ca3b6e7f0cb094e62a6c8ba7a8857dea4c324456e3a65c1b542e8e974eb6 + sha256: 8532a29c99d68841b99c93113d07e63f2e4faad7ca7f8419898e8792f259bba8 size: 236 subdir: lib/effects-async version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-async - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-exceptions pantry-tree: - sha256: 9430579f83c15249b6bcad0870ced846d619b979990285ab47a8140e1016fd97 - size: 293 + sha256: 854e1af85f546bbe678d2fd5d13437f27c309b5beaebfcbd29d40c58c32128c4 + size: 703 subdir: lib/effects-exceptions version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-exceptions - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-env pantry-tree: - sha256: 69ca790b7972b47e0229b27539d59d520c67a9731578316e909a2bb4ed346a62 + sha256: d0850c16bd2c15a1873d1f59a9e42e94752e8ce15ab06e4f9ee54876fecb1da9 size: 235 subdir: lib/effects-env version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-env - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-fs pantry-tree: - sha256: 0afd0876f0f16ce4cb7bd51036377077c620cb0f3cc6ae9a8cc8951c397e6dca + sha256: 3db78e6855f8a0c53ff83b20ee7fd0fca63f01cf828a07218e30f4e5b6bd5309 size: 2120 subdir: lib/effects-fs version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-fs - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-ioref pantry-tree: - sha256: 8ea529a23725216ae97e21c86bca8bf584293a31df795c23f73b047b0e3e5397 + sha256: 7ab85bccdb173fae222801d41a2e63c10e0265c53ef1c52d5bd1a5b56e4a5ecf size: 224 subdir: lib/effects-ioref version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-ioref - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-optparse pantry-tree: - sha256: 9652706c117e36057e7435aeec334d5993c77b13beb28b28875e6d220b2770a9 + sha256: d8e7858a4dd3c4d709807471905df170057d71fd3eb752120642cb5924189ada size: 230 subdir: lib/effects-optparse version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-optparse - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-stm pantry-tree: - sha256: dbe0e0cac073656acce79cc65ee2c356efe9fd620b4079646298b79e94cf34e6 + sha256: 2a8fe270edadddea6761e807af1079e7b59b15c82277177b57ec94b1aab41323 size: 231 subdir: lib/effects-stm version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-stm - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-time pantry-tree: - sha256: 3775033e604ea34ac30f8420d5b83761fdc9dc42f1cd5e11da6ce1ec204be14c + sha256: 20faa74b5f488221f0a394e00cfce28b1fa712a76a3d7b2e65226fb4b50d45eb size: 281 subdir: lib/effects-time version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-time - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-terminal pantry-tree: - sha256: 058022188ddba82e11e35d6b1bea2eef96831f6726db2a55ac80b817b7ba571c + sha256: fc80c105b8db53d81686444dcb4885e660c81fe8bfe08abf1d505cd94c1a2f6c size: 237 subdir: lib/effects-terminal version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-terminal - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-thread pantry-tree: - sha256: fdae9b4cb348030a4b5c1c52033bcdabcf79a192aeab356244ee02ca6c83e546 + sha256: 156d356571290d97f43b3c99f4e8d9a1913265f417666fade4f4b09a0b139217 size: 237 subdir: lib/effects-thread version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-thread - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-typed-process pantry-tree: - sha256: 254938dc015a4a3e4f68d6e1db32e7bb522182a6191955f8db4c6b04dedfa8f4 + sha256: 90a0608bd88cfc768fb5ecd7b64b16417f9e74f962b571b8f811525fbfc1469f size: 240 subdir: lib/effects-typed-process version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-typed-process - completed: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git name: effects-unix-compat pantry-tree: - sha256: bf8b3b0caabd07eb7eb53c5c39787e52a639f74ca9b0893f53281c517f67a23a + sha256: c92d9b941796b8c7c5b98cb845ee6677ebd68e1ae2062dfb3fbf69579ccc46fd size: 367 subdir: lib/effects-unix-compat version: '0.1' original: - commit: 6c3f405c6cecf6f2d6ed16f5a844470d3e3088b4 + commit: f3496c0d2606540498d6fd503e6855441ca03ee1 git: https://github.com/tbidne/monad-effects.git subdir: lib/effects-unix-compat - completed: - commit: 5f89851baf90c671fffa8d5118e0b37186220fef + commit: b3be9b3b904059671ef07dbcbb11b8c04d50ddde git: https://github.com/tbidne/relative-time.git name: relative-time pantry-tree: - sha256: 8add1beb02916519157de78f70e806282c90443b4e10dbbb894db3b27536a40f + sha256: b1a9788ee3f876b0ad21192b4f9bc65225bb9682dc9cd74fe6d9543fa4d4e928 size: 899 version: '0.1' original: - commit: 5f89851baf90c671fffa8d5118e0b37186220fef + commit: b3be9b3b904059671ef07dbcbb11b8c04d50ddde git: https://github.com/tbidne/relative-time.git - completed: - commit: bc73bff27b607be0e5b13c1d65e1da8b2ea29319 + commit: 308faf0ab25b39e0dda8de23d5d315e82260080f git: https://github.com/tbidne/si-bytes.git name: si-bytes pantry-tree: - sha256: da099d566e529594aa16f0f9f842c2be785b5bf40e1f1849c86b54a3839281ba + sha256: 06009fc621eed67bc97dba6d654bc3ff1300698444fb20e0c5649fa22fcbda8f size: 3108 version: '0.1' original: - commit: bc73bff27b607be0e5b13c1d65e1da8b2ea29319 + commit: 308faf0ab25b39e0dda8de23d5d315e82260080f git: https://github.com/tbidne/si-bytes.git - completed: - commit: a722e1fee10aeba79aaf88ed774f1cafb19930f4 + commit: 9bd570201445904d12d0e0b792f171d02e6f361e git: https://github.com/tbidne/smart-math.git name: smart-math pantry-tree: - sha256: 75d49249143b6e6b6ff6c15eb5daab7b06204c523ce7db07d136495ced95bb68 - size: 4652 + sha256: caca3dab8ec81ad65390544751a3071f0555770f15da06967591737ab70edafa + size: 4772 version: '0.1' original: - commit: a722e1fee10aeba79aaf88ed774f1cafb19930f4 + commit: 9bd570201445904d12d0e0b792f171d02e6f361e git: https://github.com/tbidne/smart-math.git snapshots: - completed: - sha256: 629fdd46125079fa6d355106005b2ab88bd39332169dd416fda06d5c0aaa63e2 - size: 713332 - url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/lts/22/17.yaml - original: lts-22.17 + sha256: 41aa9ed56d4c6e9beeb9f855315c33bfd98b02265eab3632fd18dba2eaaa2537 + size: 645363 + url: https://raw.githubusercontent.com/commercialhaskell/stackage-snapshots/master/nightly/2024/5/22.yaml + original: nightly-2024-05-22 diff --git a/test/unit/Unit/Shrun/IO/Types.hs b/test/unit/Unit/Shrun/IO/Types.hs index 8f6541eb..2e7aa9d2 100644 --- a/test/unit/Unit/Shrun/IO/Types.hs +++ b/test/unit/Unit/Shrun/IO/Types.hs @@ -1,5 +1,8 @@ module Unit.Shrun.IO.Types (tests) where +{- HLINT ignore "Monoid law, left identity" -} +{- HLINT ignore "Monoid law, right identity" -} + import Hedgehog.Gen qualified as G import Hedgehog.Range qualified as R import Shrun.Data.Text (StrippedText)