Yitzchak Gale
2017-08-28 22:56:13 UTC
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
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