HNHacker News
TopNewBestAskShowJobs

Littlebigo

4 karma · joined September 10, 2021

submissionscomments
Littlebigo··on A Twitter user insulted a German politician, then police raided his house
Freedom to not have any vacations for years, freedom to not get medical aid, freedom to get fired over Twitter on a whim, freedom to get shot by the police, freedom to be subject to government surveillance, freedom to have a flawed democracy, freedom to have your children shot in school by deranged classmates... Freedom doesn't necessarily mean "better".
Littlebigo··on Monads are monoids in the category of endofunctors
I absolutely agree, I was just adding the explanation for anyone unfamiliar with the syntax.
Littlebigo··on Monads are monoids in the category of endofunctors
Well... chances are you've made thousands of phone calls through switches running Erlang. You may have used Emacs, Discord, Facebook, Pinterest, Spotify, Font Awesome, xmonad or visited web sites running Elm or an Elixir backend... or even driven a Volvo.

Here's a list of companies using Haskell, with similar links to other functional languages: https://github.com/erkmos/haskell-companies. It includes names like Facebook, Tesla, Klarna, Target and Kaspersky.

Not to mention the FP paradigms used in Python, C++ and other languages. In fact, if you've never come across FP "in the wild doing something" then I suspect you're living very much off-grid.

Littlebigo··on Monads are monoids in the category of endofunctors
To add, I suspect that the Haskell type notation is not intuitive to people not familiar with it. For anyone wondering, (a -> b) -> f a -> f b means "A function taking a function from one type to another "(a -> b)" and a functor applied with one type "(f a)" and returns a functor applied with another type "(f b)".
Littlebigo··on Monads are monoids in the category of endofunctors
The article is likely aimed at intermediate-ish FP programmers, though, not people with no prior knowledge. (Although I suspect it is an example of "learning by teaching", since it is wrong on many counts.)

Learn You a Haskell mentions functors in chapter 8 and teaches them properly in chapter 11.

http://learnyouahaskell.com/making-our-own-types-and-typecla...

Littlebigo··on Monads are monoids in the category of endofunctors
I very much agree with part of your point, especially the novice-intermediate-expert part on jargon. I generally favor wording that is as simple as possible, but no simpler. Sometimes technical precision is important, and when talking to colleagues and other people that are on a similar technical proficiency level as me I prefer concise and informative words. I'd rather say "ARP poisoning" than "network attack", because the latter loses information, but would obviously use the latter to muggles.

I don't agree that having a domain jargon that is technical and concise is "gatekeeping" for functional programming. If you are a frontend developer you need to know what the DOM is. If you are a Haskell programmer you need to know what a monad is. The fact that you don't get the Haskell jargon "for free" coming from other programming disciplines doesn't mean that it's "gated", it just means you need to learn. And there are plentiful resources to help you with that, countless "how to understand monads" articles and so on. In my experience, the Haskell community is perhaps the single most welcoming and helpful programming community. There's even a handy guide with big, friendly drawings.