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

Allows using `goggles` from Scala.js projects. I know a previous scala.js branch was reverted #44 due to it altering the project layout, on this PR I'm trying to keep things...

This branch enables CI tests on GitHub since it looks like the travis build is no longer working.

Specs2 doesn't have a great ScalaJS story at the moment. We are not using any fancy features with our tests at the moment, we just need asserts and ScalaCheck. If...

On my poor Windows 10 default, the unicode borders of the fancy error tables turn into question marks: ``` Sections ? Types ? Optics ??????????????????????????????????????????????????????????????????????? $myBasket ? ShoppingBasket ? .items...

bug

Lens mode has to start with an interpolated optic, so that it knows the type to start with. If you want to start with something else, it's possible to put...

This is more for discussion rather than saying "we should do it now", but I want to note that dotty seems to be going in the direction of using more...

question

I was trying to use goggles to modify a value inside a case class with a type parameter (type parameters should remain the same). Simplified, code like this: ```scala import...

bug

When a literal is interpolated in an index position, the type is overspecialised to the exact literal instance type (`Int(1)`, `String("abc")`, `Char('a')` etc), rather than the expected type (`Int`, `String`....

bug

Using the `.name` syntax, `get` and `set` modes generate the most general possible optics, `Getter`s and `Setter`s respectively. This means that more code can participate, such as no-arg methods with...

enhancement

Case classes naturally support polymorphic update: ``` case class Foo[A](foo: A) val f: Foo[Int] = Foo(3) >> f: Foo[Int] f.copy(_.toString) >> res2: Foo[String] ``` This should work in Goggles too,...

enhancement