Looks like Reason has the same PATENTS license as React, for those wondering:<p><a href="https://github.com/facebook/reason/blob/master/PATENTS.txt" rel="nofollow">https://github.com/facebook/reason/blob/master/PATENTS.txt</a>
I've heard that Reason is essentially what Jordan Walke (React creator) was trying to make with React. Maybe that's wrong, but he's the head of this project and it looks great. Also props to FB engineering for having faith in him with React and this.<p>Wondering if Reason will take off and what it will mean for languages like Elm or ClojureScript.
> external get_internal : map 'a 'b => 'a => Js.undefined 'b = "get" [@@bs.send];<p>I like languages that are readable. This is starting to look like codegolf. <a href="https://github.com/reasonml-community/reason-react-hacker-news/blob/master/src/JSMap.re" rel="nofollow">https://github.com/reasonml-community/reason-react-hacker-ne...</a>
I'm really excited about reason. The front end community is adopting functional programming (concepts) at breakneck speed. I think this opens us up to more advanced type systems, and generative testing (property testing, say).<p>These are exciting times.
It fills my heart with joy that the javascript community is adopting so many functional paradigms and languages.<p>I come from a heavy haskell background, and don't have a lot of ML experience so gave been betting on Purescript recently. But reason seems really nice. Good luck with the port! A success for Functional Programming
I just discovered messenger lite after uninstalling the main bloated battery sucking messenger app and I'm sad they chose not to release it in my country. It's fantastic! Also messenger.com really needs a lite browser app version for phones and to improve their browser version of Facebook. They're really out of the loop in my opinion. Since removing all Facebook apps, including instagram and going to browser app only I've increased my battery life significantly.
Based on the roadmap [1], they are about to change function call syntax to be more like JavaScript. It seems like good stuff, but beware unstable language.<p>[1] <a href="https://reasonml.github.io/community/roadmap" rel="nofollow">https://reasonml.github.io/community/roadmap</a>
Over the last 8 months or so I've found Messenger.com get slower and less stable. Killing browsers or tab processes, or having to refresh the page because it's become unresponsive, has become more and more common.<p>This could well be completely unrelated, but it has been one of the driving factors to me moving more to WhatsApp's web interface.
For those wondering, Reason is basically transpiled to very similar OCaml, with some focus on platforms like the web. I think some folks at Facebook might be interested in Reason becoming to them as Java is to Google.
Hello! Reason team member here.<p>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 <a href="https://reasonml.github.io/guide/what-and-why" rel="nofollow">https://reasonml.github.io/guide/what-and-why</a> a look).
I can offer a contrary datapoint: As someone who has never used this language before, so has never seen its error messages either before nor after, it took me far longer to parse and understand the "after" error message than the "before"; I immediately saw <i>is not compatible</i> and understood, while the more verbose message doesn't have anywhere near the same clarity --- "But somewhere wanted" made me do a reparse, and I'm still not completely sure what it's trying to say, or what "somewhere" is. Even the "before" is unnecessarily verbose to me --- I'd prefer something more like this:<p><pre><code> Error:%s:%d:%d-%d: incompatible type: expected %s, found %s
</code></pre>
<i>Display the error-ing line(s), right inside the terminal.</i><p><i>Seeing that you'd usually focus on a single error rather than trying to get an overview of all errors</i><p>IMHO these are not good changes --- chances are that many errors have a common cause which may be far away, and fixing that will make them all disappear. This encourages "code tunnel-vision", making small patches to "fix" each error ("the compiler says the error is here, so I must try to fix it here somehow"), which in the long term can cause massive duplication and decrease the overall quality.<p>Then again, I don't use JS so maybe the culture is very different, but the "gradual increase of verboseness" seems to be a common trend among other languages, that I strongly disagree with. Writing in six words ("We've found a bug for you!") what could be expressed in one ("Error") does not help anyone except possibly the most noobish of programmers, which one should hope to learn and thereby advance from their level anyway; unless you treat your developers as incapable of learning and disposable, it is counterproductive --- or perhaps I should say un-Reason-able(!) --- to optimise for the extreme beginner at the expense of the experienced.<p>/rant
I've been using messenger.com to great effect for the past couple of months. I can justify completely blocking facebook.com most of the time while still being able to talk to people<p>Highly recommend
It's great that Messenger is being worked on. I wish they'd also work on improving the UI instead of spending time tacking on half-baked features, but that's probably a discussion for another time and place.<p>I <i>have</i> noticed fairly recently that searching chat histories is much faster and more reliable than it used to be, so that's a plus.
I'm a heavy Messenger user. Love the service. I mostly use it on my iPhone and iPad and those apps work well (I wish they had SiriKit integration...). I use the web interface when I have to, but I would really prefer a full native client for macOS as their web client routinely stops getting notifications and cannot make voice calls in Safari. The Windows 10 client is also painfully underdeveloped but at least it's not bound up in a browser tab.<p>On topic, ML is a neat language family but I just couldn't get into it when I tried F# back in the day. I'm a Clojure fanatic through and through but the more projects using functional languages the better, even if it does use static types!
Are there any plans for polishing the backend experience?<p>The progress for front end looks very promising, however as someone that likes the look of Reason but isn't interested in front end I found getting into Reason with the native toolchain was no easier than OCaml.
wow first time I hear about reason. So would that imply facebook would end up ditching Flow for reason instead? Cause reason is basically a replacement for JS+Flow right? Am I understanding this correctly?
Since I upgraded my google-chrome-stable version on my Linux machine to 60.0.3112.78, I've been getting a "Could not display composer" error where the composer should be on Messenger.com. If someone on the Messenger team sees this, could you please look into this issue? (I submitted this issue through feedback but didn't hear back from anyone.)
Messenger.com is really buggy, I've had a `Could not display composer` error message for months every time I open the page, so I can't type anything into it. (just double checked and it still exists). Unfortunately, seeing how slowly facebook responds to bug reports I haven't even bothered.