Live data from Hacker News

Facebook open sources Haxl

code.facebook.com

11–20 of 80 posts

Re: Facebook open sources Haxl

#11
post #9
post #5

Hi. I'm one of the engineers who has worked on this so if anyone has any specific questions I can help answer and/or get someone to answer. As said by @nbm, we also have a blog post up: https://code.facebook.com/posts/302060973291128/open-sourcin... .

Have you replaced all use of FXL with Haxl? Or are both languages supported? In the latter case, what is the relative proportion of each in the live codebase? (I appreciate that migrating code that already works to a new language often just introduces bugs for no gain, so please don't take my questions as trying to dig up dirt or anything. I'm genuinely just curious.)

We are still in the process of migrating from FXL to Haxl, and there is too much FXL code to translate manually, so at the moment we are treating FXL as the source of truth, compiling the FXL codebase to Haskell, and running both concurrently to verify correctness.

Re: Facebook open sources Haxl

#12
post #9
post #5

Hi. I'm one of the engineers who has worked on this so if anyone has any specific questions I can help answer and/or get someone to answer. As said by @nbm, we also have a blog post up: https://code.facebook.com/posts/302060973291128/open-sourcin... .

Have you replaced all use of FXL with Haxl? Or are both languages supported? In the latter case, what is the relative proportion of each in the live codebase? (I appreciate that migrating code that already works to a new language often just introduces bugs for no gain, so please don't take my questions as trying to dig up dirt or anything. I'm genuinely just curious.)

[deleted]

Re: Facebook open sources Haxl

#13
post #5

Hi. I'm one of the engineers who has worked on this so if anyone has any specific questions I can help answer and/or get someone to answer. As said by @nbm, we also have a blog post up: https://code.facebook.com/posts/302060973291128/open-sourcin... .

Why Haskell?

Re: Facebook open sources Haxl

#14
post #7
post #5

Hi. I'm one of the engineers who has worked on this so if anyone has any specific questions I can help answer and/or get someone to answer. As said by @nbm, we also have a blog post up: https://code.facebook.com/posts/302060973291128/open-sourcin... .

I had no idea you guys used Haskell at FB. Other than Haxl, what are your main use cases for Haskell?

Haxl is the only major project at FB using Haskell right now, but who knows where this will lead?

Re: Facebook open sources Haxl

#16
post #13
post #5

Hi. I'm one of the engineers who has worked on this so if anyone has any specific questions I can help answer and/or get someone to answer. As said by @nbm, we also have a blog post up: https://code.facebook.com/posts/302060973291128/open-sourcin... .

Why Haskell?

Ah, my favorite question.

We previously had a custom DSL and it outgrew it's DSL-ness. The DSL was really good at one thing (implicit concurrency and scheduling io), and bad at everything else (cpu, memory, debugging, tooling). The predecessor was wildly successful and created new problems. Once all those secondary concerns became first order, we didn't want to start building all this ecosystem stuff for our homemade DSL. We needed to go from DSL to, ya know, an L. So the question is which...

If you understand the central idea of Haxl, I don't know of any other language that would let you do what Haxl in Haskell does. The built in language support for building DSLs (hijacking the operators including applicative/monadic operations) -really- shines in this case. I would -love- to see haxl-like implicit concurrency in other languages that feel as natural and concise. Consider that a challenge. I thought about trying to do it in C++ for edification/pedagogical purposes but it's an absolutely brutal mess of templates and hackery. There may be a better way, though.

Re: Facebook open sources Haxl

#17
post #15
post #6

I'm an engineer on the Haxl project and am really excited to launch this today. Ask me anything!

Is there any resources about why Facebook uses haskell? What's your experience?

Our blog post goes into some of this: https://code.facebook.com/posts/302060973291128/open-sourcin...

Interpreted code was no longer cutting it for perf reasons, and any time you create your own language you end up reinventing the entire tool chain (debuggers, profilers, etc.). Haskell provides so much functionality in the language itself and has mature solutions to the other issues plaguing us in FXL, so it was a natural choice.

Re: Facebook open sources Haxl

#18
post #15
post #6

I'm an engineer on the Haxl project and am really excited to launch this today. Ask me anything!

Is there any resources about why Facebook uses haskell? What's your experience?

lbrandy also gives a good explanation here: https://news.ycombinator.com/item?id=7874537

Re: Facebook open sources Haxl

#20
post #6

I'm an engineer on the Haxl project and am really excited to launch this today. Ask me anything!

How large has the haskell team at Facebook gotten (unless there isn't an official group and its on a project by project bases)?

Haxl is the only team using Haskell in prod, so the team itself isn't all that large. With the traction we gain, though, we could grow.
Post reply on HN