packages feed

duoidal-transformers 0.0.1.0 → 0.0.2.0

raw patch · 5 files changed

+56/−28 lines, 5 filesdep ~doctestdep ~duoidsdep ~no-recursionsetup-changedPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: doctest, duoids, no-recursion

API changes (from Hackage documentation)

Files

CHANGELOG.md view
@@ -5,10 +5,26 @@ The format is based on [Keep a Changelog 1.1](https://keepachangelog.com/en/1.1.0/), and this project adheres to the [Haskell Package Versioning Policy](https://pvp.haskell.org/). -## [0.0.1.0] -+## [0.0.2.0] - 2026-08-04  ### Added +- Cabal flag `lint`, which (when disabled, as is the default) allows the+  dependency graph to be pruned, potentially avoiding solver & compilation+  issues.++### Fixed++- `no-recursion` is no longer a dependency by default (thanks to the+  aforementioned `lint` change).++## [0.0.1.0] - 2025-11-17++### Added+ - initial release of this package -[0.1.0.0]: https://github.com/sellout/duoids/releases/tag/v0..0.1.0+<!-- NB: The version on the left is the Haskell package version (PVP), the version on the right is the repo (tag) version (SemVer). Their only relationship is that a change of any severity on the left implies a change of at least that severity on the right. -->++[0.0.2.0]: https://github.com/sellout/duoids/compare/v0.1.0...v1.0.0+[0.0.1.0]: https://github.com/sellout/duoids/releases/tag/v0.1.0
README.md view
@@ -3,11 +3,11 @@ [![Packaging status](https://repology.org/badge/tiny-repos/haskell:duoids.svg)](https://repology.org/project/haskell:duoids/versions) [![latest packaged versions](https://repology.org/badge/latest-versions/haskell:duoids.svg)](https://repology.org/project/haskell:duoids/versions) -Unifying parallel and sequential operations--Duoids relate a pair of monoids, where one can be seen as “parallel” and the other “sequential”.+[Duoids](https://hackage.haskell.org/package/duoids) applied to the [transformers](https://hackage.haskell.org/package/transformers) package.  ## usage++There is a `DuoidalTrans` class that works very much like `MonadTrans`. There are also `Duoidal` instances for various transformers.  ## versioning 
Setup.hs view
@@ -7,7 +7,6 @@ -- Warns even when `Unsafe` is explicit, not inferred. See -- https://gitlab.haskell.org/ghc/ghc/-/issues/16689 {-# OPTIONS_GHC -Wno-unsafe #-}-{-# OPTIONS_GHC -fplugin=NoRecursion #-}  module Main (main) where 
docs/license-report.md view
@@ -9,8 +9,8 @@ | Name | Version | [SPDX](https://spdx.org/licenses/) License Id | Description | Also depended upon by | | --- | --- | --- | --- | --- | | **`base`** | [`4.20.0.0`](http://hackage.haskell.org/package/base-4.20.0.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/base-4.20.0.0/src/LICENSE) | Core data structures and operations | *(core library)* |-| `duoids` | [`0.0.1.0`](http://hackage.haskell.org/package/duoids-0.0.1.0) |  *MISSING* | *MISSING* |  |-| `no-recursion` | [`0.3.0.0`](http://hackage.haskell.org/package/no-recursion-0.3.0.0) | [`(AGPL-3.0-only WITH Universal-FOSS-exception-1.0 OR AGPL-3.0-only OR LicenseRef-commercial)`](http://hackage.haskell.org/package/no-recursion-0.3.0.0/src/LICENSE) | A GHC plugin to remove support for recursion | `duoids` |+| `duoids` | [`0.1.0.0`](http://hackage.haskell.org/package/duoids-0.1.0.0) |  *MISSING* | *MISSING* |  |+| `no-recursion` | [`0.4.0.1`](http://hackage.haskell.org/package/no-recursion-0.4.0.1) | [`(AGPL-3.0-only WITH Universal-FOSS-exception-1.0 OR LicenseRef-proprietary)`](http://hackage.haskell.org/package/no-recursion-0.4.0.1/src/LICENSE) | A GHC plugin to remove support for recursion | `duoids` | | **`transformers`** | [`0.6.1.1`](http://hackage.haskell.org/package/transformers-0.6.1.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/transformers-0.6.1.1/src/LICENSE) | Concrete functor and monad transformers | `exceptions`, `ghc`, `ghci`, `mtl` |  ## Indirect transitive dependencies@@ -25,10 +25,11 @@ | **`directory`** | [`1.3.8.3`](http://hackage.haskell.org/package/directory-1.3.8.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/directory-1.3.8.3/src/LICENSE) | Platform-agnostic library for filesystem operations | `ghc`, `ghc-boot`, `hpc`, `process` | | **`exceptions`** | [`0.10.7`](http://hackage.haskell.org/package/exceptions-0.10.7) | [`BSD-3-Clause`](http://hackage.haskell.org/package/exceptions-0.10.7/src/LICENSE) | Extensible optionally-pure exceptions | `filepath`, `ghc`, `os-string`, `semaphore-compat` | | **`filepath`** | [`1.5.2.0`](http://hackage.haskell.org/package/filepath-1.5.2.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/filepath-1.5.2.0/src/LICENSE) | Library for manipulating FilePaths in a cross platform way. | `directory`, `ghc`, `ghc-boot`, `ghci`, `hpc`, `process`, `unix` |-| **`ghc`** | [`9.10.1`](http://hackage.haskell.org/package/ghc-9.10.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-9.10.1/src/LICENSE) | The GHC API | `no-recursion` |+| **`ghc`** | [`9.10.1`](http://hackage.haskell.org/package/ghc-9.10.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-9.10.1/src/LICENSE) | The GHC API | `ghc-compat-plugin`, `no-recursion` | | **`ghc-bignum`** | [`1.3`](http://hackage.haskell.org/package/ghc-bignum-1.3) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-bignum-1.3/src/LICENSE) | GHC BigNum library | `ghc-internal` | | **`ghc-boot`** | [`9.10.1`](http://hackage.haskell.org/package/ghc-boot-9.10.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-boot-9.10.1/src/LICENSE) | Shared functionality between GHC and its boot libraries | `ghc`, `ghci` |-| **`ghc-boot-th`** | [`9.10.1`](http://hackage.haskell.org/package/ghc-boot-th-9.10.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-boot-th-9.10.1/src/LICENSE) | Shared functionality between GHC and the @template-haskell@ library | `ghc-boot`, `template-haskell` |+| **`ghc-boot-th`** | [`9.10.1`](http://hackage.haskell.org/package/ghc-boot-th-9.10.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-boot-th-9.10.1/src/LICENSE) | Shared functionality between GHC and the @template-haskell@ library | `ghc-boot`, `ghc-compat-plugin`, `template-haskell` |+| `ghc-compat-plugin` | [`0.1.0.1`](http://hackage.haskell.org/package/ghc-compat-plugin-0.1.0.1) | [`AGPL-3.0-only`](http://hackage.haskell.org/package/ghc-compat-plugin-0.1.0.1/src/LICENSE.AGPL-3.0-only) | Eases support for multiple GHC versions | `no-recursion` | | **`ghc-heap`** | [`9.10.1`](http://hackage.haskell.org/package/ghc-heap-9.10.1) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-heap-9.10.1/src/LICENSE) | Functions for walking GHC's heap | `ghc`, `ghci` | | **`ghc-internal`** | [`9.1001.0`](http://hackage.haskell.org/package/ghc-internal-9.1001.0) | [`BSD-3-Clause`](http://hackage.haskell.org/package/ghc-internal-9.1001.0/src/LICENSE) | Basic libraries | `base`, `ghc-heap` | | **`ghc-platform`** | [`0.1.0.0`](http://hackage.haskell.org/package/ghc-platform-0.1.0.0) |  *MISSING* | *MISSING* | `ghc-boot` |
duoidal-transformers.cabal view
@@ -1,7 +1,7 @@ cabal-version: 3.0  name: duoidal-transformers-version: 0.0.1.0+version: 0.0.2.0 synopsis: Extending the tranformers package with duoids description: Duoidal transformers are a lot like monad transformers, but appear              to work parallelism magic.@@ -37,17 +37,6 @@   location: https://github.com/sellout/duoids.git   subdir: transformers -flag noisy-deprecations-  description:-    Prior to GHC 9.10, the @DEPRECATED@ pragma can’t distinguish between terms-    and types. Consenquently, you can get spurious warnings when there’s a name-    collision and the name in the other namespace is deprecated. Or you can-    choose to not get those warnings, at the risk of not being warned when-    there’s a name collision and the namespace you’re referencing is the one-    that’s deprecated.-  default: True-  manual: False- custom-setup   setup-depends:     -- TODO: Due to haskell/cabal#3751, `Cabal` has to be specified even though@@ -58,8 +47,27 @@     Cabal >= 3.0 && < 99,     base ^>= {4.18.0, 4.19.0, 4.20.0, 4.21.0},     cabal-doctest ^>= {1.0.0},-    no-recursion ^>= {0.2.0, 0.3.0}, +flag noisy-deprecations+  description:+    Prior to GHC 9.10, the @DEPRECATED@ pragma can’t distinguish between terms+    and types. Consenquently, you can get spurious warnings when there’s a name+    collision and the name in the other namespace is deprecated. Or you can+    choose to not get those warnings, at the risk of not being warned when+    there’s a name collision and the namespace you’re referencing is the one+    that’s deprecated.+  default: True+  -- Because disabling this flag won’t help the solver.+  manual: True++flag lint+  description:+    Compile with "NoRecursion" enabled. This is intended for developers of this+    package.+  default: False+  -- Because disabling this flag won’t help the solver.+  manual: True+ -- This mimics the GHC2024 extension -- (https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/control.html?highlight=doandifthenelse#extension-GHC2024), -- but supporting compilers back to GHC 8.0. If the oldest supported compiler@@ -83,7 +91,6 @@   import: GHC2024   build-depends:     base ^>= {4.18.0, 4.19.0, 4.20.0, 4.21.0},-    no-recursion ^>= {0.2.0, 0.3.0},   ghc-options:     -Weverything     -- This one just reports unfixable things, AFAICT.@@ -93,7 +100,6 @@     -- Warns even when `Unsafe` is explicit, not inferred. See     -- https://gitlab.haskell.org/ghc/ghc/-/issues/16689     -Wno-unsafe-    -fplugin=NoRecursion   if impl(ghc >= 9.8.1)     ghc-options:       -- Inference good.@@ -120,13 +126,19 @@     NoStarIsType     NoTypeApplications   if flag(noisy-deprecations)-    cpp-options: -DSELLOUT_NOISY_DEPRECATIONS+    cpp-options:+      -DSELLOUT_NOISY_DEPRECATIONS+  if flag(lint)+    build-depends:+      no-recursion ^>= {0.2.0, 0.3.0, 0.4.0},+    ghc-options:+      -fplugin=NoRecursion  library   import: defaults   hs-source-dirs: src   build-depends:-    duoids ^>= {0.0.1},+    duoids ^>= {0.0.1, 0.1.0},     transformers ^>= {0.6.1},   exposed-modules:     Control.Duoidal.Trans.Class@@ -138,7 +150,7 @@   hs-source-dirs: tests   main-is: doctests.hs   build-depends:-    doctest ^>= {0.21.1, 0.22.6, 0.24.0},+    doctest ^>= {0.21.1, 0.22.6, 0.24.0, 0.25.0},     duoidal-transformers,   -- TODO: The sections below here are necessary because we don’t have control   --       over the generated `Build_doctests.hs` file. So we have to silence