4 ms·
Hello! Reason team member here. With that kind of exposure comes some pretty negative snarks & unrelated criticisms that are hard to counter in a post/tweet. I
by chenglou 9y ago
Hello! Reason team member here.
With that kind of exposure comes some pretty negative snarks & unrelated criticisms that are hard to counter in a post/tweet. I've left a few replies on this thread but I'll still try my best to answer the questions here =) (but before that, please do give https://reasonml.github.io/guide/what-and-why https://reasonml.github.io/guide/what-and-why a look).
- kirillzubovsky 9y agoI have to admit this is the first time I've heard about Reason. Could you help me understand the reason for it? Is this because Microsoft has TypeScript, Apple has Swift, and so now Facebook has Reason to keep all your application in your more/less proprietary format? Further, if you already have React, then why not write everything in React and then just extend it with the features you've built into Reason? Pardon if these aren't clever questions, but I'd love to understand the big selling points here. Thanks!
- yen223 9y agoReason isn't proprietary - it's essentially just a syntactical skin over OCaml to make it more appealing to JavaScript developers. OCaml has some nice features - algebraic datatypes, complete type coverage, and pattern matching - that would be clunky to retrofit into JavaScript, hence this project.
- chenglou 9y agoHey! It's weird: it's not the first time we get questions like yours and I'm not sure where such confusion comes from! Reason and React are two things. Reason's a syntax on top of OCaml, the programming language. ReactJS' a UI library. Messenger.com _is_ written in React, lots of which are, specifically, in ReasonReact, which is Reason bindings for ReactJS (the rest, plain ReactJS). Reason's open-source, as well as ReasonReact(https://github.com/reasonml/reason-react https://github.com/reasonml/reason-react). Using BuckleScript the OCaml-to-JS compiler, we compile to normal JS code with minimal runtime. Here's why we made it: https://reasonml.github.io/guide/what-and-why https://reasonml.github.io/guide/what-and-why
- seagreen 9y agoThanks for doing this! I'm a PureScript fan myself, but I like what reason is doing. There are a _lot_ of JS projects out there that would benefit from being converted to a language with a real type system, and it's good there are people approaching this problem from all sides. EDIT: If anyone reading this hasn't tried a language with an OCaml or Haskell-based type system, consider giving it a shot. If you're just familiar with static type systems from languages like Java I promise you this will be a totally different experience.
- Vinnl 9y agoOne question: could you have an RSS feed set up for the blog? Reason sounds interesting and something I'd like to stay up to date on until the time comes that I want to experiment with something and want to think of Reason, but without a feed to subscribe to I'm going to forget about it ;)