5 ms·
What OSS is out there that uses OCaml?
by InitEnabler 4y ago
What OSS is out there that uses OCaml?
- abathologist 4y agohere are a few - https://github.com/coq/coq https://github.com/coq/coq - https://github.com/mirage/mirage https://github.com/mirage/mirage - https://github.com/returntocorp/semgrep https://github.com/returntocorp/semgrep - https://github.com/bcpierce00/unison https://github.com/bcpierce00/unison See https://v2.ocaml.org/learn/companies.html https://v2.ocaml.org/learn/companies.html for some more leads, as lots of those companies maintain useful OSS software.
- actionfromafar 4y agoThe Haxe language: https://haxe.org/ https://haxe.org/ https://frama-c.com/ https://frama-c.com/ https://fbinfer.com/ https://fbinfer.com/ https://mirage.io/ https://mirage.io/ https://coq.inria.fr/ https://coq.inria.fr/ https://github.com/ygrek/mldonkey https://github.com/ygrek/mldonkey (Stale project but large codebase.) https://akabe.github.io/ocaml-jupyter/ https://akabe.github.io/ocaml-jupyter/ https://reasonml.github.io/ https://reasonml.github.io/ https://github.com/moby/vpnkit https://github.com/moby/vpnkit (Used by Docker)
- dunham 4y agoAlso https://flow.org/ https://flow.org/
- giraffe_lady 4y agoA lot of projects also started on ocaml and then later moved off of it once they had succeeded by showing the concept works and got some momentum going. People like it for exploratory compiler dev, then switch off it when their language can self host. IIRC both rust and elm started like this, certainly others as well.
- Skinney 4y agonitpick: Elm was and is written in Haskell.
- giraffe_lady 4y agoOh you're right. Now that I think about it elm is more stylistically similar to haskell too. Last time I used elm I had never played with haskell so I probably just assumed it was related to ocaml which I did know.
- phplovesong 4y agoYup. Rust was originally written in OCaml https://github.com/rust-lang/rust/tree/ef75860a0a72f79f97216f8aaa5b388d98da6480/src/boot https://github.com/rust-lang/rust/tree/ef75860a0a72f79f97216...
- ziotom78 4y agoFFTW is written in C, but it used a FFT compiler written in OCaml to generate snippets of C code. [1] [1] https://www.fftw.org/fftw3_doc/Generating-your-own-code.html https://www.fftw.org/fftw3_doc/Generating-your-own-code.html
- grumpyprole 4y agoOne that I use is the unison sync tool
- yawaramin 4y agoOne that I've found pretty helpful is comby: https://comby.dev/ https://comby.dev/ It's a code-syntax aware large-scale search-and-replace tool. E.g., comby -matcher .scala -review 'foo(:[x], :[y])' 'foo(:[x])' This will search in the current directory tree for all files that contain the code pattern 'foo(x, y)' and replace it with 'foo(x)', using Scala syntax rules. It's super convenient for doing large-scale codemods. E.g. https://github.com/tinymce/rescript-webapi/pull/40 https://github.com/tinymce/rescript-webapi/pull/40
- edwintorok 4y agoThe XAPI toolstack is written in OCaml: https://xenproject.org/developers/teams/xen-api/ https://xenproject.org/developers/teams/xen-api/ I've recently completed bugfixing/testing on 4.14.1+no-naked-pointers, and 5.0 compatibility is not far behind (we're usually 1 or 2 compiler versions behind latest, e.g. current production releases are built using 4.13.1) Disclaimer: I work on the XAPI project as part of my job, the project itself is >15 years old at this point.