Discussion:
Reviving strict-concurrency
Yitzchak Gale
2017-08-28 22:56:13 UTC
Permalink
The base library does not provide strict variants for the basic concurrency
primitives. Instead, the haddocks for Control.Concurrent.MVar recommend
using Don Stewarts's strict-concurrency library:

https://hackage.haskell.org/package/strict-concurrency

But that library has not been buildable for years. The homepage seems
no longer accessible, and there is no source repository link.

I created a github repo from the tarball for version 0.2.4.1 (the latest, from
2010), and then made the minor tweaks needed to get it build with modern
GHC. The library provides no tests, so I have no idea if what I did still
provides the advertised guarantees or even actually works. My repo is here:

https://github.com/ygale/strict-concurrency

Is the library still as critical as it used to be? Perhaps not in this age of
async and STM, but to me it still makes sense to offer strict versions of
these primitives. If so, then perhaps this small and simple library should be
taken under the wing of libraries as maintainer.

In any case, could someone please at least apply my patch and upload to
hackage, so that it will be buildable again?

I became aware of this because I was hoping to use vacuum for a complex
debugging task, but vacuum also hasn't been buildable for several years due
to its dependence on strict-concurrency. Whether vacuum will actually work
after several years of neglect is a separate question.

Thanks,
Yitz
Gershom B
2017-08-29 01:32:44 UTC
Permalink
Yitz — do you want to request maintainership of strict-concurrency so you can do the takeover yourself? There’s a standing policy for old dons libraries that he’s happy to give maintainership to people who want to step up :-) Just email ***@hackage.haskell.org and I think it can be done in a jif.

Cheers,
Gershom
Post by Yitzchak Gale
The base library does not provide strict variants for the basic concurrency
primitives. Instead, the haddocks for Control.Concurrent.MVar recommend
https://hackage.haskell.org/package/strict-concurrency
But that library has not been buildable for years. The homepage seems
no longer accessible, and there is no source repository link.
I created a github repo from the tarball for version 0.2.4.1 (the latest, from
2010), and then made the minor tweaks needed to get it build with modern
GHC. The library provides no tests, so I have no idea if what I did still
https://github.com/ygale/strict-concurrency
Is the library still as critical as it used to be? Perhaps not in this age of
async and STM, but to me it still makes sense to offer strict versions of
these primitives. If so, then perhaps this small and simple library should be
taken under the wing of libraries as maintainer.
In any case, could someone please at least apply my patch and upload to
hackage, so that it will be buildable again?
I became aware of this because I was hoping to use vacuum for a complex
debugging task, but vacuum also hasn't been buildable for several years due
to its dependence on strict-concurrency. Whether vacuum will actually work
after several years of neglect is a separate question.
Thanks,
Yitz
_______________________________________________
Libraries mailing list
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
Yitzchak Gale
2017-08-29 09:04:26 UTC
Permalink
Post by Gershom B
Yitz — do you want to request maintainership of strict-concurrency
so you can do the takeover yourself?
I was afraid you were going to say that. :) In my opinion this is
basic infrastructure, so the maintainer should be libraries.
In fact, it would have been in base to begin with if not for its
dependence on deepseq. And I would not be the greatest maintainer
for the library.

But if libraries refuses to take it and no one else wants it, I'll take
it for now. Better that than the current disastrous situation. If anyone
else wants to take it over at any time, I'll be happy to relinquish it,
subject to informal approval by libraries committee people.

Thanks,
Yitz
David Feuer
2017-08-29 09:07:12 UTC
Permalink
The libraries list is always available to advise library maintainers.
Post by Yitzchak Gale
Yitz — do you want to request maintainership of strict-concurrency
so you can do the takeover yourself?
I was afraid you were going to say that. :) In my opinion this is
basic infrastructure, so the maintainer should be libraries.
In fact, it would have been in base to begin with if not for its
dependence on deepseq. And I would not be the greatest maintainer
for the library.
But if libraries refuses to take it and no one else wants it, I'll take
it for now. Better that than the current disastrous situation. If anyone
else wants to take it over at any time, I'll be happy to relinquish it,
subject to informal approval by libraries committee people.
Thanks,
Yitz
_______________________________________________
Libraries mailing list
http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
Loading...