Please log in to watch this conference skillscast.
The early 2010’s were exciting times for Scala. The language & ecosystem started to professionalize, both from a technical (binary compatibility) and a community point of view (many conferences were started). Not too long after Lightbend – then Typesafe – was founded, I registered the typelevel.org domain on a whim and put together a rudimentary website advertising a few FP-minded Scala libraries. Fast forward to today: Typelevel is known for a wealth of functional libraries, beginner-friendly educational resources, a series of conferences and a distinct ecosystem – including a custom compiler – within the Scala community. In this talk, I’d like to examine what got us there and into the mainstream.
Question: Cats Effect was brought up as a separate library separately from cats was it? they seem very close together
Answer: I believe (IIRC) that originally the
abstraction came from the Red Book where they were trying to build a better
Future than the stdlib had to offer.
It was integrated into scalaz at some point and used in scalaz-streams, but then the latter library evolved quite a lot, now being fs2. Somewhere in the middle it was decided that it's best to have async abstractions in a dedicated library so that it could serve as a shared kernel for streaming libraries: e.g. both Monix and fs2 support Cats Effect typeclasses
Question: You mentioned a library pureconfig that uses shapeless. Is pureconfig recommended over ci.ris these days?
Answer: Ciris is also a Typelevel library. It has some different design decisions, so it comes down a bit to personal preference also.
I think Ciris has no derivation support, though (From Jakub K: Yep, on purpose - there's no standard way to derive things, like how do you load a string field?)
OTOH it integrates nicely with
YOU MAY ALSO LIKE:
- Theorems for Free (SkillsCast recorded in November 2020)
- What is happening with Java? (Online Meetup on 6th June 2022)
- WebAssembly for Java Developers (Online Meetup on 8th June 2022)
- Connecting the dots - building and structuring a functional application in Scala (SkillsCast recorded in May 2021)
- Journey to the Centre of the JVM (SkillsCast recorded in May 2021)