about summary refs log tree commit diff
path: root/users/Profpatsch/lens.nix
AgeCommit message (Collapse)AuthorFilesLines
2021-11-13 r/3049 feat(users/Profpatsch/lens): lens library for nixProfpatsch1-0/+131
Profunctor lenses for nix. Implemented Profunctor and Strong instances for `(->)`, and some simple setters. Next step would be getters, which will need the `Forget` profunctor. Fairly straightforward implementation of https://github.com/purescript-contrib/purescript-profunctor-lenses (with all the types erased and instance dicts passed manually). ``` > :p set (optic [_2 (field "foo") _1]) 42 (tuple 1 { foo = (tuple 1 2); }) { fst = 1; snd = { foo = { fst = 42; snd = 2; }; }; } ``` Change-Id: Iad145523d1c035187b8b2db9302b840c282d427a Reviewed-on: https://cl.tvl.fyi/c/depot/+/3295 Tested-by: BuildkiteCI Reviewed-by: Profpatsch <mail@profpatsch.de>