Ocaml

Open-source projects categorized as Ocaml

Top 23 Ocaml Open-Source Projects

  • milewski-ctfp-pdf

    Bartosz Milewski's 'Category Theory for Programmers' unofficial PDF and LaTeX source

    Project mention: reflect-cpp - Now with compile time extraction of field names from structs and enums using C++-20. | /r/cpp | 2023-12-09

    Category Theory for Programmers by Bartosz Milewski (https://github.com/hmemcpy/milewski-ctfp-pdf/releases)

  • reason

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

    Project mention: Learning Elm by porting a medium-sized web front end from React (2019) | news.ycombinator.com | 2024-02-29
  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

  • awesomo

    Cool open source projects. Choose your project and get involved in Open Source development now.

  • revery

    :zap: Native, high-performance, cross-platform desktop apps - built with Reason!

  • oni2

    Native, lightweight modal code editor

    Project mention: We Have to Start Over: From Atom to Zed | news.ycombinator.com | 2024-02-17

    It was onivim2. Iirc it was a one-man show, and stopped when funding dried up. I also hoped to see a a lot from it. Maybe the dev took too much work on his plate, with an unproven language with limited libraries?

    https://github.com/onivim/oni2

  • pyre-check

    Performant type-checking for python.

    Project mention: Enhance Your Project Quality with These Top Python Libraries | dev.to | 2024-03-18

    Pyre is a performant type-checker developed by Facebook. Pyre can analyse codebases with millions of lines of code incrementally – providing instantaneous feedback to developers as they write code.

  • google-drive-ocamlfuse

    FUSE filesystem over Google Drive

    Project mention: Obsidian didn't sync my files on Debian, any help? | /r/ObsidianMD | 2023-05-23

    I fixed the problem, it was due to the incorrect setup of the google drive. I followed this guide to set everything up from scratch and create the folder directly in Linux instead of constantly accessing the apparently "encrypted" cloud. If anyone ever runs into the same problem, I really hope this thread is helpful :D

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

  • ocaml

    The core OCaml system: compilers, runtime system, base libraries

    Project mention: The Return of the Frame Pointers | news.ycombinator.com | 2024-03-17

    You probably already know, but with OCaml 5 the only way to get flamegraphs working is to either:

    * use framepointers [1]

    * use LBR (but LBR has a limited depth, and may not work on on all CPUs, I'm assuming due to bugs in perf)

    * implement some deep changes in how perf works to handle the 2 stacks in OCaml (I don't even know if this would be possible), or write/adapt some eBPF code to do it

    OCaml 5 has a separate stack for OCaml code and C code, and although GDB can link them based on DWARF info, perf DWARF call-graphs cannot (https://github.com/ocaml/ocaml/issues/12563#issuecomment-193...)

    If you need more evidence to keep it enabled in future releases, you can use OCaml 5 as an example (unfortunately there aren't many OCaml applications, so that may not carry too much weight on its own).

    [1]: I haven't actually realised that Fedora39 has already enabled FP by default, nice! (I still do most of my day-to-day profiling on an ~CentOS 7 system with 'perf --call-graph dwarf', I was aware that there was a discussion to enable FP by default, but haven't noticed it has actually been done already)

  • extism

    The framework for building with WebAssembly (wasm). Easily load wasm modules, move data, call functions, and build extensible apps.

    Project mention: Show HN: Now my pet programming language can run in the browser | news.ycombinator.com | 2024-02-10

    It may just be my own unique obsession to peek at the internals of .wasm, but if anyone else is curious:

    https://modsurfer.dylibso.com/module?hash=ab6f4b2de9db171347...

    u/nbittich - curious if you've tried to use your language as as a scripting language inside other apps? I took a peak at your browser wasm environment, and think we could hook up the `compute` entrypoint you have here[0], but I'm not certain what the `ctx` does without going super deep, and if it could be passed into an Extism function[1] (which is how I'd try to run it from within 16+ other languages).

    [0]: https://github.com/nbittich/adana/blob/master/adana-script-w...

    [1]: https://github.com/extism/extism

  • klipse

    Klipse is a JavaScript plugin for embedding interactive code snippets in tech blogs.

  • awesome-ocaml

    A curated collection of awesome OCaml tools, frameworks, libraries and articles.

  • FStar

    A Proof-oriented Programming Language

    Project mention: Lean4 helped Terence Tao discover a small bug in his recent paper | news.ycombinator.com | 2023-10-27
  • mirage

    MirageOS is a library operating system that constructs unikernels

    Project mention: Gokrazy – Go Appliances | news.ycombinator.com | 2023-12-18

    Interesting, and thanks.

    I didn't know about those. I kind of thought you may have used MirageOS, which I had read about earlier. It is done in OCaml.

    https://mirage.io/

  • bap

    Binary Analysis Platform

  • mina

    Mina is a cryptocurrency protocol with a constant size blockchain, improving scaling while maintaining decentralization and security. (by MinaProtocol)

  • nodebook

    Nodebook - Multi-Lang Web REPL + CLI Code runner

  • merlin

    Context sensitive completion for OCaml in Vim and Emacs

  • dune

    A composable build system for OCaml.

    Project mention: Tagging OCaml packages | dev.to | 2023-12-31

    If you are using the dune build system, add the tag(s) to your dune-project file's package stanza. E.g.:

  • dream

    Tidy, feature-complete Web framework

  • opam

    opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.

  • SATySFi

    A statically-typed, functional typesetting system

  • caramel

    :candy: a functional language for building type-safe, scalable, and maintainable applications

    Project mention: Gleam | news.ycombinator.com | 2023-11-07

    Caramel is a very similar language (ML dialect) that builds for BEAM.

    https://caramel.run/

  • js_of_ocaml

    Compiler from OCaml to Javascript.

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2024-03-18.

Ocaml related posts

Index

What are some of the best open-source Ocaml projects? This list will help you:

Project Stars
1 milewski-ctfp-pdf 10,691
2 reason 10,044
3 awesomo 9,195
4 revery 8,065
5 oni2 7,735
6 pyre-check 6,663
7 google-drive-ocamlfuse 5,334
8 ocaml 5,127
9 extism 3,621
10 klipse 3,081
11 awesome-ocaml 2,677
12 FStar 2,552
13 mirage 2,420
14 bap 1,958
15 mina 1,918
16 nodebook 1,610
17 merlin 1,541
18 dune 1,515
19 dream 1,501
20 opam 1,177
21 SATySFi 1,145
22 caramel 1,031
23 js_of_ocaml 930
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com