I am looking to understand what does Representable stand for in Haskell. The definitionRepresentable endofunctors over the category of Haskell types are isomorphic to the reader monad and so inherit a very large number of properties for free.
Looks like I have a pretty clear understanding what a Monoid is in Haskell, but last time I heard about something called a free monoid.
This is yet another Haskell-through-category-theory question.Let's take something simple and well-known as an example. fmap? So fmap :: (a -> b) -> f a -> f b, omitting the fact that f is actually a Functor. As far as I understand, (a -> b) -> f a -> f b...
This answer from a Category Theory perspective includes the following statement:...the truth is that there's no real distinction between co and contravariant functor, because every functor is just a covariant functor.
I feel like understanding the abstract concept of fixed point of a functor, however, I am still struggling to figure out the exact implementation of it and its catamorphism in Haskell.
(Note: I'm phrasing the question using Haskell terminology; answers are welcome to use the same terminology and/or the mathematical language of category theory, including proper mathematical definitions and axioms where I speak of functor and monad laws.)
I know that the Applicative class is described in category theory as a "lax monoidal functor" but I've never heard the term "lax" before, and the nlab page on lax functor a bunch of stuff I don't recognize at all, re: bicategories and things that I didn't know we cared...
Meet the Applicative typeclass. It lies in the Control.Applicative module and it defines two methods, pure and <*>. It doesn't provide a default implementation for any of them, so we have to define them both if we want something to be an applicative functor.
I can't find bifunctor analog of fmap.Explanation:Functor for objects - datatype constructor. Type - a -> f a
Hask is usually thought to be the category whose objects are types and morphisms are functions. However, I've seen Conor McBride (@pigworker) warn against the use of Hask multiple times (1, 2, 3):