Taking over maintainership of cautious-file (or does anyone know of an alternative?)

The cautious-file package http://hackage.haskell.org/package/cautious-file has not been updated by the maintainer, Robin Green, since 2013 (though there have been a few Hackage trustee updates since then). The linked source repository was hosted on patch-tag.com and no longer exists. I tried contacting the maintainer on January 25 but have not heard back. I hereby announce my intention to take over as maintainer of the package. (As a side note, as far as I know my diagrams-haddock package is the only thing on Hackage that depends on it.) Alternatively, if anyone knows of a different, actively maintained package that provides similar functionality, I'd love to hear about it! -Brent

Tangentially, note that `cautious-file` has drawbacks: * It is not async-exception safe and may leak file descriptors. It uses `handleToFd` without proper exception handling (`bracket`). * It does not `fsync` the directory in which the file is, meaning that you may still experience data loss on computer crashes. `unliftio` provides actively maintained versions of most of what `cautious-file` does, addresses those drawbacks and is well-tested against crashes: https://hackage.haskell.org/package/unliftio-0.2.12/docs/UnliftIO-IO-File.ht... For example, `writeBinaryFileDurableAtomic`. Niklas

Perfect, thanks! I will try switching over to use unliftio. Assuming it
meets my needs --- and I see no reason why it won't --- I withdraw my
intention to take over cautious-file.
-Brent
On Thu, Feb 13, 2020 at 10:43 AM Niklas Hambüchen
Tangentially, note that `cautious-file` has drawbacks:
* It is not async-exception safe and may leak file descriptors. It uses `handleToFd` without proper exception handling (`bracket`). * It does not `fsync` the directory in which the file is, meaning that you may still experience data loss on computer crashes.
`unliftio` provides actively maintained versions of most of what `cautious-file` does, addresses those drawbacks and is well-tested against crashes:
https://hackage.haskell.org/package/unliftio-0.2.12/docs/UnliftIO-IO-File.ht...
For example, `writeBinaryFileDurableAtomic`.
Niklas

I have no comment on the maintainership issue, but I do feel I should note that according to https://packdeps.haskellers.com/reverse/cautious-file there looks to be one other package that depends on it, called tbox.

Yes, you're right. I wasn't counting tbox since it depends on an old
version of cautious-file and hasn't been updated in 10 years, but I should
have made a more precise statement.
-Brent
On Fri, Feb 14, 2020 at 7:45 PM Ashlynn Anderson
I have no comment on the maintainership issue, but I do feel I should note that according to https://packdeps.haskellers.com/reverse/cautious-file there looks to be one other package that depends on it, called tbox._______________________________________________ Haskell-Cafe mailing list To (un)subscribe, modify options or view archives go to: http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe Only members subscribed via the mailman list are allowed to post.
participants (3)
-
Ashlynn Anderson
-
Brent Yorgey
-
Niklas Hambüchen