@hackage trek0.0.1.0

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.