trek

[ bsd3, library, unclassified ] [ Propose Tags ]

Please see the README on GitHub at https://github.com/githubuser/trek#readme


[Skip to Readme]
Versions [faq] 0.0.1.0
Change log ChangeLog.md
Dependencies base (>=4.7 && <5), logict, mtl [details]
License BSD-3-Clause
Copyright 2020 Author name here
Author Author name here
Maintainer example@example.com
Home page https://github.com/githubuser/trek#readme
Bug tracker https://github.com/githubuser/trek/issues
Source repo head: git clone https://github.com/githubuser/trek
Uploaded by ChrisPenner at 2020-05-21T22:53:56Z
Distributions NixOS:0.0.1.0
Downloads 65 total (5 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs available [build log]
Last success reported on 2020-05-21 [all 1 reports]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees


Readme for trek-0.0.1.0

[back to package description]

Trek

Provides a generic monadic interface for diving through and updating arbitrary structures.

It takes inspiration from:

Elevator Pitch

Trek allows you to dive down into nested structures while keeping handles on relevant bits as you go.

You can then transform the structure, collect results, etc.

Trek implicitly handles the idea of missing or multiple values for you, meaning you can write your collections or transformations declaratively.

trek-lens

There's an extension to trek: trek-lens which I highly recommend using. It provides the focusing combinator which gives Trek a LOT more power. Trek is meant to be used alongside optics.