Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Allow using io-classes 1.8 #101

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

Merged
merged 2 commits into from
May 30, 2025
Merged

Conversation

geo2a
Copy link
Contributor

@geo2a geo2a commented May 30, 2025

This PR allows using io-classes-1.8. We have to drop support for GHCs older than 9.4 as io-classes-1.8 does not support them.

@geo2a geo2a requested a review from a team as a code owner May 30, 2025 08:15
@geo2a geo2a force-pushed the geo2a/io-classes-1.8 branch 2 times, most recently from b07784b to 9905331 Compare May 30, 2025 08:43
Copy link
Contributor

@jasagredo jasagredo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved with some comments

.github/workflows/haskell.yml Outdated Show resolved Hide resolved
fs-sim/fs-sim.cabal Show resolved Hide resolved
@geo2a geo2a force-pushed the geo2a/io-classes-1.8 branch from 9905331 to b5b4cad Compare May 30, 2025 09:26
.github/workflows/haskell.yml Outdated Show resolved Hide resolved
@geo2a geo2a force-pushed the geo2a/io-classes-1.8 branch 3 times, most recently from e0ed8aa to de4a084 Compare May 30, 2025 10:16
@geo2a geo2a force-pushed the geo2a/io-classes-1.8 branch from de4a084 to 60c06ce Compare May 30, 2025 10:30
@geo2a geo2a enabled auto-merge May 30, 2025 10:33
@geo2a geo2a added this pull request to the merge queue May 30, 2025
Merged via the queue into input-output-hk:main with commit a9900ad May 30, 2025
19 checks passed
@geo2a geo2a deleted the geo2a/io-classes-1.8 branch May 30, 2025 10:42
Copy link
Contributor

@jorisdral jorisdral left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

drive-by comment

I hope you're all doing well!

The lower bound on base should arguably be updated if support for ghc-8.10 and ghc-9.2 is dropped

Related to that -- I'm okay with dropping ghc-8.10 support, but ghc-9.2 support seems relatively painless to keep. Dropping ghc-9.2 means that lsm-tree also has to drop ghc-9.2 (which we're happy to keep supporting). Given that fs-api and fs-sim are packages on Hackage, I think we should be careful with dropping support for ghc versions anyway

I tried building latest main (a9900ad) with ghc-9.2 and I realise there is a build error in io-classes:stm, which I suppose is the reason why you dropped support

Configuring library 'strict-stm' for io-classes-1.8.0.0...
Preprocessing library 'strict-stm' for io-classes-1.8.0.0...
Building library 'strict-stm' for io-classes-1.8.0.0...
[1 of 7] Compiling Control.Concurrent.Class.MonadSTM.Strict.TArray ( strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TArray.hs, dist/build/strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TArray.o, dist/build/strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TArray.dyn_o )
[2 of 7] Compiling Control.Concurrent.Class.MonadSTM.Strict.TBQueue ( strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TBQueue.hs, dist/build/strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TBQueue.o, dist/build/strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TBQueue.dyn_o )

strict-stm/Control/Concurrent/Class/MonadSTM/Strict/TBQueue.hs:44:22: error:
    • Illegal equational constraint LazyTBQueue m ~ LazyTBQueue n
      (Use GADTs or TypeFamilies to permit this)
    • In the type signature:
        castStrictTBQueue :: LazyTBQueue m ~ LazyTBQueue n =>
                             StrictTBQueue m a -> StrictTBQueue n a
   |
44 | castStrictTBQueue :: LazyTBQueue m ~ LazyTBQueue n
   |                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^...
Error: [Cabal-7125]
Failed to build lib:strict-stm from io-classes-1.8.0.0 (which is required by test:fs-sim-test from fs-sim-0.3.1.0). See the build log above for details.

But this build error is arguably an io-classes bug that should be resolved in a patch to io-classes, either by fixing the build failure or having stricter base bounds to rule out ghc-9.2

@jasagredo
Copy link
Contributor

Thanks Joris!!

I noted it down on an issue in the io-sim repository. Let's see what the maintainers decide. We will not publish fs-sim and fs-api until this is resolved one way or another.

geo2a added a commit to geo2a/fs-sim that referenced this pull request Jun 3, 2025
- tighten the lower bound on `base`
- tighten the constraint on `io-classes`

Follow-up to input-output-hk#101
geo2a added a commit to geo2a/fs-sim that referenced this pull request Jun 3, 2025
- tighten the lower bound on `base`
- tighten the constraint on `io-classes`

Follow-up to input-output-hk#101
geo2a added a commit to geo2a/fs-sim that referenced this pull request Jun 3, 2025
- tighten the lower bound on `base`
- tighten the constraint on `io-classes`

Follow-up to input-output-hk#101
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants
Morty Proxy This is a proxified and sanitized view of the page, visit original site.