Yes I am. They also overbooked seven people on that flight, delayed it for hours, and then completely cancelled. There were people in wheelchairs left stranded at the airport after waiting there all day. This is just plain incompetence.
Just to be clear, the list is not supposed to be exclusive -- there's a lot of companies using Haskell out there. :)
I just wanted to feature some of the biggest names and some of the cool use cases.
BTW, if you're interested in Haskell case studies, we have a series called Haskell in Production (https://serokell.io/blog/haskell-in-production) with interviews with Haskell projects that covers more ground.
To compare with Learn You a Haskell, I wanted to provide a different option / way of grasping the concept with, hopefully, examples that are relatable to some people more than LYAH. Having a few different explanations of the same thing is not a bad thing in my eyes since different things click with different people.
Regarding Monoid article -- it is sad to hear that since my goal was to provide something that would be unlike the "mathematically-abstract" posts. It has plenty of examples and a rather long exposition, and I am not sure how much more it is possible to improve it without losing any meaning for the word "monoid".
Semigroups and monoids is a rather awkward moment there, I didn't manage to find a perfect way to cover that. But, to be honest, I did mention what a monoid is plenty of times, and I did mention what an identity element is several times as well. So a careful reader should be able to imagine what a semigroup is if necessary.
Anyway, thank you for reading the articles and pointing my attention towards that. I will for sure look at that part again. :)
I liked the text about typeclasses.
It is a standalone piece, "Typeclasses 102" in LYaH is a part of a chapter of a bigger piece.
I think you achieved your goal - your Pokemon example is simple to grasp and shows how to derive type classes and implement functions by hand:)
We at Serokell have just released a collection of FP-themed shirts. If you're into functional programming and type systems, you definitely will find something cool there. My personal favorite is the cat with lambda cube. ^^
There's also a launch promo code that gives you a 22% discount on your purchase: CWP22.
If there's any feedback, would love to hear it. ;)
Just to be clear, I am not a huge fan of forcing paradigms, but I thought that exploring other paradigms is nice, and giving the people to do that while on familiar ground (in Elixir) is also nice.
That's why the article is full of disclaimers of "don't force this on other people in production if they don't want it pls" :)
Thanks for the comment, it's not the first time I read this feedback. Perhaps it was a misplay: I wanted to make the first article as accessible and short as possible so I chose something that already exists in Elixir and tried to point out the fact that this generalizes over what you can do with with in Elixir. But I definitely should have also included stuff that goes further.
Will definitely try to do something more awesome next time, sorry!
I think this is akin to the general problem people face when trying to convey why Haskell (or a Haskell-like library) is useful/awesome to them to a target audience that isn't already familiar with the subject.
Simple and straightforward examples struggle to show any benefits that generalizations could/would provide. Complex examples are hard to explain without loosing most of the audience in terminology they don't understand. Or they just go on for way too long because they constantly drift off into explanations that don't really move the overarching subject forward.
> Simple and straightforward examples struggle to show any benefits that generalizations could/would provide.
Using Haskell you can use do-notation (with lists, Maybe and Either) as a simple example that should show the user the advantage of generic monads. (Just don't show them the problems with composability of monads or 'do-notation considered harmful' ;).