Sep 6, 2021
This is the second part in my two-part series on Leibniz equality in
Haskell. See here
for part 1. Part 2 will build on ideas and concepts from part 1, so if you
haven’t read part 1 yet, go do so!
Continue reading »
Aug 22, 2021
When using types, one often asks the question: when are two types
the same? There are many different ways to encode the sameness of two types.
In GHC, one of the most common ways is through
this data type,
defined in Data.Type.Equality
:
Continue reading »
Aug 1, 2021
WARNING: This blog post describes an old GHC feature that no longer exists in
recent versions of the compiler. See
GHC Proposal #547,
which lists the reasons for this feature’s removal. This post is now only of
interest for historical reasons.
Continue reading »
Apr 5, 2021
If you write enough Haskell programs, it’s quite likely that you’ll want to
define a function whose body mentions a type variable that is bound by its
type signature. Here is a very simple example:
Continue reading »
Jan 5, 2020
GHC 8.10.1 is slated to be released
soon,
and among the improvements that it offers is the
new StandaloneKindSignatures
language extension. Standalone kind
signatures (or “SAKS” for short) are like type signatures, except that they
describe type-level declarations instead of term-level values. Here is one
example of a standalone kind signature that describes the kind of a type
synonym:
Continue reading »