Blog

In addition to org-level announcements, here we show you how to use our libraries in your code, provide examples, collect learning resources, and explore implementation details.

Call For Code of Conduct Committee Members

by Typelevel on Aug 24, 2024

governance

New Code of Conduct

by Typelevel on Mar 11, 2024

governance

GitHub Seats

on Mar 10, 2024

technical

Typelevel Summer of Code 2024

by Arman Bilge on Mar 02, 2024

technical

Typelevel Governance Update

by Typelevel on Nov 03, 2023

governance

Typelevel Toolkit

by Rishad Sewnarain on Apr 03, 2023

technical

Typelevel Summer of Code

by Arman Bilge on Feb 23, 2023

technical

Fabric: A New JSON Library

by Matt Hicks on Nov 10, 2022

governance

Typelevel Native

by Arman Bilge on Sep 19, 2022

technical

New Typelevel Tuple Team

by Typelevel on Sep 12, 2022

governance

New Website Layout Launched

by Typelevel on Sep 06, 2022

governance

Welcoming New Steering Committee Members

by Typelevel on Jul 25, 2022

governance

Call for Steering Committee Members

by Typelevel on Apr 01, 2022

governance

Governing Documents

by Typelevel on Jan 19, 2022

governance

On Recent Events

by Typelevel on Nov 15, 2021

governance

Discord Migration

by Typelevel on May 05, 2021

social

Community Safety

by Typelevel on Apr 27, 2021

social

Why Are Fibers Fast?

by Daniel Spiewak on Feb 21, 2021

technical

Concurrency in Cats Effect 3

by Raas Ahsan on Oct 30, 2020

technical

Confronting Racism

by Mark Tomko on Jun 17, 2020

social

Update About Sustainability Program

by Typelevel on Nov 13, 2019

governance

Contributors and Community

by Typelevel on Sep 05, 2019

governance

Support Typelevel thanks to Triplequote Hydra and compile Scala faster!

by Typelevel on May 29, 2019

governance

Typelevel Switches to the Scala Code of Conduct

by Typelevel on May 01, 2019

governance

Typelevel Sustainability Program Announcement

by Typelevel on Apr 24, 2019

governance

Algebraic API Design - Types, Functions, Properties

by Leif Battermann on Feb 06, 2019

technical

Cats Ecosystem Community Survey 2018 Results

by Kailuo Wang on Jan 30, 2019

technical

Error handling in Http4s with classy optics – Part 2

by Gabriel Volpe on Nov 28, 2018

technical

A tale on Semirings

by Luka Jacobowitz on Nov 02, 2018

technical

A comprehensive introduction to Cats-mtl

by Luka Jacobowitz on Oct 06, 2018

technical

Variance of Monad Transformers

by Cody Allen on Sep 29, 2018

technical

Chain – Replacing the List Monoid

by Luka Jacobowitz on Sep 04, 2018

technical

Error handling in Http4s with classy optics

by Gabriel Volpe on Aug 25, 2018

technical

Refactoring with Monads

by Mark Tomko on Aug 07, 2018

technical

Testing in the wild

by Eric Torreborre on Jul 12, 2018

technical

Optimizing Tagless Final – Part 2 – Monadic programs

by Luka Jacobowitz on Jun 27, 2018

technical

Typedapi or how to derive your clients and servers from types

by Paul Heymann on Jun 15, 2018

technical

Shared State in Functional Programming

by Gabriel Volpe on Jun 07, 2018

technical

Tagless Final Algebras and Streaming

by Gabriel Volpe on May 09, 2018

technical

Product with Serializable

by Cody Allen on May 09, 2018

technical

Rethinking MonadError

by Luka Jacobowitz on Apr 13, 2018

technical

Optimizing Tagless Final – Saying farewell to Free

by Luka Jacobowitz on Dec 27, 2017

technical

Announcement: cats 1.0.0

by Kailuo Wang on Dec 25, 2017

technical

Who implements the typeclass instance?

by Stephen Compall on Dec 20, 2017

technical

There are at least three types of strings

by Stephen Compall on Sep 05, 2017

technical

Announcement: cats 1.0.0-MF

by Kailuo Wang on Aug 04, 2017

technical

Validated Configurations with Ciris

by Viktor Lövgren on Jun 21, 2017

technical

Compile time dimensional analysis with Libra

by Zainab Ali on Jun 13, 2017

technical

An IO monad for cats

by Daniel Spiewak on May 02, 2017

technical

Equivalence versus Equality

by Tomas Mikula on Apr 02, 2017

technical

Four ways to escape a cake

by Stephen Compall on Mar 01, 2017

technical

There are more types than classes

by Stephen Compall on Feb 13, 2017

technical

Endorsing the new Scala Code of Conduct

by Typelevel on Dec 17, 2016

governance

API Design for Heaps (aka Priority Queues)

by Chris Okasaki on Nov 17, 2016

technical

EDSLs as functions

by Adelbert Chang on Oct 26, 2016

technical

Typelevel representative at the Scala Center Advisory Board

by Lars Hupel on Oct 18, 2016

governance

Let's build ourselves a small ScalaCheck

by Lars Hupel on Oct 17, 2016

technical

Subtype type classes don't work

by Adelbert Chang on Sep 30, 2016

technical

It's programs all the way down

by Adelbert Chang on Sep 21, 2016

technical

Choosing variance for a phantom type

by Stephen Compall on Sep 19, 2016

technical

Higher-kinded types: the difference between giving up, and moving forward

by Stephen Compall on Aug 21, 2016

technical

Making internal state functional

by Stephen Compall on May 10, 2016

technical

The Typelevel Summit in Boulder is Cancelled

by Typelevel on Mar 24, 2016

summits

Information hiding, enforced

by Adelbert Chang on Mar 13, 2016

technical

Of variance and functors

by Adelbert Chang on Feb 04, 2016

technical

First batch of talks at the Philadelphia Summit

by Lars Hupel on Jan 28, 2016

summits

It’s existential on the inside

by Stephen Compall on Jan 28, 2016

technical

Keynote at the Philadelphia Summit

by Lars Hupel on Jan 20, 2016

summits

Assistance and Bursaries for the Typelevel Summits

by Dave Gurnell on Jan 14, 2016

summits

Announcement: Typelevel Summits coming up in 2016

by Lars Hupel on Dec 11, 2015

summits

To change types, change values

by Stephen Compall on Sep 21, 2015

technical

Symbolic operators and type classes for Cats

by Erik Osheim on Aug 07, 2015

technical

Machinist vs. value classes

by Erik Osheim on Aug 06, 2015

technical

Values never change types

by Stephen Compall on Jul 30, 2015

technical

Nested existentials

by Stephen Compall on Jul 27, 2015

technical

Type projection isn't that specific

by Stephen Compall on Jul 23, 2015

technical

What happens when I forget a refinement?

by Stephen Compall on Jul 19, 2015

technical

When are two methods alike?

by Stephen Compall on Jul 16, 2015

technical

Type members are [almost] type parameters

by Stephen Compall on Jul 13, 2015

technical

Existential types are not raw types

by Stephen Compall on Feb 26, 2015

technical

Why is ADT pattern matching allowed?

by Stephen Compall on Nov 10, 2014

technical

Higher Leibniz

by Stephen Compall on Sep 20, 2014

technical

Typelevel Scala and the future of the Scala ecosystem

by Miles Sabin on Sep 02, 2014

technical

The singleton instance trick is unsafe

by Stephen Compall on Jul 06, 2014

technical

A function from type equality to Leibniz

by Stephen Compall on Jul 02, 2014

technical

How can we map a Set?

by Brian McKenna on Jun 22, 2014

technical

Primitive recursion with fix and Mu

by Stephen Compall on Apr 14, 2014

technical

When can Liskov be lifted?

by Stephen Compall on Mar 09, 2014

technical

How do I error handle thee?

by Adelbert Chang on Feb 21, 2014

technical

When implicitly isn't specific enough

by Stephen Compall on Jan 18, 2014

technical

Towards Scalaz (Part 2)

by Adelbert Chang on Dec 15, 2013

technical

Law Enforcement using Discipline

by Lars Hupel on Nov 17, 2013

technical

Treelog

by Channing Walton on Oct 18, 2013

technical

Towards Scalaz (Part 1)

by Adelbert Chang on Oct 13, 2013

technical

How to use Spire's Ops macros in your own project

by Erik Osheim on Oct 13, 2013

technical

Using scalaz.Unapply

by Stephen Compall on Sep 11, 2013

technical

An Intro to Generic Numeric Programming with Spire

by Tom Switzer on Jul 07, 2013

technical

Deriving Type Class Instances

by Lars Hupel on Jun 24, 2013

technical

Inaugurating the typelevel.scala blog

by Lars Hupel on Apr 04, 2013

governance

Contribute to the blog

If you want to share something about a library or Scala topics in general (e.g. type classes), case studies, examples, or other related content, please do not hesitate to contact us.

contact us