goggles icon indicating copy to clipboard operation
goggles copied to clipboard

Pleasant, yet principled Scala optics DSL

Results 25 goggles issues
Sort by recently updated
recently updated
newest added

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...

enhancement

Monocle is adding support: https://github.com/julien-truffaut/Monocle/commit/5d1e285c7d9774d98ad9cb07bd40ce91d0e24fbf We should too.

enhancement

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:...

question

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...

enhancement

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 =...

enhancement
question

@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...

enhancement
question

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...

enhancement
help wanted
question

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...

enhancement
help wanted

We should have some examples of idiomatic Goggles in code.