Monocle
tofu
Monocle | tofu | |
---|---|---|
5 | 2 | |
1,632 | 518 | |
0.2% | 1.0% | |
8.2 | 8.0 | |
12 days ago | 2 days ago | |
Scala | Scala | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Monocle
-
Ref in cats-effect. When should I use it, and when should I not?
Without concurrency, using a Ref doesn't buy you anything over just using a var. If you want the benefits of immutability with an API that resembles mutability, you have to use something like Monocle.
-
Show HN: Monocle – bidirectional code generation library
A very popular Scala optics library is also called Monocle. I’ve been a happy user for a few years:
https://github.com/optics-dev/Monocle
-
Monocle 3 release candidate - a super useful and simple library for optics with poetic api
See example https://www.optics.dev/Monocle/
- Monocle 3.0.0-M1 is released for Scala 2.13 and Scala 3
-
Monocle 3 Roadmap
We always have work to do, for example to define scalfix rules to automate the migration https://github.com/optics-dev/Monocle/issues/1001
tofu
-
Companies with interesting Scala projects
Tinkoff has a strong Scala FP presense: - https://github.com/tofu-tf/tofu - https://github.com/tofu-tf/derevo - https://github.com/tofu-tf/typed-schema
-
Monocle 3 Roadmap
Note: I believe tofu-optics uses a profunctor encoding under the hood which let them side steps some type inference issues. Better to check with Odomontois.
What are some alternatives?
Quicklens - Modify deeply nested case class fields
Learn-by-doing functional programming course on Scala - learn-by-doing course/tutorial for functional programming on scala
Shapeless - Generic programming for Scala
effekt - A research language with effect handlers and lightweight effect polymorphism
Chimney - Scala library for boilerplate-free, type-safe data transformations
ios-application - A native, lightweight and secure one-time-password (OTP) client built for iOS; Raivo OTP!
cats - Lightweight, modular, and extensible library for functional programming.
cats-effect - The pure asynchronous runtime for Scala
Scalaz - Principled Functional Programming in Scala
Monocly - Optics experimentation for Dotty
Scala Graph - Graph for Scala is intended to provide basic graph functionality seamlessly fitting into the Scala Collection Library. Like the well known members of scala.collection, Graph for Scala is an in-memory graph library aiming at editing and traversing graphs, finding cycles etc. in a user-friendly way.
cats-mtl - cats transformer type classes.