[ bsd3, library, unclassified ] [ Propose Tags ]

Please see the README on GitHub at

[Skip to Readme]


[Index] [Quick Jump]


Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS]
Change log
Dependencies base (>=4.7 && <5), logict, mtl [details]
License BSD-3-Clause
Copyright 2020 Author name here
Author Author name here
Home page
Bug tracker
Source repo head: git clone
Uploaded by ChrisPenner at 2020-05-21T22:53:56Z
Distributions NixOS:
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 218 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 2020-05-21 [all 1 reports]

Readme for trek-

[back to package description]


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.


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.