Wednesday, December 01, 2010

Haskell Researchers Announce Discovery of Industry Programmer Who Gives a Shit

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."


Previous article: Perl Community Debating Adding Monads The Perl lists are brimming with discussions about the value of adding monads to Perl. "We don't really know what they do, but it doesn't make sense _not_ to have something in Perl," said Perl hacker Landon Ricketts. Read more

Next article: Microsoft to Introduce Mutually Recursive Error Messages Software giant Microsoft announced today the launch of their new REDRUM platform, an elegant system that allows Windows system error messages to shuffle blame around indefinitely by using continuation-passing. Read more


Blogger Unknown said...

Oh, Steve, you do make me laugh, always.
And it's so long between posts these days I hardly believed it when Safari hinted that there was some action over at Steve's.

Thank you.

2:43 PM, December 01, 2010  
Blogger Joel Martin said...


3:18 PM, December 01, 2010  
Blogger Mitch said...

To be fair, I've been thinking really hard about using it at work.

Seriously, though, it's different enough that it's going to take some time to get traction. It's not going to be like ruby on rails, where a bunch of kids suddenly decide that it's the greatest thing ever.

It was easy for python and ruby to get traction because they're basically the same as perl. Sure, syntactically they're different, but semantically they're all almost exactly the same (ergo, parrot). So it wasn't much of a mental shift for perl users to start using those languages.

But Haskell is enough of a departure, both syntactically and semantically, that it'll take longer. It may even be a generational shift--I do sense some frustration from old farts (not just you) who used to pick up new languages all the time and now are struggling to understand Haskell.

3:18 PM, December 01, 2010  
Blogger Mitch said...

Haskell (or something haskell-ish) is definitely the future, though--cheap abstraction (which in haskell is enabled by the type system, and by purity) is just too big of a win.

However, I can certainly imagine that it might not catch on at google. If you literally have armies of programmers, then productivity is less of a concern for you than it is for the rest of us.

Plus, adding a language to the blessed list would open up a huge religious war internally, right? It's only because of your posts about it that I understand why google is kind of stuck with the languages it has. Is this post at all fueled by sour grapes over your Ruby battles, I wonder?

3:30 PM, December 01, 2010  
Blogger Rob said...

This is hilarious. It looks like you found one more person who give a shit in Mitch. This is truly a great day for Haskell.

3:53 PM, December 01, 2010  
Blogger James Iry said...

Before Haskell fans go off on Yegge, they should note that he lists Haskell as his 8th favorite language. That's giving something like half a shit.

4:28 PM, December 01, 2010  
Blogger Unknown said...

wasn't haskell created around the same time as perl???

4:28 PM, December 01, 2010  
Blogger Sean Seefried said...

Could help but notice the Red Dead Redemption character names turning up in that post. Any particular reason?

4:45 PM, December 01, 2010  
Blogger Andreas Mundane said...

I think Miranda was created about the same time as Perl. It's very similar to Haskell, so I don't think the being-around argument holds.

4:59 PM, December 01, 2010  
Blogger goaasim said...


5:28 PM, December 01, 2010  
Blogger Unknown said...

@James Iry

Putting a language #8 in your list of favorites is far enough from the top that you can explain away unfamiliarity when pressed, but close enough to seem like you're in the know.

"Hey Steve, could you help me debug this applicative functor I wrote?"

"Oh Haskell? Yea that was my favorite 8 languages ago. Sorry I've uh, gotta run though. Good luck with that."

Ironic considering there are a couple groups at Google (where Yegge works) that use Haskell for internal tools.

5:50 PM, December 01, 2010  
Blogger X said...

Didn't this joke become a cliche many years ago? Lack of originality doesn't hurt whatever elements of truth are there, but it does hurt the humour.

5:51 PM, December 01, 2010  
Blogger Boxo said...

Joke's on you, Haskell's motto is "Avoid success at all costs"!

6:08 PM, December 01, 2010  
Blogger Unknown said...

Hilarious. Love it. I want to give a shit about Haskell... but it's so hard! :p

6:12 PM, December 01, 2010  
Blogger Nathan said...

This thread should be locked when 38 people have commented on it.

6:24 PM, December 01, 2010  
Blogger Unknown said...

They teach Haskell to comp sci & eng students in my school's freshman year. I'm glad I came from another major and didn't have to :)

7:29 PM, December 01, 2010  
Blogger eadmund said...

You know, I liked it right up until this: 'shuts down faster than a teabagger with a grade-school arithmetic book.'

Mindless bigotry from someone who's intelligent enough to know better.

8:30 PM, December 01, 2010  
Blogger Vlad Patryshev said...

Monad composition commutativity problem is pretty similar to Schroedinger law - if two monads don't commute, a kitten may die.

This may explain the industry programmers reluctance to see quantum things.

8:45 PM, December 01, 2010  
Blogger Infidel said...

That's pure Onion material there. You should send it to them.

9:22 PM, December 01, 2010  
Blogger Unknown said...

@James Iry, @John

I could be wrong but there doesn't seem to be anything indicating that that list is ordered?
I'd assume given the amount of familiarity Steve seems to show in making the jokes he does that he actually has a bit of a soft spot for Haskell.

9:38 PM, December 01, 2010  
Blogger Denton Gentry said...


9:49 PM, December 01, 2010  
Blogger Bob Hazard said...

The More News was a nice touch

10:26 PM, December 01, 2010  
Blogger klang said...

> Programmers only seem to pay attention to things when there is humor involved.

You got that right and you got me to read the whole thing!

10:48 PM, December 01, 2010  
Blogger Unknown said...

Loved it. Not sure if there was enough humour to make me give a shit for Haskell, though. ;-)

Keep it up.

11:04 PM, December 01, 2010  
Anonymous Anonymous said...

I think more programmers give a shit about Haskell than give a shit about the Tea Party. They're a disruptive group lacking in intelligence that discredit the Republican Party as a whole, but that's a whole different post, eadmund.

11:24 PM, December 01, 2010  
Blogger Nikos said...

Excellent!!! LMAO!! Loved the part on how they smoked him out, and the experimental humour monad!


11:42 PM, December 01, 2010  
Blogger kewp said...


11:56 PM, December 01, 2010  
Blogger Unknown said...


12:56 AM, December 02, 2010  
Blogger Christof Damian said...

Nice one.

I just would like to point out that I don't give a shit about Haskell. Just in case there are more than 38 people commenting here who might give a shit.

1:39 AM, December 02, 2010  
Blogger Benjol said...

Another humorous take on Haskell here.

1:54 AM, December 02, 2010  
Anonymous Anonymous said...

andrewmu: Miranda was created before perl and Haskell and actually Haskell owes a lot to Miranda, particularly it's beautiful syntax. Having learned about this recently, I feel a bit bad that we in the Haskell community don't give David Turner as much credit as he deserves.

Vald: monads are not generally commutative, though there was a wonderful talk at ICFP 2009 about what the world is like when you limit yourself to only commutative monads. (Anybody, feel free to e-mail me for the paper.)

I thought that the best part of this was the link to the quite serious post where the guy implemented monads in perl and then complained that, "the syntax was totally abominable." (Hello! It's perl, dude!)

Speaking as an old Java guy myself, Steve truly captured the idea of Haskell sometime between a post before he left Amazon ("I've written more than 600,000 lines of Java! I rock!") and a post after he joined Google ("I've written 600,000 lines of Java! Oh no! What have I done?!")

(And yes, I'm that guy that wrote the high-frequency trading system in Haskell. I reckon that the 12,000 lines of code I wrote would have been 100k+ lines in Java.)

2:06 AM, December 02, 2010  
Blogger Matt said...

oh dear

I thought you were ok, turns out you're a douche.

3:30 AM, December 02, 2010  
Blogger TAG said...

@Chris @eadmund

And here I thought he was talking about annoying FPS players who repeatedly crouch over your avatar once they've killed you.

6:18 AM, December 02, 2010  
Blogger What's in the name said...

Haskell did save a lot of typing during assignments :P

6:52 AM, December 02, 2010  
Blogger Matt Lye said...

Yo Haskell, I'm really happy for you, I'mma let you finish, but Concurrent Clean had one of the most beautiful list comprehension syntaxes of all time. Of all time!

6:55 AM, December 02, 2010  
Blogger namekuseijin said...

"Programmers only seem to pay attention to things when there is humor involved."

hope someone pay attention to this redeeming line... :)


8:33 AM, December 02, 2010  
Blogger Unknown said...

You know, there are Tea Party supporters who actually give a shit about Haskell (and use functional programming in production). As improbable as it is, here I am. The T-word was definitely out of line.

Otherwise, me lol'd.

9:11 AM, December 02, 2010  
Blogger Unknown said...

making it 38

10:02 AM, December 02, 2010  
Blogger Kiru said...

Considering virtually every math prof at my local (top tier) university is a Tea Party supporter... the dig was unintentionally hilarious.

Oh well, other than that, good post.

11:47 AM, December 02, 2010  
Blogger Steve Pierce said...


1:18 PM, December 02, 2010  
Blogger John M Kerr said...

OK Steve, you have convinced me that post quality varies inversely with frequency. But dammit your posts are just too fukcing good. Unnecessarily so. Experiment's over, please speak to us much more often (weather's a fine topic, but I really want to know what you think of C#'s ventures into monad's land).

1:52 PM, December 02, 2010  
Blogger Rasta said...

"You know, I liked it right up until this: 'shuts down faster than a teabagger with a grade-school arithmetic book.' Mindless bigotry from someone who's intelligent enough to know better".


2:04 PM, December 02, 2010  
Blogger The Little Lebowski said...

This is the best thing I have read on the Interwebs in ages. It just points out that industry needs to agree to focus all their energies on a single functional language so we can ignore the more margin... er, academic ones. I'm sure the teapartiers would support letting the Supreme Court decide in favor of F# (or OCaml since it uses F# syntax).

Srsly, thanks for the post, you rock!

2:48 PM, December 02, 2010  
Blogger Viktor said...

I think Haskell is very cool and I plan to learn it once I get a little more familiar with Common Lisp. Maybe I'll even write a game in Haskell. Just think of the amount of shit that I am giving right now!

2:54 PM, December 02, 2010  
Blogger Unknown said...

Haskell sucks and will never be relevant. I appreciate that you appreciate this also.

3:42 PM, December 02, 2010  
Blogger Andres N. Kievsky said...

Very funny - especially the perl comments. So fucking true! it's my kind of humor - take a look at similar stuff
here [NSFW]

5:18 PM, December 02, 2010  
Blogger Beta said...

@Little Lebowski: WHAT????? OCaml uses F# syntax???
Dude, is the other way round!

Thanks Church ML does not face this problem. There is one entire company that use it!

12:29 AM, December 03, 2010  
Blogger alang said...

Obviously fake. The real Haskell community would have had a metatype system that classifies upvote providence with only minor tweaks to the standard prelude.

12:51 AM, December 03, 2010  
Anonymous Anonymous said...

Lebowski, we are ignoring the more academic functional languages. For most purposes outside of theorem proving, Haskell is a model of practicality compared to, say, Agda.

Beta: I'm not sure what you mean by your ML comment, but ML is certainly in heavy use in the commercial programming world if you count F# and OCaml (I know banks and proprietary trading companies doing huge amounts of work in both), and while I don't have as much personal evidence of commercial SML usage, there is a largish project, Mirage, that's written what's essentially a simple OS, along with servers of various sorts (HTTP, DNS, SSH) in SML.

2:29 AM, December 03, 2010  
Blogger Beta said...

Curt, there are more than 1 industry guy who give a shit about Haskell (I used to know one, in fact, but I'm not sure if he's still using Haskell).
So, you can use the same thinking about ML, and simplify it to "there's one company that gives a shit". Compared with the amount of people who gives a shit about Java, 1 or 100 companies are still in the same order of magnitude.

3:46 AM, December 03, 2010  
Blogger Uncompetative said...

LtU's editor has gotten into trouble quoting you:

It would seem that those most keen on language theory care about **** which seems to be the only aspect of Haskell to actually produce an effect.


8:24 AM, December 03, 2010  
Blogger Surge said...

This is one of the most entertaining posts I have read. I could not stop reading, and I tried. Have you tried a good shrink? LOL

8:44 AM, December 03, 2010  
Blogger glathoud said...

Thanks for the laugh!

...and well pointed:

"... 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."

3:01 PM, December 03, 2010  
Blogger Bartosz Milewski said...

Whatever bit you, Stevey? Why rant against Haskell? Have you been recently bullied by Haskellites? I thought they were pretty harmless.

BTW, since when are you running on a populist platform? I mean, you'll get a lot of votes from yahoos who don't give a shit about anything that happens outside of their villages. You're giving them an excuse to dismiss and ridicule anything they don't understand, not only monads or category theory. I can see them marching behind you with pitchforks and torches ready to ban exceptions, templates, STL, and all this highbrow stuff. It would be funny if it weren't already happening even at the top software companies (how modern are the Google coding standards?).

5:10 PM, December 03, 2010  
Blogger Jedaï said...

I found the post funny before I started reading the comments... Now I wonder who those readers are that still think this is an accurate reflection of the Haskell world.

Ten years ago that could have been the case, but nowadays Haskell is used increasingly in plenty of practical tasks, from generating real-time code for embedded chips in transport truck to checking the security of some US state networks (not the diplomatic ones...). A lot of the more mundane usages can be seen by the variety of library on Hackage which while not the CPAN is still of a very respectable size for the library repository of an "academic" language.

If you truly think that this post content was serious unlike its humorous tone, wake up and smell the coffee : FP languages are becoming part of the CS industry faster than you think and Haskell is one of the good candidates.

8:13 AM, December 04, 2010  
Blogger Olie said...

Polishing up the portfolio for that big move to The Onion's tech division?


Either way -- YAY! Stevie's posting! My favorites are the late-night wine-powered rants, but I've never seen a bad Stevie posting, yet. Keep 'em coming!

Captcha: "sterm" -- isn't that the faux soda in Futurama? ;)

10:35 AM, December 04, 2010  
Blogger Steve Simmons said...

Marvelous! Best of all, it's almost language-independent. You can change the language name and a few buzzwords, and it correctly applies to the bigot-driven language du jour.

11:19 AM, December 04, 2010  
Blogger 9000 said...

I know at least one person that ues Haskell in a heavily commercial setting, and he's not Mr Briars. The original researchers have overlooked up to 50% of positive cases! Such error margins cast doubt to the entire research.

1:11 PM, December 04, 2010  
Blogger yehnan said...

Excellent hilarious. And it's short! Thanks Steve.

6:16 PM, December 04, 2010  
Blogger Unknown said...

Haskell has 2 problems

1. Monads are an ugly kludge to nail state into a stateless environment. If you need state that badly, you shouldn't be using a functional language.

2. The community.

I have a MS in CS and often whine about the state of software engineering being full of self-taught morons who don't know why they are writing code and what it is really doing.

I have been accused of being an annoying anal-retentive nerd. So it is no small thing for me to say that I don't like the Haskell community because they are annoying anal-retentive nerds.

1:59 PM, December 06, 2010  
Blogger Unknown said...

"You know, I liked it right up until this: 'shuts down faster than a teabagger with a grade-school arithmetic book.'

Mindless bigotry from someone who's intelligent enough to know better."


Since when is making fun of ignorant people easily swayed by corporate interests bigotry? Are teabaggers their own race, or even species? That would explain a lot.

Teabaggers are morons, it is not a controversial statement.

2:32 PM, December 06, 2010  
Blogger Unknown said...

"You know, there are Tea Party supporters who actually give a shit about Haskell (and use functional programming in production). As improbable as it is, here I am. The T-word was definitely out of line.

Otherwise, me lol'd."

Operation Tea Bag is where the term came from. Your fellow morons invented it!

The T-word? You idiots really think you are a separate race don't you?

The Master Race perhaps?

2:35 PM, December 06, 2010  
Anonymous Anonymous said...

"If you need state that badly, you shouldn't be using a functional language."

Please don't take this the wrong way, as I don't wish to be insulting, but you appear to be confused.

First, whether functions have undeclared (to the type system) state or not is nothing to do with whether a language is functional or not (at least in Peter van der Roy's CTM definition--let me know if you're using another one); it's dependent on whether the language is pure or not. If you consider languages such as ML, Lisp and Scheme to be functional (and most would), these are all languages in which functions have undeclared side effects. (In fact, global variables, for example, are quite heavily used in Lisp.)

Second, even in "pure" (I use this as the term of art) languages such as Haskell and Clean, state is quite heavily used: the big difference is in how you manage state, not in its existence.

I myself am also considered an "annoying anal-retentive nerd" by many (and I'm quite the Dijkstra fan to boot), and I'm sorry to say that you come across not as a computing scientist but as just some guy who doesn't understand pure languages.

7:51 AM, December 07, 2010  
Blogger Unknown said...

I do in fact give even less of a shit about Haskell than I previously did.

3:05 PM, December 09, 2010  
Blogger Torsten Seemann said...

Thank you for making me laugh today!

3:25 AM, December 12, 2010  
Blogger Dave Conrad said...

It will be much easier to give a shit about Haskell in the future, once they implement the excrement combinator.

11:17 AM, December 13, 2010  
Blogger Harris Reynolds said...

Brilliant post. Nothing short of brilliant.

1:04 PM, December 15, 2010  
Blogger John Allen said...

Glorious, thank you!

11:29 PM, December 21, 2010  
Blogger ggm said...

I can't decide which kills herpes faster, this blog, or a 3 wolves moon tee-shirt.

oh, can you write a haskell program to solve the CAPTCHA on the blog? I'd use that to post more often.

12:36 AM, December 31, 2010  
Blogger Andreas Larsson said...

Hey Steve! I just recently started reading your blog and already you've inspired me to start learning to type and take up blogging.
I'm looking forward to reading the rest I havn't read and the stuff that you will write (I hope).
I'm grateful for what you're doing. Keep up the good work

10:30 AM, January 03, 2011  
Anonymous Anonymous said...

Question for you Steve

hey steve , i have question for you
in google, about 2 years ago you gave lecture about Rhino on rails and jruby, Ruby on rails still slow and sucks till today.

But what do you think about Grails
Groovy is java + rails + spring =Grails

It can do meta-programming like ruby plus has everything in Java which I loved

Is google has any love for grails?

12:09 AM, January 04, 2011  
Blogger Unknown said...

@ggm what you need is a fine-tuned pattern recognition algorithm, not a FP magic..

1:45 AM, January 04, 2011  
Blogger Unknown said...

@Curt Sampson

You are on crack. Haskell is not useful for stateful environments because monads are an ugly hack.

Anyone that considers Lisp to be a functional language can be safely ignored.

10:23 AM, February 21, 2011  
Blogger Mίro said...

Great post with a high LOL factor, thanks Steve :-)

6:53 AM, April 02, 2011  
Blogger Ludovic Kuty said...

Thanks, the reading was very fun. As always. I wish you could post more often.

4:42 AM, April 06, 2011  
Blogger dmr said...

May 18, 2009 "We're getting close to the end of my blog. After today's entry, I only have three left to write."

I was assuming yegge-lengthed posts. When?

1:41 AM, April 12, 2011  
Blogger Roger said...

LMAO ... Steve, I wish you wrote these more often... this one's priceless :)
Wish 'Big Bang' would add you as a dialog writer too ... I had Sheldon's voice in my head as I read how they unearthed the PWGASAH.
Rock On! :)

3:20 AM, May 04, 2011  
Blogger PJ Cabrera said...

I'm sorry, I can't get to give a shit about your blog with its new focus. You used to have something to say

11:10 PM, July 24, 2011  
Anonymous Anonymous said...

Qwerty wrote: "Haskell is not useful for stateful environments because monads are an ugly hack."

Well, in a word, "no." Even if you can't appreciate the (admittedly somewhat mathematical) elegance of monads, it should be hint that not only do people use monads for state when they have other options (e.g., internal program state that never goes near I/O--just look at any parser combinator library), but monads are also useful for a lot of other things besides state. (The "All About Monads" tutorial gives some nice examples.)

I'm guessing you're denying this because you simply don't understand monads. Probably twenty years ago you'd have been saying that object-oriented programming is a bunch of rubbish.

3:40 AM, July 29, 2011  

Post a Comment

<< Home