The worldwide Haskell community met up over beers today to celebrate their unprecedented discovery of an industry programmer who gives a shit about Haskell.
On Wednesday, researchers issued a press release revealing that 27-year-old Seth Briars of North Carolina, a Java programmer at Blackwater accounting firm Ross and Fordham, actually gives a shit about Haskell.
“Mr. Briars has followed every single one of our press releases for years,” the press release stated. “Probably even this one.”
Haskell researcher Dutch Van Der Linde explained how they had stumbled on the theoretical possibility of Briars and his persistent interest in Haskell. “We knew that there are precisely 38 people who give a shit about Haskell,” said Van Der Linde, “because every Haskell-related reddit post gets exactly 38 upvotes. It’s a pure, deterministic function of no arguments – that is, the result is independent of what we actually announce. But there are only 37 of us on our mailing list, so we figured there was a lurker somewhere.”
“That, or it was an off-by-1 error not detectable by our type system,” Van Der Linde added. “But we don’t, uh, like to dwell on, I mean with good unit testing practices we can, um… sorry, I need to get some water.”
As Van Der Linde stumbled off in a coughing fit, his fellow researcher Bonnie MacFarlane outlined their basic dilemma: “Finding a person who gives a shit about Haskell is an inherently NP-complete computer science problem. It’s similar in scope and complexity to the problem of trying to find a tenured academic who didn’t have the bulk of his or her work done by uncredited graduate students. So even though we suspected Briars existed, we needed a strategy to smoke him out.”
She explained the trap they set for Briars: “We crafted a fake satirical post lampooning Haskell as an unusable, overly complex turd – a writing task that was emotionally difficult but conceptually trivial. Then we laced the post with deeper social subtext decrying the endemic superficiality and laziness of global industry programming culture, to make ourselves feel better. Finally, each of us upvoted the post, which was unexpectedly contentious because nobody could agree on what the reddit voting arrows actually mean.”
“And then we waited to see who, if anyone, would give a shit,” she said.
MacFarlane concluded, “Our elegant approach didn’t work, so we hired a Perl hacker to go dig up the personal details on all 38 accounts that had ever upvoted a Haskell post, and the only one we didn’t know was Seth Briars. So we reached out to him, and thankfully so far he hasn’t threatened to sue us.”
Briars says he is pleased to have been recognized for his apparently unique shit-giving about Haskell. “I’ve been giving a shit about Haskell for a long as I can remember. I follow all their announcements and developments closely, just in case I ever get the urge to use the language for something someday.”
“It’s a beautiful, elegant language,” Briars observed as he busied himself cleaning a fingernail. “You’d be hard-pressed to find a more expressive and composable core. And they’ve made astounding advances over the years in performance, interoperability, extensibility, tooling and documentation.”
“I’m kind of surprised I’m the only person on earth who gives a shit about it,” Briars continued. “I’d have thought there would be more people following the press releases closely and then not using Haskell. But they all just skip the press releases and go straight to the not using it part.”
“People see words like monads and category theory,” Briars continued, swatting invisible flies around his head for emphasis, “and their Giving a Shit gene shuts down faster than a teabagger with a grade-school arithmetic book. I’m really disappointed that more programmers don’t get actively involved in reading endless threads about how to subvert Haskell’s type system to accomplish basic shit you can do in other languages. But I guess that’s the lazy, ignorant, careless world we live in: the so-called ‘real’ world.”
Haskell researcher Javier Escuella remains hopeful that one day they may be able to double or even triple the number of industry programmers who give a shit about Haskell. “I believe the root cause of the popularity problem is Haskell’s lack of reasonable support for mutually recursive generic container types. If we can create a monadic composition-functor wrapper that is perceived as sufficiently sexy by hardened industry veterans, then I think we will see an uptick in giving a shit, possibly as much as a full extra person.”
Haskell aficionado Harold MacDougal is not quite as sanguine as his colleague Escuella. “I doubt Haskell will ever be appreciated by the uneducated natives of this industry. As exciting as it is, the discovery of Briars should be considered an anomaly, and not as a sign that more people will ever give a shit. Programmers only seem to pay attention to things when there is humor involved.”
“We do have an experimental humor monad,” added MacDougal. “But it doesn’t seem to be getting much adoption. Haskell fans just don’t see the need for it.”
Noob here. What’s wrong with Haskell and why doesn’t it get used more often?
They never tried to push the language and make it mainstream, but this is somewhat changing since the Haskell Foundation started a couple years ago.
Also, if you only know C or Java, then it looks a bit alien.
I’ve been using it exclusively at work for about 4 years and it makes writing correct code and maintaining it much easier than anything else I’ve tried so far.
Haskell started out as an academic language.
The problem Haskell was trying to solve was that in the late 80s, there was a bunch of interest in lazy functional programming but all the research groups had to write their own lazy language before writing a paper on whatever new feature they were interested in. So they banded together to create Haskell as a common research program that they could collectively use.
It’s been remarkably successful for a research language, and has become more practical over the years in many ways. But it’s always had the motto “avoid (success at all costs)”.
It’s a cool language. Main problem is that it’s difficult to recruit for. Not many developers know Haskell well enough.
Haskell also makes many huge sacrifices for purity. Accessing the file system is quite wonky. Basic stuff like maps aren’t easy to implement either. In the end, it’s a language great for toy examples, but turns into a massive hassle once you want to do real practical stuff.
I think everybody should at least learn it. You’ll learn some cool stuff that will be of use in other languages.
This is mostly due to a preference for immutable data structures. That said, the standard library has a balanced tree-based map that’s not too complex.
If you want a good immutable data structure with O(1) find and update, you’re unfortunately looking at something like a hash array mapped trie, but that’s the same in e.g. clojure or Scala.
A monad is a monoid in the category of endofunctors
I read about those about once every two years and forget what it means a week later.