ocaml-webmachine VS lwt

Compare ocaml-webmachine vs lwt and see what are their differences.

ocaml-webmachine

A REST toolkit for OCaml (by inhabitedtype)
Our great sponsors
  • SonarQube - Static code analysis for 29 languages.
  • talent.io - Download talent.io’s Tech Salary Report
  • Scout APM - Less time debugging, more time building
ocaml-webmachine lwt
1 4
221 590
0.0% 1.2%
0.0 8.6
11 months ago 15 days ago
OCaml OCaml
GNU General Public License v3.0 or later MIT License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
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.

ocaml-webmachine

Posts with mentions or reviews of ocaml-webmachine. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-02-13.
  • Ocaml for web development
    8 projects | reddit.com/r/ocaml | 13 Feb 2022
    We (a small company creating specialized inventory management and e-commerce systems) use Dream for web development. Webmachine and Cohttp for creating RESTful APIs. HTTP-clients with Ocurl and Cohttp. We are very happy with our choice of technologies.

lwt

Posts with mentions or reviews of lwt. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-02-13.
  • Ocaml for web development
    8 projects | reddit.com/r/ocaml | 13 Feb 2022
    Here is link number 1 - Previous text "Lwt"
    8 projects | reddit.com/r/ocaml | 13 Feb 2022
    I do only very basic web development but have been generally happy with it. One problem I hit was that mssql only works with one of OCaml's async libraries (Async) whereas multipart forms only works with the other, incompatible, async library (Lwt).
  • From TypeScript to ReScript
    12 projects | news.ycombinator.com | 12 Jan 2022
    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
    10 projects | news.ycombinator.com | 9 Apr 2021
    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?

When comparing ocaml-webmachine and lwt you can also consider the following projects:

dream - Tidy, feature-complete Web framework

async - Jane Street Capital's asynchronous execution library

soupault - Static website generator based on HTML element tree rewriting

ocaml-cohttp - An OCaml library for HTTP clients and servers using Lwt or Async

sihl - A modular functional web framework

genType - Auto generation of idiomatic bindings between Reason and JavaScript: either vanilla or typed with TypeScript/FlowType.

Tomorrowland - Lightweight Promises for Swift & Obj-C

ocurl - OCaml bindings to libcurl

rescript-compiler - The compiler for ReScript.

re-web - Experimental web framework for ReasonML & OCaml

melange - A mixture of tooling combined to produce JavaScript from OCaml & Reason