Displaying 1 to 20 from 259 results

merlin - Context sensitive completion for OCaml in Vim and Emacs

  •    OCaml

Merlin is an editor service that provides modern IDE features for OCaml.Emacs and Vim support is provided out-of-the-box. External contributors added support for Visual Studio Code, Sublime Text and Atom.

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

  •    OCaml

OCaml is an implementation of the ML language, based on the Caml Light dialect extended with a complete class-based object system and a powerful module system in the style of Standard ML.OCaml comprises two compilers. One generates bytecode which is then interpreted by a C program. This compiler runs quickly, generates compact code with moderate memory requirements, and is portable to essentially any 32 or 64 bit Unix platform. Performance of generated programs is quite good for a bytecoded implementation. This compiler can be used either as a standalone, batch-oriented compiler that produces standalone programs, or as an interactive, toplevel-based system.

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


Everything you'll ever need on the road to mastering OCaml. A curated list of references to awesome OCaml tools, frameworks, libraries and articles. Additionally there is a collection of freely available books, papers and presentations.

awesomo - An extensive list of interesting open source projects written in С, C++, Clojure, Lisp, Elixir, Erlang, Elm, Golang, Haskell, JavaScript, Lua, OCaml, Python, R, Ruby, Rust, Scala etc

  •    Rust

A.W.E.S.O.M. O is an extensive list of interesting open source projects written in various languages. If you are interested in Open Source and are considering to join the community of Open Source developers, then here you might find a project that will suit you.

irmin - Irmin is a distributed database that follows the same design principles as Git

  •    OCaml

Irmin is an OCaml library for building mergeable, branchable distributed data stores. Below is a simple example of setting a key and getting the value out of a Git based, filesystem-backed store.

mirage - MirageOS is a library operating system that constructs unikernels

  •    OCaml

The most up-to-date documentation can be found at the homepage. The site is self-hosted, and is itself a useful example. Simpler skeleton applications are also available online. There are several diverse backends in MirageOS that require rather specialised build steps (from Xen to KVM unikernels), and this complexity is wrapped up in the tool.

atom-beautify - :lipstick: Universal beautification package for Atom editor (:warning: Currently migrating to https://github

  •    CoffeeScript

Atom-Beautify respects the core.telemetryConsent configuration option from Atom editor. If you do not wish to have usage data sent to Google Analytics then please set core.telemetryConsent to no or undecided option before using Atom-Beautify. See Anonymous Analytics section of docs for details. Thank you. Atom-Beautify is going to be completely rewritten with Unibeautify at its core! See unibeautify branch for work in progress and Issue #1174.

bap - Binary Analysis Platform

  •    OCaml

The Carnegie Mellon University Binary Analysis Platform (CMU BAP) is a reverse engineering and program analysis platform that works with binary code and doesn't require the source code. BAP supports multiple architectures: ARM, x86, x86-64, PowerPC, and MIPS. BAP disassembles and lifts binary code into the RISC-like BAP Instruction Language (BIL). Program analysis is performed using the BIL representation and is architecture independent in a sense that it will work equally well for all supported architectures. The platform comes with a set of tools, libraries, and plugins. The documentation and tutorial are also available. The main purpose of BAP is to provide a toolkit for implementing automated program analysis. BAP is written in OCaml and it is the preferred language to write analysis, we have bindings to C, Python and Rust. The Primus Framework also provide a Lisp-like DSL for writing program analysis tools. BAP is developed in CMU, Cylab and is sponsored by various grants from the United States Department of Defense, Siemens AG, and the Korea government, see sponsors for more information.

FStar - Verification system for effectful programs

  •    OCaml

The F* tutorial provides a first taste of verified programming in F*, explaining things by example. The F* wiki contains additional, usually more in-depth, technical documentation on F*.

tezos - A self-amending cryptographic ledger

  •    OCaml

Tezos is a distributed consensus platform with meta-consensus capability. Tezos not only comes to consensus about the state of its ledger, like Bitcoin or Ethereum. It also attempts to come to consensus about how the protocol and the nodes should adapt and upgrade. The Tezos Alpha (test) network has been live and open since February 2017.

Bucklescript - A backend for the OCaml compiler which emits JavaScript.

  •    OCaml

BuckleScript leverages the existing OCaml compiler and toolchain to produce JavaScript that closely resembles the original OCaml. It isn't a new language. It simply takes OCaml, a fast, pragmatic and typed language, and makes it compile to clean, readable and performant JavaScript code. This allows the users to write in an industrial-strength language while using the existing, familiar JavaScript tools (npm/yarn, bundlers, minifiers, devtools, etc.) and accessing the vast ecosystem from both JavaScript and OCaml.

SATySFi - A statically-typed, functional typesetting system

  •    OCaml

SATySFi (pronounced in the same way as the verb “satisfy” in English) is a new typesetting system with a static type system. It consists mainly of two “layers” ― the text layer and the program layer. The former is for writing documents in LaTeX-like syntax. The latter, which has ML-like syntax, is for defining functions and commands. SATySFi enables you to write documents markuped with flexible commands of your own making. In addition, its informative type error reporting will be a good help to your writing. This software is supported by IPA Mitou Project 2017 (see the abstract here).

opam-repository - Main public package repository for OPAM, the source package manager of OCaml.

  •    OCaml

This repository contains OCaml package and compiler metadata and is used by the default installation of opam.The CONTRIBUTING.md document has general guidelines on how to contribute.

dune - A composable build system for OCaml

  •    OCaml

Jbuilder has been renamed to Dune. A full renaming of the documentation and the tool will be done as part of the 1.0 release. Jbuilder is a build system designed for OCaml/Reason projects only. It focuses on providing the user with a consistent experience and takes care of most of the low-level details of OCaml compilation. All you have to do is provide a description of your project and Jbuilder will do the rest.

ocaml-cohttp - Very lightweight HTTP server using Lwt or Async

  •    OCaml

You can implement other targets using the parser very easily. Look at the IO signature in lib/s.mli and implement that in the desired backend. You can activate some runtime debugging by setting COHTTP_DEBUG to any value, and all requests and responses will be written to stderr. Further debugging of the connection layer can be obtained by setting CONDUIT_DEBUG to any value.

bucklescript-tea - TEA for Bucklescript

  •    OCaml

This is a library for OCaml-via-Bucklescript (though in the future to support native compilation for back-end template generation) that follows TEA/The Elm Architecture as I see it in various incarnations. You can read more about it here.

js_of_ocaml - Compiler from OCaml to Javascript.

  •    OCaml

Js_of_ocaml is a compiler from OCaml bytecode to JavaScript. It makes it possible to run pure OCaml programs in JavaScript environment like browsers and Node.js. Findlib, cppo See opam file for version constraints.

vscode-reasonml - OCaml & Reason support for Visual Studio Code

  •    TypeScript

There is an #editorsupport channel on the Reason discord server. If you would like to discuss an idea or need help or have other feedback you can usually find me (@freebroccolo) idling there. The Reason installation steps also installs Merlin for you, so you can skip the Merlin installation in the next section.