>>11054947Some strong type systems behave like a (non-extensive w.r.t. functions) category of sets and when you code up a transformation of types (e.g. take any type (string, integers, etc..)), the natural thing to do is add a transformation of functions (e.g. if you code up the function mapping words to their character length, this induces the code that takes a list of words and returns the list of their lengths.
Haskell is a 80's language, made by academics to study lazy evaluation, i.e. collect expression and reduce them only when you need them/as late as possible.
It started to make functors (in the above sense) a core class of transformations in their language when they introduced the IO functor to improve purity (you code up a pure system without user interaction and only at the end map the whole code to a code that does interact with the human - that's the IO monad, which is a functor)
This was then adopted by other language, say Scala and some functional dialects. Earlier this decade, self tough CS fags somehow mistakenly came to think any algebra is "category theory" (search for posts talking about how cateogry theory is hard, and then posting their modular arithmetic book exercises). Even more recently, this "category theory" has become a way to pitch startups (see Weinstein type math-is-awesome Start Trek autists)
Those "applied category theory" people also get validation by hybrid og bloggers like Beaz, sadly.
Nice story, isn't it.
The twitter Scala trannies won't advance Dependent Type Theory, which is the cool part about this all, so I'm not sure how to feel about it.