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 emacs vim atomOCaml 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.
ocaml compiler functional-language machine-learningEverything 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.
ocaml awesome resources programming-languageA.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.
awesome ocaml elixir haskell emacs-lisp awesomo list open-source typescript dev lisp projectsIrmin 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.
ocaml git storage mirageos database irminThe 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.
mirageos unikernel xen kvm ocaml opamAtom-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.
atom beautifier formatter coffeescript beautify prettifier prettify js-beautify format pretty html handlebars mustache xml css json sass scss less sql markdown typescript cpp c-sharp coldfusion uncrustify apex pawn vala erb editorconfig yaml front-matter jekyll marko svg elm arduino crystal csv ejs gherkin haskell hindent brittany jade jsx latex ocaml puppet riot.js spacebars swig tss twig visualforce xtemplate autopep8 coffee-formatter coffee-fmt clang-format dfmt elm-format html-beautifier csscomb gherkin-formatter gofmt latex-beautify fortran-beautifier jscs-fixer eslint eslint-fixer lua-beautifier ocp-indent perltidy php-cs-fixer phpcbf pretty-diff pug-beautify puppet-lint r remark rubocop ruby-beautify rustfmt sqlformat stylish-haskell tidy-markdown typescript-formatter yapf erl_tidy marko-beautifier vue vue-beautifier sassconvert formatr clojure-beautifier nunjucks ux-markup pybeautifier cljfmt bash beautysh glsl hh_format nginx nginx-beautify golang-template align-yaml goimports terraform terraformfmt tsx prettier verilog emacs-verilog-mode vhdl vhdl-beautifier gn bladeThe 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.
binary-analysis reverse-engineering program-analysis static-analysis dynamic-analysis program-verification instruction-semantics taint-analysis disassembler lifter ocaml arm x86 security forensics emulator bap control-flow-analysis powerpc mipsThe 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*.
programming-language verification dependent-types smt theorem-proving proof-assistant ocaml f-sharp c-language fstarTezos 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.
tezos ocaml blockchain smart-contractsNodebook is an in-browser REPL supporting many programming languages. Code's on the left, Console's on the right. Click "Run" or press Ctrl+Enter or Cmd+Enter to run your code. Code is automatically persisted on the file system. You can also use Nodebook directly on the command line, running your notebooks upon change.
repl nodejs cpp haskell r typescript elixir ocaml fsharp notebookEverything 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.
ocaml awesome resources programming-languageTabnine is the AI code completion tool trusted by millions of developers to code faster with fewer errors. Whether you are a new dev or a seasoned pro, working solo or part of a team, Tabnine will help push your productivity to new heights while cutting your QA time – all in your favorite IDE. Whether you call it IntelliSense, intelliCode, autocomplete, AI-assisted code completion, AI-powered code completion, AI copilot, AI code snippets, code suggestion, code prediction, code hinting, or content assist, you probably already know that it can save you tons of time, easily cutting your keystrokes in half.
bash autocomplete typescript cpp vscode artificial-intelligence vscode-extension gpt-2 kotlin html css ocaml julia haskell react objectivec ai method-completion intellicode intellisense snippets kite nodejs node node.js jupyterBuckleScript 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.
bucklescript alt-js compiler ocaml stdlib functional-programming ocaml-to-javascriptSATySFi (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).
ocaml markup-language latex functional-programming pdf-generation opentype satysfi opam pdfRevery is kind of like super-fast, native code Electron - with bundled React-like/Redux-like libraries and a fast build system. It is built with reasonml, which is a javascript-like syntax on top of OCaml This means that the language is accessible to JS developers. Your apps are compiled to native code with the Reason / OCaml toolchain - with instant startup and performance comparable to native C code.
electron react app ui native ocaml desktop reasonml desktop-appsOnivim 2 is a reimagination of the Oni editor. Onivim 2 aims to bring the speed of Sublime, the language integration of VSCode, and the modal editing experience of Vim together, in a single package. Onivim 2 is built in reason using the revery framework.
editor code-editor ide integrated-development-environment ocaml reasonml oni revery vimThis 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.
opam ocamlJbuilder 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.
build ocaml opam dune jbuilder
We have large collection of open source products. Follow the tags from
Tag Cloud >>
Open source products are scattered around the web. Please provide information
about the open source projects you own / you use.
Add Projects.