HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
reasonml
reason
OCaml2016–2024
reasonml / reason

reason

Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems

27Distinct people
35Mentions
0Explicit recommenders
10.3KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

  • meta/flow · linked in 3 of the same discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year35 dated mentions

Observed mentions: 2016-05-17 21:17:04 UTC to 2024-11-25 14:59:17 UTC.

0369122016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 6 mentions; 1 submissions, 5 comments20162017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 11 mentions; 2 submissions, 9 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 5 mentions; 1 submissions, 4 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 8 mentions; 0 submissions, 8 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2024

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC615
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC1129
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC514
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC808
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC303
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC101

From the project README

An excerpt from the repository, fetched Nov 13, 2026.

Read the project’s introduction
Reason Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems. Latest Releases: User Documentation The Reason user docs live online at https://reasonml.github.io. The repo for those Reason docs lives at github.com/reasonml/reasonml.github.io Docs links for new users: Getting Started Community Contributing: npm install -g esy@next git clone https://github.com/reasonml/reason.git cd reason esy esy test # Run the tests Contributor Documentation: The docs/ directory in this repo contains documentation for contributors to Reason itself (this repo). License See Reason license in LICENSE.txt. Works that are forked from other projects are under their original licenses. Credit The general structure of refmt repo was copied from whitequark's m17n project, including parts of the README that instruct how to use this with the OPAM toolchain. Thank you OCaml!
Read the full README on GitHub

What Hacker News says

35 sources
Thank you :-) You also make a good point. I didn't go into too much detail about ReasonML in another comment, but I know Jordan (@jordwalke) has plans for a ReasonML v4 [1] with slight syntax improvements. I don't currently know the status of that work, however, but I think we'll want to make progress soon. So the TL;DR is more that ReasonML is not going anywhere, especially since Ahrefs have a huge ReasonML frontend codebase [2]. [1]: https://github.com/reasonml/reason/pull/2605 [2]: https://tech.ahrefs.com/ahrefs-is-now-built-with-melange-b14...
In Melange 1.0: Compile OCaml / ReasonML to JavaScript
ReasonML purely as a syntax layer on top of OCaml is still being updated and released[1]. Incidentally, I'm one of the maintainers of that project too :-) With this Melange release, we're hoping to somewhat revive ReasonML and channel some folks back to the community from the perspective of a vertically integrated platform[2] that has seen major investment in the past few years. [1]: https://github.com/reasonml/reason [2]: https://ocaml.org/docs/platform
In Melange 1.0: Compile OCaml / ReasonML to JavaScript
You can read about the ReScript change here: https://rescript-lang.org/blog/bucklescript-is-rebranding I wouldn't go so far as GP as to call it "drama", but the split left Reason without a reason (pun intended) to exist or any activity for that matter. Most of the people who liked Reason for frontend usecases moved to ReScript since that at least had some momentum behind it. Since the split, Reason itself has been largely on life support, with no significant changes and almost no forum activity in the past year. So newcomers to Reason see a dead community for a language which is a syntax extension for another language with a (relatively) alive community. The fact that Reason hasn't seen a surge in enthusiasm corresponding to the enthusiasm in the OCaml community with the advent of 5.0 and multicore is proof enough that Reason is dead, and
Read the rest
projects written in Reason should probably consider moving to OCaml entirely considering there are planned changes to the OCaml syntax for effects which I don't think are going to make it to Reason. Some people in the Reason world blame the ReScript people for this, which I think is entirely misplaced. The only reason (pun not intended this time) Reason has died off is that there is absolutely no clarity on the future of Reason. The creator of Reason, Jordan Walke, has been entirely MIA for about two years now. A version 4.0 was planned in 2020 and as of now hasn't come up. This issue was opened in Nov 2020 asking for future plans and is still unresolved, and the latest comment from a new developer just makes my point: https://github.com/reasonml/reason/issues/2634.
In SpaceVim 2.0
Lots of things are under the Reason banner: - The Reason syntax at https://github.com/facebook/reason - Esy, the npm-like Opam-compatible package manager at https://esy.sh/ - Reason native tooling in https://reason-native.com/ - Not forgetting that Dune and Odoc, two standard tools in the OCaml ecosystem, both support Reason syntax. EDIT: and I forgot about the various editor plugins which provide Reason support, the most well-known is probably https://marketplace.visualstudio.com/items?itemName=jaredly....
In ReScript (previously BuckleScript and Reason)
You're comparing a tool which you have source for and control over with a service which is out of your control. The comparison is of apples and oranges. Compare something like flow [1], reason [2], or prepack[3] as it's tools which serves you rather than the company behind it with access to the source which is the same as the case for weboob if you want to compare against facebook. I don't see an issue with using them though as they don't collect data on you. [1]: https://github.com/facebook/flow [2]: https://github.com/facebook/reason [3]: https://github.com/facebook/prepack [4]: https://github.com/majestrate/XD
In Weboob
If I get it right (from posts I've seen before and the docs on the project [1]) Reason is not really "OCaml for JavaScript" but just a parser for a more appealing, mostly compatible, syntax for the OCaml. So one should be able to compile to the same targets as with traditional OCaml. Re: Mostly compatible: I remember there were certain things that were not easily expressible with Reason (but available in the OCaml syntax) a few years ago, not sure if it is still the case. Subjective: OCaml syntax is definitely on the weird side, although I would not call it ugly. This coming from someone who enjoys writing clojure and xslt, go figure :-p. 1: https://github.com/facebook/reason/blob/master/src/README.md...
In Functional Programming in OCaml
I'm not sure how you missed it, but right from the main Reason web page(https://reasonml.github.io/) there is a link to the Github repo for one of the ReasonML syntax (https://github.com/facebook/reason) which has a link to the latest Release on npm which was four months ago. Where did you get the 18 months figure? (You might have stumbled upon some old docs). There is also an important PR in progress for async syntax extension, which will form the next release. That Reason repo is just for the parser which is only one of the many pieces of infrastructure under the Reason umbrella (an important one though). Also follow BuckleScript, and esy for example.
In Restack: Full-Stack ReasonML
Reason language development is happening at https://github.com/facebook/reason/ Like huy-nguyen said, this is a tooling & ecosystem effort on top of OCaml ecosystem, and the language syntax is a small part of the effort. It's a bit scattered, but apart from ReasonReact, there is also https://reason-native.com/ and Esy that are parts of this bigger picture. Both OCaml and Reason communities are also quite active in producing tooling and libraries, I'd suggest following the relevant forums. I believe Reason's development momentum is not centralized around a core Reason repo/org and a team.
In Restack: Full-Stack ReasonML
I don't know where (or if) |. is documented, I think I saw someone use it in a Github thread somewhere. I use it all the time – for instance someList |. Belt.List.map(i => i + 1) ... because most Belt.List functions take the list as the first argument, and |> feeds its input as the last argument. Edit: apparently |. is BuckleScript, lots more discussion here: https://github.com/facebook/reason/issues/1452 ... just another instance of Reason still finding itself.
In ReasonML – React as first intended

Showing the 15 most recent of 35 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.