[Haskell-cafe] New type of ($) operator in GHC 8.0 is problematic

Tom Ellis tom-lists-haskell-cafe-2013 at jaguarpaw.co.uk
Sat Feb 6 17:19:39 UTC 2016

On Sat, Feb 06, 2016 at 12:12:47PM -0500, Edward Kmett wrote:
> As you dig deeper into Haskell you'll eventually need to understand what
> these mean to reason about anything beyond first order code.
> The primitives that GHC uses to implement arrays, references and the like
> live in #. We then wrap them in something in * before exposing them to the
> user, but you can shave a level of indirection by knowing what lives in #
> and what doesn't.
> But even if you never care about #, Int, Double, etc. are of kind *,
> Functors are of kind * -> *, etc. so to talk about the type of types at all
> you need to be able to talk about these concepts at all with any rigor, and
> to understand why Maybe Maybe isn't a thing.

I think this is a bit pessimistic.  I've been a professional Haskell
developer for some years without ever needing to know what # is.  I'm pretty
sure that a professional Haskeller could be comfortable only know about * on
a vague, intuitive level.


More information about the Haskell-Cafe mailing list