goggles
goggles copied to clipboard
Pleasant, yet principled Scala optics DSL
Currently if -Yrangepos is not set, then interpolated args cannot be displayed in the leftmost column of the error table, and the position of the ^ indicator cannot be accurately...
Strings seem a common enough index type that a literal syntax could be useful, ie for JSON or XML documents. Single quotes will be the most convenient. I don't think...
Monocle is adding support: https://github.com/julien-truffaut/Monocle/commit/5d1e285c7d9774d98ad9cb07bd40ce91d0e24fbf We should too.
A common Monocle idiom, currently unsupported by Goggles, is composing lens set/modify expressions before the object is applied. This returns an endofunction, with pleasing compositional properties. For instance: `val x:...
In the same way that the `.name` syntax automatically navigates case-class-like fields with Lenses, it should be able to navigate ADTs in `sealed` class hierarchies with Prisms. This should be...
If we have multiple changes to make to a structure, how can we perform them all without it looking terrible? ``` val game1 = set"$game.currentLevel.player.health" := 100 val game2 =...
@julien-truffaut mentioned that: > Lenses still cause a performance overhead around 2x comparing to hand written copy (as measured with jmh) Since Goggles is generating code anyway, could we gain...
Within the macro, type information flows from left to right throughout, allowing type inference to finish the job in the generated code. However, interpolated values are typechecked before the macro...
I don't know if this is possible, but it would be nice to get rid of the red squigglies in Intellij. It would have to know about the static type...
We should have some examples of idiomatic Goggles in code.