fartscroll.js
lwt
fartscroll.js | lwt | |
---|---|---|
3 | 5 | |
2,806 | 681 | |
- | 0.3% | |
0.0 | 6.6 | |
over 5 years ago | 3 days ago | |
OCaml | ||
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
fartscroll.js
-
TypeScript please give us types
We have types at home.
My litmus test regarding whether I can even consider using a library in production is: does it have more stars than fartscroll.js?
https://github.com/theonion/fartscroll.js/tree/master
Most of the entries there are below that number, which begs the question: is this really that much of a problem that it mandates the drastic changes required?
I actually don't know if it's even doable, considering TS's structural type system, where the answer to the question "what type is X?" is not straightforward.
-
Weekly Random Discussion Thread for 2/20/23 - 2/26/23
The best content produced by The Onion was a JavaScript library to make farting noises on scroll events: https://github.com/theonion/fartscroll.js
-
From TypeScript to ReScript
As a sort of litmus test I use the number of stars a superset of(or language compiling to) JavaScript has on GitHub and how that compares to fartscroll.js: https://github.com/theonion/fartscroll.js/
By this measure ReScript is still a niche language.
lwt
- Por que aprender OCaml?
-
Ocaml for web development
Here is link number 1 - Previous text "Lwt"
-
From TypeScript to ReScript
I have to admit I don't know much about ReScript and only have very basic exposure to OCAML, here is how you do await in it:
https://github.com/ocsigen/lwt
The `let* in` is a generic syntax for monads, it doesn't need a special one just for promise. This was in fact a debate back when async/await was in consideration for ECMAScript, but special syntax is hip so now we have `async/await` for Promise, `.?` for optionals and `flatMap` for arrays, basically the same thing.
-
Dream – Tidy Web Framework for OCaml and ReasonML
Dream doesn't have much of a system call dependency footprint itself. It's basically just a convention for plugging request -> response functions into a web server. Some of its native dependencies will have to be replaced by Node equivalents. Soon after that, it would be portable to Node.
There is already work underway to port Dream to Mirage, to run in unikernels: https://github.com/aantron/dream/pull/22
Lwt, Dream's promise library, is itself getting ported to run on top of libuv: https://github.com/ocsigen/lwt/issues/813
libuv is, of course, the I/O library that powers Node, so it might be practical to run Dream as a native node module very soon after doing this.
(As an aside, I'm supposed to work on that libuv project, but instead I've been working on Dream :P)
What are some alternatives?
genType - Auto generation of idiomatic bindings between Reason and JavaScript: either vanilla or typed with TypeScript/FlowType.
async - Jane Street Capital's asynchronous execution library
melange - A mixture of tooling combined to produce JavaScript from OCaml & Reason
dream - Tidy, feature-complete Web framework
typescript-needs-types - TypeScript please give us types.
sihl - A modular functional web framework
ocurl - OCaml bindings to libcurl
ocaml-cohttp - An OCaml library for HTTP clients and servers using Lwt or Async
rescript-compiler - The compiler for ReScript.
ocaml-webmachine - A REST toolkit for OCaml