The global-variables package
Data.Global provides a global namespace of
TVars. This namespace may be accessed in pure code. Yet reading
and writing to those
TVars happens still in
their respective monads.
Data.Global is designed to meet the following use cases:
Simplify the declaration of top-level mutable variables, by avoiding any pragmas as well as
Avoid having to pass references explicitly throughout the program in order to let distant parts communicate.
Enable a communication by convention scheme, where e.g. different libraries may communicate without code dependencies.
Simplify the "configuration problem" - at least for code in the IO monad.
Note, that this library does not encourage sloppy software design by re-introducing all bad effects of global variables. Nevertheless, sometimes global variables are a suitable solution to a problem. In that case Data.Global simplifies and extends their handling significantly.
Examples are in the documentation of Data.Global.
0.1.0: added declareEmptyMVar and widened the stm dependency
0: First public release
|Versions||1.0, 22.214.171.124, 126.96.36.199|
|Dependencies||base (==4.*), containers (>=0.3 && <0.5), stm (>=2.1 && <2.3) [details]|
|Copyright||2011 Jean-Marie Gaillourdet|
|Author||Jean-Marie Gaillourdet and Patrick Michel|
|Maintainer||Jean-Marie Gaillourdet <firstname.lastname@example.org>|
|Source repository||head: hg clone http://bitbucket.org/jmg/global-variables|
|Uploaded||Wed Dec 7 10:13:13 UTC 2011 by JeanMarieGaillourdet|
|Downloads||1325 total (251 in the last 30 days)|
|Rating||(no votes yet) [estimated by rule of succession]|
|Status||Docs uploaded by user
Build status unknown [no reports yet]
Hackage Matrix CI
For package maintainers and hackage trustees