Curry On
June 19-20th, 2017

Building Web Apps with Reason
Brandon Dail
Formidable Labs



OCaml is a battle-tested programming language used in high-performance, high-reliability industries like finance (the biggest user being Jane Street, a trading firm). OCaml has first class functional programming support along with imperative and object-oriented styles. It also provides an incredible sound type system with strong type inference and pattern matching, which make writing applications safe, fun, and effective. But why do we, as web developers, care? JavaScript has decent support for functional patterns. You can get strong typing with TypeScript or Flow. Why should anyone spend the time investing time in a new language that gives us features we already have? Plus, I don’t think V8 is going to add OCaml support anytime soon so what does any of this matter? It matters because there’s a huge gulp between what JavaScript and OCaml provides in terms of language stability, functional programming, and typing (and more). And with BuckleScript, a production-ready OCaml-to-JS compiler, we can start writing OCaml for the web today. But OCaml is hard for JavaScript developers. The sytnax is foreign and the learning curve hard for anyone not familiar with the ML family of languages. That’s where Reason comes in. Reason is a new syntax extension and build chain for OCaml that makes it much more approachable for JavaScript developers. Developed at Facebook, it also provides support for JSX (it’s being developed by the creators of React) positioning it as potentially the next big thing in React app development. This talk with take you from zero-to-hero on how you can start writing web applications with Reason, covering:The basics of OCaml Why a language like OCaml is attractive (pros)Why OCaml might not be attractive (cons) Bucklescript and the amazing things it can do ReasonML vs OCaml Building React applications in Reason


Software Engineer at Formidable Labs, core contributor to React and Enzyme. Open source advocate.