-
Notifications
You must be signed in to change notification settings - Fork 73
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
Make interpretH and friends expose Monad on existential m #333
Make interpretH and friends expose Monad on existential m #333
Conversation
In the process replace the existentially quantified parameter `m` of the Weaving with a parameter `r` and use `Sem r`.
Closes #304 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking the time to go through this!
There are some additional changes you've made that I disagree with; some more than others. If you want to keep them, you'll have to convince me they're worth it.
There's also the question if we should change the type signatures of interpret
and intercept
to also specify that the provided m is Sem r0
/a monad for symmetry (rather than usefulness). Either's fine for me.
65db238
to
bbf93d3
Compare
e71ff72
to
70aae42
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you! All that remains now are some stylistic choices, a minor inconsistency, and an update in documentation.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All good! Thanks for this!
In the process replace the existentially quantified parameter
m
of theWeaving with a parameter
r
and useSem r
.See also https://github.com/polysemy-research/polysemy/compare/master...A1kmm:weavingdetails-sem-experiment?expand=1 for this change broken down into smaller commits.