Squid
Monocle
Our great sponsors
Squid | Monocle | |
---|---|---|
1 | 5 | |
196 | 1,630 | |
-0.5% | 0.1% | |
0.0 | 8.2 | |
3 months ago | 2 days ago | |
Scala | Scala | |
Apache License 2.0 | 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.
Squid
-
Haskell doesn't have macros
In the video, the presenter says he doesn't know any other system with "type-aware hygienic macros". You may want to have a quick look at Scala 3, which also has such a system. See, for instance, this paper and also the precursor work by myself for Scala 2: https://github.com/epfldata/squid#publications
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
What are some alternatives?
Cassovary - Cassovary is a simple big graph processing library for the JVM
Quicklens - Modify deeply nested case class fields
refined - Refinement types for Scala
Shapeless - Generic programming for Scala
Twitter Util - Wonderful reusable code from Twitter
Chimney - Scala library for boilerplate-free, type-safe data transformations
n-scala - A new Scala wrapper for Joda Time based on scala-time
cats - Lightweight, modular, and extensible library for functional programming.
scribe - The fastest logging library in the world. Built from scratch in Scala and programmatically configurable.
Scalaz - Principled Functional Programming in Scala
better-files - Simple, safe and intuitive Scala I/O
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.