diff options
author | Profpatsch <mail@profpatsch.de> | 2021-08-08T16·25+0200 |
---|---|---|
committer | Profpatsch <mail@profpatsch.de> | 2021-11-13T00·57+0000 |
commit | 850dcf615b3c0a453e17bddf37dd7e59d70b7e58 (patch) | |
tree | c99f098ee195f946c91d4b4c0f4693cd06a696f5 /third_party/lisp/npg | |
parent | b48c5c497620288a08a5c225389231ffaede8f8f (diff) |
feat(users/Profpatsch/lens): lens library for nix r/3049
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>
Diffstat (limited to 'third_party/lisp/npg')
0 files changed, 0 insertions, 0 deletions