hobbes VS base

Compare hobbes vs base and see what are their differences.

hobbes

A language and an embedded JIT compiler (by morganstanley)

base

Standard library for OCaml (by janestreet)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
hobbes base
4 4
1,154 814
0.2% 2.5%
3.7 6.4
3 months ago 3 days ago
C OCaml
Apache License 2.0 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.

hobbes

Posts with mentions or reviews of hobbes. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-25.
  • Hobbes: Comprehensions
    1 project | news.ycombinator.com | 22 Feb 2024
  • My Thoughts on OCaml
    11 projects | news.ycombinator.com | 25 Apr 2023
    https://github.com/morganstanley/hobbes

    Things like structural equality and ordering are user functions here rather than magic internal definitions (e.g. equality is defined as a type class, and type class instances can deconstruct algebraic types at compile time to decide how to implement instances). But evaluation is eager by default, so it's pretty easy to reason about performance. And data structures can be persisted to files and/or shared transparently in memory with C/C++ programs without translation, also very convenient for the places where this was used. Actually we built some very big and complicated time series databases with it, used in both pre and post trade settings where ~15% of daily US equity trades happen. So I think these observations are useful and have passed through some pretty significant real tests.

  • C++ source code generation (focus on financial market data)
    2 projects | /r/cpp | 5 Sep 2022
    Have a look at Hobbes from Morgan Stanley
  • Peridot: A functional language based on two-level type theory
    2 projects | news.ycombinator.com | 10 May 2022
    https://github.com/morganstanley/hobbes

    This approach has several benefits, but there's a lot of appeal also to the way they're doing it, to have the same PL across stages (and then maybe have more than just two stages).

base

Posts with mentions or reviews of base. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-25.
  • My Thoughts on OCaml
    11 projects | news.ycombinator.com | 25 Apr 2023
    I don’t know OCaml, or really any language that would help me fully understand the code, but my exposure to OCaml is this stuff, and it looks pretty clean to me. https://github.com/janestreet/base

    Of course, I haven’t read every file, so maybe I got lucky with my random sampling.

  • Delimiter-First Code
    3 projects | news.ycombinator.com | 9 Dec 2022
  • My adventures in ML Land
    5 projects | dev.to | 20 Mar 2022
    Real World OCaml uses Base to replace OCaml's stdlib. I am not very fond of Base since it deviates from the standard convention of passing functions before values in HOC. To fix the ordering, one has to use labels:
  • I'm typecasting a lot, help
    2 projects | /r/ocaml | 10 Sep 2021
    As far as standard library usage goes, I highly recommend using Base. Instead of implementing list_of_string, you could use Base.String.to_list. Even if you don't end up using Base, you can get the same thing from the built in standard library by doing String.to_seq then List.of_seq.

What are some alternatives?

When comparing hobbes and base you can also consider the following projects:

dream-html - Generate HTML markup from your OCaml Dream backend server

ocaml-containers - A lightweight, modular standard library extension, string library, and interfaces to various libraries (unix, threads, etc.) BSD license.

peridot - A fast functional language based on two level type theory

utop - Universal toplevel for OCaml

sexp - S-expression swiss knife

opam-tools - opam plugin to initialise a local development environment for an OCaml project

hail - A service for pull-based continuous deployment based on hydra.

einops - Flexible and powerful tensor operations for readable and reliable code (for pytorch, jax, TF and others)

ppx_deriving - Type-driven code generation for OCaml