Chain – Replacing the List Monoid
List is a great data type, it is very simple and easy to understand. It has very low overhead for the most important functions such as fold and map and also supports prepending a single element in...
View ArticleVariance of Monad Transformers
A question that repeatedly pops up about Cats is why monad transformer types like OptionT and EitherT aren’t covariant like their Option and Either counterparts. This blog post aims to answer that...
View ArticleA comprehensive introduction to Cats-mtl
MTL is a library for composing monad transformers and making it easier to work with nested monad transformer stacks. It originates from the land of Haskell, but has made it into Scala a long time ago....
View ArticleA tale on Semirings
Ever wondered why sum types are called sum types? Or maybe you’ve always wondered why the <*> operator uses exactly these symbols? And what do these things have to do with Semirings? Read this...
View ArticleError handling in Http4s with classy optics – Part 2
This is a continuation of my previous blog post. Make sure you have read that one before continuing here. I recently gave a 20 minutes talk on classy optics at the unconference of Scale by the Bay...
View ArticleCats Ecosystem Community Survey 2018 Results
Overall we received 588 responses over the course of 30 days. This feedback is essential for us to make informed decisions on our 2019 plan. Thank you, everyone, who participated. As promised, here are...
View ArticleAlgebraic API Design - Types, Functions, Properties
In this post we are going to explore the concept of algebraic API design which is based on types, pure functions, and the relationships between them known as domain rules or properties. We will do this...
View ArticleTypelevel Sustainability Program Announcement
We are excited to announce the Typelevel sustainability program. The ultimate goal for this program is to provide ways for the user community to ensure the long-term sustainability of the development...
View ArticleTypelevel Switches to the Scala Code of Conduct
Typelevel is pleased to announce that we are retiring the Typelevel Code of Conduct in favour of the Scala Code of Conduct. Many of the major projects under the Typelevel umbrella have already made the...
View ArticleSupport Typelevel thanks to Triplequote Hydra and compile Scala faster!
Hello Community! As you all know, back in April we announced the Typelevel Sustainability Program and we have been delighted by the overwhelming support we received both from companies and individuals:...
View ArticleContributors and Community
Effective today, John De Goes has been indefinitely barred from participation in Typelevel projects. This most directly impacts Cats Effect, but applies to our other repositories as well. The cause is...
View ArticleUpdate About Sustainability Program
Six months ago, we launched the Typelevel sustainability program to provide more ways for our community to help support Typelevel projects. Since then, we received numerous donations from individuals...
View ArticleConfronting Racism
In the wake of unrest in the United States and elsewhere following the deaths of George Floyd, Ahmaud Arbery, Breonna Taylor, and countless others, it is important for us to consider the impact of...
View ArticleConcurrency in Cats Effect 3
Cats Effect 3 is just around the corner! The library has seen several major changes between 2.0 and 3.0, so in an effort to highlight those changes, we will be releasing a series of blog posts covering...
View ArticleWhy Are Fibers Fast?
With Cats Effect 3.0 right around the corner, we’ve been publishing a lot of numbers and scenarios which demonstrate disorientingly high performance in a lot of realistic setups. At first glance, this...
View ArticleCommunity Safety
Effective today, Jon Pretty is barred from participating in Typelevel projects and events. We make this decision based on well-substantiated reports of predatory behavior at Scala conferences,...
View ArticleDiscord Migration
Hello Community! We have a new Typelevel discord server. There is a large and growing community of Scala developers on Discord. Gitter has struggled as a platform for Typelevel for many reasons. We...
View ArticleOn Recent Events
Open source developers are free to choose the projects they contribute to and the communities they support. Martin Odersky’s recent objection to an exercise of this freedom threw the community into...
View ArticleGoverning Documents
As a first step in our effort to increase transparency in the Typelevel organization, the Steering Commitee have approved and released an initial set of Governing Documents. The most important document...
View ArticleCall for Steering Committee Members
The Typelevel Steering Committee is opening a call for new members as we continue to build a more transparent and sustainable community. In 2021, co-founders Lars Hupel and Miles Sabin stepped down...
View Article