3 ms·
I might be a counterexample to the claim that "this is pedantic and the differences they're mentioning are meaningless in practice". I learned about functors in
by agalunar 4y ago
I might be a counterexample to the claim that "this is pedantic and the differences they're mentioning are meaningless in practice". I learned about functors in uni and only later took a look at Haskell. I was genuinely very confused by the naming of Functor: functors map both morphisms and elements, but this isn't the case in Haskell. So I was left wondering whether I had missed something.
- smackmybishop 4y agoThey actually do. The type constructor maps types to types (which are Hask objects), and `fmap` maps the functions (which are the morphisms).
- agalunar 4y agoah, sorry! right – the type constructor and fmap together make up a functor. I meant functors where the objects being mapped aren't types, but type inhabitants, and the morphisms being mapped are not arrows between types, but arrows between type inhabitants. (I suppose this also has to do with "the only category in Haskell is Hask", rather than types also being themselves categories?)