focus: A general abstraction for manipulating elements of container data structures
An API for construction of free-form strategies of access and manipulation of elements of arbitrary data structures. It allows to implement efficient composite patterns, e.g., a simultaneous update and lookup of an element, and even more complex things.
Strategies are meant to be interpreted by the host data structure libraries. Thus they allow to implement all access and modification patterns of a data structure with just a single function, which interprets strategies.
This library provides pure and monadic interfaces, so it supports both immutable and mutable data structures.
Downloads
- focus-0.1.5.2.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0, 0.1.1, 0.1.2, 0.1.3, 0.1.4, 0.1.5, 0.1.5.1, 0.1.5.2, 1, 1.0.1, 1.0.1.1, 1.0.1.2, 1.0.1.3, 1.0.1.4, 1.0.2, 1.0.3, 1.0.3.1, 1.0.3.2 (info) |
---|---|
Dependencies | base (>=4.6 && <5) [details] |
Tested with | ghc ==7.6.3, ghc ==7.8.4, ghc ==7.10.3, ghc ==8.0.1, ghc ==8.2.1 |
License | MIT |
Copyright | (c) 2014, Nikita Volkov |
Author | Nikita Volkov <nikita.y.volkov@mail.ru> |
Maintainer | Nikita Volkov <nikita.y.volkov@mail.ru> |
Category | Containers, Data |
Home page | https://github.com/nikita-volkov/focus |
Bug tracker | https://github.com/nikita-volkov/focus/issues |
Source repo | head: git clone git://github.com/nikita-volkov/focus.git |
Uploaded | by NikitaVolkov at 2017-07-31T07:18:50Z |
Distributions | Arch:1.0.3.2, LTSHaskell:1.0.3.2, NixOS:1.0.3.2, Stackage:1.0.3.2 |
Reverse Dependencies | 17 direct, 124 indirect [details] |
Downloads | 27916 total (217 in the last 30 days) |
Rating | 2.0 (votes: 1) [estimated by Bayesian average] |
Your Rating | |
Status | Docs available [build log] Last success reported on 2017-07-31 [all 1 reports] |