
The Road to Running Haskell at Facebook Scale [video] - kornish
https://www.youtube.com/watch?v=sl2zo7tzrO8
======
citeguised
Recently started to dive into FP and Haskell, and it's nice to see it used at
this scale.

If anyone is looking for a starting-point: I stumbled upon a great book:
[http://haskellbook.com/](http://haskellbook.com/) It's still early-access,
but the biggest part is done and it's already at 1000+ pages.

(I'm not affiliated with this project in any way)

~~~
cplat
+1 for this book. Also, version 0.9 got released yesterday adding more
chapters.

------
co_dh
I'm really excited about this. If facebook is able to use it in production,
then Haskell is no longer an academic language. I would tell my boss that we
can use Haskell because facebook is using it:)

BTW, the stackage project have resolved a big problem (Cabel hell) in Haskell
ecosystem, and I start to use haskell again.

~~~
KirinDave
Facebook using Haskell, or any language, does not make it less "academic" or
more "production quality."

Ultimately, we can use lots of different languages in different roles. People
have been shipping Haskell code in production for years. The runtime and
compiler have been up to snuff for some time, and honestly the build tools
were not in any worse of a place than Go's are right now.

The decision if something is production-ready for your shop is a matter of
your personal (and/or organizational) commitment to that technical platform.
You do not need the blessing of a big company to use a tool. Perpetuating this
idea only makes it harder for people to try new tools. And so long as Haskell
continues to be flexible and easy to extend, it'll still be useful to academia
(hence the 100+ language extensions still available).

~~~
ori_b
Strongly agree -- I'm on a team at Facebook that has D code in production.
There is a lot of investment that we'd have to do to make it what I'd call
solidly production quality.

At one point, I found myself writing a heap profiler, since the tools
available where inadequate. If your company doesn't have the ability or will
to fix issues deep within the runtime of the shiny new system you're using,
I'd be cautious about using a shiny new tool in production. I'm not
necessarily saying "Don't do it", but you do need to think long and hard about
how you'd handle a tricky bug in your tool.

~~~
KirinDave
Yeah, although I always try to be more positive for startups. Rarely are those
bugs so destructive that they'll take down your business unless you do a
really deep dive like that.

And if it's a leverage factor for a small time, the math is almost always in
favor of the more pointed tool.

------
dmix
Have they done a similar talk about their use of Erlang for their Facebook
chat (ejabberd) platform at scale?

~~~
lambdas
They stopped using Erlang at least two years ago and use C++ for the chat now

