Hacker News new | ask | show | jobs
by mjackson 4226 days ago
This is HUGE!

Thanks to everyone at Facebook who worked on this. You guys are awesome.

Also: The fact that this is written primarily in OCaml (as opposed to JS) is an excellent example of people choosing the right tool for the job.

2 comments

OCaml was used for implementation of the Opa framework some years ago https://github.com/MLstate/opalang
IMO OCaml is the wrong tool for the job in this case (even if it is a better language for this sort of tool).

JavaScript has a weird ecosystem where it is extremely helpful to have all of your tools in the same language. browser-based IDEs, Node, portability, etc, and just one fewer runtime to juggle.

Same reasons why closure is awkward as a Java program.

OCaml has excellent compile-to-JavaScript support. Facebook use this to compile their Hack type-checker for an in-browser IDE. I imagine they do something similar for Flow.
They do indeed use js_of_ocaml in the Flow test suite to compile the full Flow parser to JavaScript and then test that.

See the related discussion on packaging it in the OPAM pull request: https://github.com/ocaml/opam-repository/pull/3083