HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
OvermindDL1
bucklescript-tea
JavaScript2017–2022
OvermindDL1 / bucklescript-tea

bucklescript-tea

TEA for Bucklescript

15Distinct people
17Mentions
0Explicit recommenders
599GitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

TEA for Bucklescript

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

No other repository is repeatedly linked in the same discussions.

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 year17 dated mentions

Observed mentions: 2017-07-03 23:11:37 UTC to 2022-06-04 04:11:18 UTC.

02462017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 3 mentions; 0 submissions, 3 comments20172018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 7 mentions; 0 submissions, 7 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 5 mentions; 0 submissions, 5 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2022

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
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC303
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC707
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC505
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC101
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101

What Hacker News says

17 sources
As I understand it, there was a rift in the community over the leadership's tone in messaging and communication. Some Developers also felt like they could not contribute in a meaningful way or have constructive discussion with maintainers. See posts like these for more details and comments: https://news.ycombinator.com/item?id=16510267 https://news.ycombinator.com/item?id=22821447 There are also several great alternatives now. F# with Fable and Elmish for example: https://zaid-ajaj.github.io/the-elmish-book/#/ And Bucklescript TEA with Ocaml or Reason: https://github.com/OvermindDL1/bucklescript-tea Some others have also gone on to develop new languages taking inspiration from Elm: https://www.mint-lang.com/
In Elm at Rakuten
Could you do the following in TypeScript? Can you, for any button in your interface, at any point in time, reliably calculate at runtime what your page's data model would look like, and if there were going to be any side effects, if you were to click on that button - but without clicking on it or invoking its callbacks (which could potentially change all kinds of things)? You can do that with Elm (more info here - https://lukeplant.me.uk/blog/posts/two-experiences-with-elm/ ), due to The Elm Architecture and everything being immutable. (In theory you could do this in TypeScript, but it would be a lot of work and its reliability would depend on everyone coding everything a certain, very unnatural way, with no help from the compiler). I'm using Elm in production, version 0.18, it is an extremely robust way to make front end code. You just d
Read the rest
on't have runtime issues. However, like IBM folks (mentioned in another reply) who said in the their post they didn't know how they would upgrade to 0.19, I also don't know how I will be able to upgrade. Specifically, 0.19 adds some cripple-ware restrictions (you can't use native modules unless you are contributing to certain projects). So, if you want to use something like Intl - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe... - not only is there no wrapper provided, the restrictions in 0.19 attempt to stop you from writing your own wrapper. Only the core team can do it, which requires them having both the expertise and motivation to do so. Plus Elm has essentially a closed-source development process. In fact, there is no 'process' for contributing, and the fact that there is no process is deliberate, as far as I can tell. So for me, if I can't find a way around the restrictions, they may kill my ability to being able to keep my code nicely architectured (i.e. using The Elm Architecture). I may be forced to switch to something like ReasonML with bucklescript-tea - https://github.com/OvermindDL1/bucklescript-tea
In Ask HN: Anyone Using Elm in Production?
I have no basis for talking about this. My suspicion is that our OCaml apps perform pretty terribly if you look at raw numbers, because we use what is essentially a hobbyist library called `bucklescript-tea`[0], which implements the Elm Architecture. I can only assume it's not optimized. Fortunately, we don't need it to be. The README stresses that it's fast, but meh. From reading, the Reason team have had great success using react from Reason (so OCaml) even without manual optimizations, because of immutable data (even compared to immutable.js). Take that nugget with a pinch of salt, though, because I didn't hear it recently and I'm not sure I ever saw real numbers behind it. 0 - https://github.com/OvermindDL1/bucklescript-tea
In Functional Programming in OCaml
I think it's very promising, but it definitely has some rough spots. Things I like: * It's a general purpose language, it's not only usable on the front-end (like Elm for example). * It's a really powerful language (or rather, OCaml is). * Interop with JS is good. It takes a bit to get used to the syntax for writing bindings, but once you get the hang of it it's pretty straightforward. Again, ReasonML IMO scores a lot better in this front than Elm. * ReasonReact is a very thin wrapper around React, so if it's really easy to work with if you already know React. * There are other options than ReasonReact, for example bucklescript-tea [1] which is very Elm like. * There seems to be a lot of focus on targeting native. See for example Esy [2]. There's some real potential in bs-react-native [3] and Revery [4]. * Overall the experi
Read the rest
ence of working with Reason is really great. The compiler has your back, is great at type inference and the syntax is pretty elegant (though IMO a little less so than Elm). * The compiler is blazingfly fast. Blows Typescript and Babel out of the water. Things that are a bit rough: * Docs are spread across Reason docs, Bucklescript docs and OCaml docs. A lot features are not documented in Reason, because they're inherited from OCaml. If you would read just the Reason docs you might get the impression that's a pretty small and simple language, but it's actually very powerful. If you're thinking about picking up Reason I definitely recommend you read the RealWorldOCaml book [5]. * The Reason syntax is a bit weird in some spots. If you make a syntax error the compiler will in most cases just yell `Error: Syntax error` at you which is not really helpful. * The ReasonReact API feels a bit alien, probably because it's build on top of the React Class API. I think there a bit some big changes coming to ReasonReact though, so hopefully this will change. Things that concern me: * There's little formal communication about the direction and future of the project. It seems to be mostly Facebook who's behind it, it doesn't feel like a community project at all. Bucklescript seems to be largely a one man show. * There have been a handful of Bucklescript and Reason releases that plain broke stuff. Of course this can happen, but it does make me a feel a little uneasy. All in all I'm definitely positive. There's a lot of potential and hopefully when Reason picks up some more steam it can become more a community project. Be sure to check out the Reason Discord [6], very helpful people there! [1] https://github.com/OvermindDL1/bucklescript-tea [2] https://esy.sh/ [3] https://github.com/reasonml-community/bs-react-native [4] https://github.com/revery-ui/revery [5] https://dev.realworldocaml.org/ [6] https://discord.gg/reasonml
In Ask HN: What tech stack would you use to build an open-source Google Keep clone?
There is a reason-vue project (https://github.com/JasonShin/reason-vue), but from my memories with Vue it is not a great fit for a statically typed language because a lot in Vue is "stringly typed" (which means that it is untyped and basically works by using the same/right string in your code, opening a huge opportunity for typo-bugs that a compiler cannot find). You may want to look into this project which is an alternative to the React ecosystem: an implementation of the Elm architecture in OCaml/BuckleScript (and thus Reason). https://github.com/OvermindDL1/bucklescript-tea > What about server-side with Node? Possible with Reason, yet compilation to native is also possible from Reason... This allows one to use really fast all-OCaml libraries. Like this HTTP server: https://github.com/inhabitedtype/httpaf
In Relit: Typed Literal Macros for Reason
for better or for worse, there is much less of a Reason bubble to be trapped in. The foreign function interface of the bucklescript compiler (Reason/Ocaml->js) makes for a much more gradual boundary between javascript and Reason code than that between js and Elm, a difference that flows naturally out of the different language designs: OCaml is multi-paradigmatic, sporting mutability and an object system, whereas Elm tries to help the user (e.g. via better isolation/prevention of errors) by sticking to one paradigm. Even within the functional paradigm, OCaml offers all the tools Elm does (leading to re-implementations of elm structures like https://github.com/OvermindDL1/bucklescript-tea ), and more — the module system is the biggest one to come to mind, but library authors have even found client-side uses for esoterica like phantom types
Read the rest
(ensuring certain safe usage patterns without runtime costs). Bubbles can be nice, though! For example, some people are confused by the fact that there is a "beta" standard library in addition to the one that Reason ships with - and that at least one popular (arguably the most popular) book on OCaml — "Real World OCaml" uses a third standard library which is neither of those. One can debate how much of a problem or how widespread of a problem this is in practice, but it stands that this is not a problem at all for Elm.
In Relit: Typed Literal Macros for Reason
So far I've been using Python/JS/TypeScript mostly and I'm striving for a better Type System and more functional capabilities. ReasonML offers a lot of the things I was looking for: * Familiar syntax (coming from Python/Go/JS/TS etc.) * A lot of functional capabilities. * A nice flexible type system. * High (predictable) performance. * Fast compile times. * Compiles to byte/native/JS * A mature compiler. I'm still having an eye on three things: 1) What's the concurrency model going to be. 2) What's the solution for unicode going to be. 3) At what pace is the ecosystem going to grow. If things turn out well, I can imagine OCaml/ReasonML becoming my general purpose language of choice for most of the stuff I'm currently using Python/Go/JS/TS for. I recently started with a frontend using bucklescript-tea [0] and it's a great experience so far
Read the rest
In Rust-style resource management in OCaml

Showing the 15 most recent of 17 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.