Skip to content

ComposeT#121

Open
sjshuck wants to merge 9 commits into
haskell:mainfrom
sjshuck:compose-t
Open

ComposeT#121
sjshuck wants to merge 9 commits into
haskell:mainfrom
sjshuck:compose-t

Conversation

@sjshuck
Copy link
Copy Markdown
Collaborator

@sjshuck sjshuck commented May 31, 2026

Continued from Celso Bonutti's branch.

@sjshuck sjshuck mentioned this pull request May 31, 2026
* Comments, Trustworthy, export list
* Add runComposeT field accessor
* Remove support for old GHC versions
* Support MHS by declaring kind vars
* Add Generic instance
* INLINE lift
* Make type variable names more like others in the library
Copy link
Copy Markdown
Collaborator

@L0neGamer L0neGamer left a comment

Choose a reason for hiding this comment

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

I think we should add a changelog entry along with this if possible.

Comment thread Control/Monad/Trans/Compose.hs Outdated
@sjshuck sjshuck requested a review from L0neGamer May 31, 2026 17:00
@sjshuck
Copy link
Copy Markdown
Collaborator Author

sjshuck commented May 31, 2026

I think we should add a changelog entry along with this if possible.

There have been other things changed since last release. I think it's okay to wait until before the next release and catch everything.
EDIT: Also should go back and put @since annotations on new things.

@Bodigrim
Copy link
Copy Markdown
Contributor

Thank you! I think it would be nice to derive more instances. Namely, one can additionally define

  • Alternative, MonadFail, MonadPlus, MonadFix, MonadZip;
  • Eq, Ord, Read, Show, Foldable, Traversable;
  • also perhaps Contravariant?..

@sjshuck
Copy link
Copy Markdown
Collaborator Author

sjshuck commented Jun 2, 2026

MicroHS action failing over Traversable instance. According to https://github.com/augustss/MicroHs/blob/master/RELEASE-v0.16.0.0.md, DeriveTraversable only recently started working. Bumping MicroHS to see if that helps.

Copy link
Copy Markdown
Contributor

@Bodigrim Bodigrim left a comment

Choose a reason for hiding this comment

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

LGTM!

@L0neGamer
Copy link
Copy Markdown
Collaborator

Not to go too instance crazy, but do we want Eq1 and co as well?

@sjshuck
Copy link
Copy Markdown
Collaborator Author

sjshuck commented Jun 2, 2026

Not to go too instance crazy, but do we want Eq1 and co as well?

I think it's worth thinking about. TBH I tried TestEquality and gave up after seeing it's not similar to how Data.Functor.Compose.Compose instantiates it. So this first whack is whatever's trivially derivable and we can add more later as interest is expressed IMO.

@sjshuck
Copy link
Copy Markdown
Collaborator Author

sjshuck commented Jun 3, 2026

Added Eq1 and Ord1, they were trivial after all. @L0neGamer merge at your discretion.

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.

4 participants