Hacker News new | ask | show | jobs
by omn1 4669 days ago
Wait, Facebook uses Haskell? I had no idea. There is little information about the size of the codebase though. I could only dig up a talk from 2009 and a tool to modify a PHP codebase with abstract-syntax-tree transformers in Haskell [2]. Can somebody give some more insight on their internal use of the language?

Anyway I think it's great that they have a hybrid codebase. With projects like HipHop and this Haskell backend it looks like they are gradually moving away from PHP as their main language.

[1]: http://cufp.galois.com/2009/abstracts.html#ChristopherPiroEu... [2]: https://github.com/facebook/lex-pass/tree/master

2 comments

Yeah, they also bought out MailRank to get O'Sullivan.
Yeah, but that wasn't for Haskell.
He isn't working with the Hs group at Facebook?
I don't know what he's doing now. But when I talked to him shortly after the acquisition, he was not working on anything related to Haskell.
He keeps an eye on it, but he’s not working on Haxl directly.
Facebook hasn't been a PHP shop in a long time. PHP is only used on the front end site. New projects that come along are written in whatever language makes sense. Like facebook chat being in erlang for example.
I heard a rumor a while back that Facebook Chat was rewritten in C++... but I can't seem to find anything to verify that. Do you know if it's still Erlang?
When it was "erlang" I think they were just running ejabberd.
Ejabberd is not an epoll-driven web server, which is what the quotes from facebook people said they wrote in erlang.
It was always both as far as I know.

"For Facebook Chat, we rolled our own subsystem for logging chat messages (in C++) as well as an epoll-driven web server (in Erlang)"

The rumor was that it had been rewritten in 100% C++...
No idea. Sounds like the kind of thing that gets started based on a misunderstanding like someone saying "we wrote that in C++" in reference to part of the chat system. Either way, my point was that facebook isn't a PHP shop. Erlang/C++ or just plain C++, neither is PHP.