Fork me on GitHub
#specter
<
2023-02-10
>
nathanmarz02:02:22

i became aware of lenses probably about a year after I made the first version of specter

nathanmarz02:02:50

i'm not an expert in all the lens libraries, but the haskell one I know makes distinctions between lenses that go to one element vs. many

nathanmarz02:02:13

not sure what you mean by making a navigator that handles joins

chromalchemy06:02:44

I use Specter as an ad-hoc query language, and for sticky transformations as needed. When I need to join data, I could write a fn that that does a a select and use that as a “joined value” accessor. But that would have to scan every time. So I end up building a “join” map, mapping one value to the other. I even have a convenience fn to create these. Then i used these join-maps as functions in a Specter path: Nakedly they function as a predicate filter

(select [ALL join-map] col)
Or you can traverse the join with this:
(select [ALL (view join-map)] col)

nathanmarz02:02:36

i would say that's out of scope for specter