-
Notifications
You must be signed in to change notification settings - Fork 15
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
Strict MVars without invariant checking #72
Conversation
strict-mvar/strict-mvar.cabal
Outdated
synopsis: Strict MVars for `IO` and `io-sim` | ||
description: Strict MVars for `IO` and `io-sim`. |
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.
This should probably say io-classes
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.
synopsis: Strict MVars for `IO` and `io-sim` | |
description: Strict MVars for `IO` and `io-sim`. | |
description: Strict MVars for `IO` and `IOSim` from `io-sim` package. |
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.
I've changed it to:
Strict MVars for implementations of the
io-classes
MVar interface
7219f69
to
6088e3b
Compare
f28043e
to
2b8d04b
Compare
1634507
to
554efcd
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.
Very nice, just a few minor remarks.
strict-mvar/strict-mvar.cabal
Outdated
synopsis: Strict MVars for `IO` and `io-sim` | ||
description: Strict MVars for `IO` and `io-sim`. |
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.
synopsis: Strict MVars for `IO` and `io-sim` | |
description: Strict MVars for `IO` and `io-sim`. | |
description: Strict MVars for `IO` and `IOSim` from `io-sim` package. |
17df045
to
56a12d4
Compare
56a12d4
to
6c5ff79
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.
LGTM.
* Fix a broken link in `strict-stm/README.md` * Ensure `strict-mvar` is built correctly in CI. * Update `source-repository head` stanzas. * Add `TypeOperators` language pragma.
6c5ff79
to
1873f3c
Compare
Part of #34
This PR provides a new
strict-mvar
packages that implements strict MVars without invariant checking. Strict MVars are implemented in a fairly straightforward way by wrapping lazy MVars and forcing evaluation to WHNF before placing values in the lazy MVar.@dcoutts suggested that strict MVars with invariant checking should be provided separately from MVars without invariant checking. As such, this PR only provides the latter.