Equivalence versus Equality
Four ways to escape a cake
There are more types than classes
Endorsing the new Scala Code of Conduct
API Design for Heaps (aka Priority Queues)
EDSLs as functions
Typelevel representative at the Scala Center Advisory Board
Let's build ourselves a small ScalaCheck
Subtype type classes don't work
It's programs all the way down
Choosing variance for a phantom type
Higher-kinded types: the difference between giving up, and moving forward
Making internal state functional
The Typelevel Summit in Boulder is Cancelled
Information hiding, enforced
Of variance and functors
First batch of talks at the Philadelphia Summit
It’s existential on the inside
Keynote at the Philadelphia Summit
Assistance and Bursaries for the Typelevel Summits
Announcement: Typelevel Summits coming up in 2016
To change types, change values
Symbolic operators and type classes for Cats
Machinist vs. value classes
Values never change types
Type projection isn't that specific
What happens when I forget a refinement?
When are two methods alike?
Type members are [almost] type parameters
Existential types are not raw types
Why is ADT pattern matching allowed?
Typelevel Scala and the future of the Scala ecosystem
The singleton instance trick is unsafe
A function from type equality to Leibniz
How can we map a Set?
Primitive recursion with fix and Mu
When can Liskov be lifted?
How do I error handle thee?
When implicitly isn't specific enough
Towards Scalaz (Part 2)
Law Enforcement using Discipline
Towards Scalaz (Part 1)
How to use Spire's Ops macros in your own project
An Intro to Generic Numeric Programming with Spire
Deriving Type Class Instances
Inaugurating the typelevel.scala blog
Copyright © 2013-2017 the