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.

On Sat, Feb 6, 2016 at 8:15 AM, Imants Cekusins <imantc@gmail.com> wrote:
Thank you Takenobu

the links are useful, yes.

Is knowledge of these terms necessary to program or are these terms of
most interest to compiler developers?
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe