Dune

Getting Started and Core Concepts

  • Overview
  • Quickstart
  • Stanza Reference
  • Command-Line Interface

How-to Guides

  • How to Set up Automatic Formatting
  • How to Generate Opam Files from dune-project
  • Cross-Compilation
  • Dealing with Foreign Libraries
  • Generating Documentation
  • How to Load Additional Files at Runtime
  • Instrumentation
  • JavaScript Compilation With Js_of_ocaml
  • JavaScript Compilation With Melange
  • Toplevel Integration
  • Virtual Libraries & Variants
  • Writing and Running Tests
  • How to Bundle Resources

Reference Guides

  • Lexical Conventions
  • Ordered Set Language
  • Boolean Language
  • Predicate Language
  • Library Dependencies
  • User Actions
  • Foreign Sources, Archives, and Objects
  • Command Line Interface
  • Preprocessing Specification
  • Packages
  • Findlib Integration
  • Aliases
  • Scopes
  • Variables
  • Dependency Specification
  • OCaml Flags
  • Sandboxing
  • Locks
  • Diffing and Promotion
  • Package Specification
  • Coq
  • Dune Cache
  • Dune Libraries
  • Dune RPC

Explanations

  • How Preprocessing Works
  • The OCaml Ecosystem
  • How Dune integrates with opam

Advanced topics

  • Dynamic Loading of Packages with Findlib
  • Profiling Dune
  • Package Version
  • OCaml Syntax
  • Variables for Artifacts
  • Building an Ad Hoc .cmxs

Miscellaneous

  • FAQ
  • Goal of Dune
  • Working on the Dune Codebase
Dune
  • Search


© Copyright 2023, Jérémie Dimino.

Built with Sphinx using a theme provided by Read the Docs.