I know Ken from the Scala and Haskell communities....
# functional
r
I know Ken from the Scala and Haskell communities. I think people that follow him are already there but have trouble explaining the relation of those concepts and those tweets are targeted to that audience but I get your point. It's hard though to go back to basics each time you want to explain an advanced concept. I think most FP devs assume others listening are already passed the basics. FP requires a ramp up time beyond just practice to understand the concepts and relationships expressed in the FP type classes like Functor, Monad, etc. When people refer to those as containers or computational contexts to fit them in how they understand programming I think they are missing the point. The importance is the composition and how you go from A to B. You then can immediately identify the abstraction that takes you from a shape to another. For example: I know exactly what it takes in abstractions to go from a
List<Deferred<A>>
to a
Deferred<List<A>>
meaning gathering parallel results from independent computations as they complete in a reactive way. And that is :
Copy code
results.traverse(::identity, Deferred.applicative())
My point is that I know that because I took time to understand what they are talking about and the relationships you learn when going deeper in Typed FP. I'm not sure there is a solution in FP at that level to be friendly to beginners in the same way is hard in other sciences to explain certain concepts to people that are not acquainted with the topic. So I'd like to advice those just getting started with FP to be patient and don't wait for others to make it easy, it's worth it to learn the terms and concepts that are already in use, and yes still room for a lot of improvement but new concepts and ways of doing things don't come without friction.
👍 4