scala.meta
Monocle
Our great sponsors
scala.meta | Monocle | |
---|---|---|
2 | 5 | |
1,087 | 1,629 | |
0.6% | 0.2% | |
9.8 | 8.3 | |
4 days ago | 1 day ago | |
Scala | Scala | |
BSD 3-clause "New" or "Revised" License | MIT License |
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.
scala.meta
-
Scala Library To Generate Case Classes for JSON
I just wrote a small generator for a personal project using scalameta. It might be worth doing just for the learning experience, I thought it was a blast to use.
-
Running tests from emacs
I have successfully installed metals on emacs as per the instructions on scalameta.org - things like syntax highlighting and jump to definiton work, and lsp-metals-doctor-run shows mostly green ticks.
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:
-
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
What are some alternatives?
Shapeless - Generic programming for Scala
Quicklens - Modify deeply nested case class fields
Lamma - Lamma schedule generator for Scala is a professional schedule generation library for periodic schedules like fixed income coupon payment, equity deravitive fixing date generation etc.
Ammonite-Ops - Scala Scripting
Chimney - Scala library for boilerplate-free, type-safe data transformations
Scala Async - An asynchronous programming facility for Scala
cats - Lightweight, modular, and extensible library for functional programming.
Scalaz - Principled Functional Programming in Scala
refined - Refinement types for Scala
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.