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. Learn more →
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-09Category Theory for Programmers by Bartosz Milewski (https://github.com/hmemcpy/milewski-ctfp-pdf/releases)
-
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.
-
-
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?
-
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.
-
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.
-
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-10It 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...
-
-
-
Project mention: Lean4 helped Terence Tao discover a small bug in his recent paper | news.ycombinator.com | 2023-10-27
-
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.
-
-
mina
Mina is a cryptocurrency protocol with a constant size blockchain, improving scaling while maintaining decentralization and security. (by MinaProtocol)
-
-
-
If you are using the dune build system, add the tag(s) to your dune-project file's package stanza. E.g.:
-
-
opam
opam is a source-based package manager. It supports multiple simultaneous compiler installations, flexible package constraints, and a Git-friendly development workflow.
-
-
caramel
:candy: a functional language for building type-safe, scalable, and maintainable applications
Caramel is a very similar language (ML dialect) that builds for BEAM.
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
Ocaml related posts
- Soupault: A static website management tool
- Eio 1.0 Release: Introducing a new Effects-Based I/O Library for OCaml
- The Return of the Frame Pointers
- Learn-OCaml
- Melange for React devs book, alpha release
- ReScript: Rust like features for JavaScript
- Extism – make all software programmable. Extend from within
-
A note from our sponsor - InfluxDB
www.influxdata.com | 28 Mar 2024
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 |