Luke
@optics
data class
data class Foo(val list: List<Bar>)
@optics data class Foo( val list: List<Bar>, ) { companion object } @optics data class Bar( val string: String, ) { companion object }
Foo.list./*find element*/.string.modify(foo, someTransformation)
simon.vergauwen
bar
Foo.list.first { it.startsWith('H') }.string.modify(foo, someTransformation)
A modern programming language that makes developers happier.