unionmount: Union mount filesystem paths into Haskell datastructures

[ filesystem, library, mit ] [ Propose Tags ]

Union mount filesystem paths into Haskell datastructures

[Skip to Readme]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS],,
Dependencies async, base (>=4.13.0 && <4.18), bytestring, containers, data-default, directory, filepath, filepattern, fsnotify (>=0.4.0 && <0.5), lvar, monad-logger, mtl, relude, text, time, unliftio, with-utf8 [details]
License MIT
Copyright 2021 Sridhar Ratnakumar
Author Sridhar Ratnakumar
Maintainer srid@srid.ca
Category Filesystem
Bug tracker https://github.com/srid/unionmount
Uploaded by sridca at 2023-08-09T22:17:18Z
Distributions NixOS:
Reverse Dependencies 3 direct, 1 indirect [details]
Downloads 271 total (8 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2023-08-09 [all 1 reports]

Readme for unionmount-

[back to package description]


Haskell library to "union mount" a bunch of folders onto an in-memory data structure, and keeping the latter in sync as the files change over time. Used in Ema and Emanote.


Both the mount and unionMount functions return a tuple value of type Dynamic, giving direct access to the initial value as well as the updater function that may be run in a separate thread. See how Ema uses it for an illustration.


See this example illustrating mounting a directory of Markdown files into (effectively) a Map FilePath String. A more involved example from Emanote demonstrates the "union" aspect of the library.