Skip to content

Commit

Permalink
Import OCaml Platform tools (ocaml#34)
Browse files Browse the repository at this point in the history
  • Loading branch information
tmattio committed Jun 8, 2021
1 parent e4eab4a commit 3c16ff7
Show file tree
Hide file tree
Showing 14 changed files with 585 additions and 32 deletions.
208 changes: 208 additions & 0 deletions data/tools.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,208 @@
tools:

- name: Bun
source: https://github.com/yomimono/ocaml-bun
license: MIT
synopsis: Simple management of afl-fuzz processes
description: >
A wrapper for OCaml processes using afl-fuzz, intended for easy use in CI environments.
lifecycle: incubate

- name: Mdx
source: https://github.com/realworldocaml/mdx
license: ISC
synopsis: Executable code blocks inside markdown files
description: >
`ocaml-mdx` allows to execute code blocks inside markdown files.
There are (currently) two sub-commands, corresponding
to two modes of operations: pre-processing (`ocaml-mdx pp`)
and tests (`ocaml-mdx test`).
The pre-processor mode allows to mix documentation and code,
and to practice "literate programming" using markdown and OCaml.
The test mode allows to ensure that shell scripts and OCaml fragments
in the documentation always stays up-to-date.
`ocaml-mdx` is released as two binaries called `ocaml-mdx` and `mdx` which are
the same, mdx being the deprecate name, kept for now for compatibility.
lifecycle: incubate

- name: OCamlFormat
source: https://github.com/ocaml-ppx/ocamlformat
license: MIT
synopsis: Auto-formatter for OCaml code
description: >
OCamlFormat is a tool to automatically format OCaml code in a uniform style.
lifecycle: incubate

- name: Dune-release
source: https://github.com/ocamllabs/dune-release
license: ISC
synopsis: Release dune packages in opam
description: >
`dune-release` is a tool to streamline the release of Dune packages in
[opam](https://opam.ocaml.org). It supports projects built
with [Dune](https://github.com/ocaml/dune) and hosted on
[GitHub](https://github.com).
lifecycle: incubate

- name: OCaml LSP
source: https://github.com/ocaml/ocaml-lsp
license: ISC
synopsis: LSP Server for OCaml
description: >
An LSP server for OCaml.
lifecycle: incubate

- name: Merlin
source: https://github.com/ocaml/merlin
license: MIT
synopsis: Editor helper, provides completion, typing and source browsing in Vim and Emacs
description: >
Merlin is an assistant for editing OCaml code. It aims to provide the features available in modern IDEs: error reporting, auto completion, source browsing and much more.
lifecycle: active

- name: ppxlib
source: https://github.com/ocaml-ppx/ppxlib
license: MIT
synopsis: Standard library for ppx rewriters
description: >
Ppxlib is the standard library for ppx rewriters and other programs
that manipulate the in-memory reprensation of OCaml programs, a.k.a
the "Parsetree".
It also comes bundled with two ppx rewriters that are commonly used to
write tools that manipulate and/or generate Parsetree values;
`ppxlib.metaquot` which allows to construct Parsetree values using the
OCaml syntax directly and `ppxlib.traverse` which provides various
ways of automatically traversing values of a given type, in particular
allowing to inject a complex structured value into generated code.
lifecycle: active

- name: opam-publish
source: https://github.com/ocaml-opam/opam-publish
license: LGPLv2
synopsis: A tool to ease contributions to opam repositories
description: >
opam-publish automates publishing packages to package repositories: it checks that the
opam file is complete using `opam lint`, verifies and adds the archive URL and its
checksum and files a GitHub pull request for merging it.
lifecycle: active

- name: utop
source: https://github.com/ocaml-community/utop
license: 3 Clause BSD
synopsis: Universal toplevel for OCaml
description: >
utop is an improved toplevel (i.e., Read-Eval-Print Loop or REPL) for
OCaml. It can run in a terminal or in Emacs. It supports line
edition, history, real-time and context sensitive completion, colors,
and more. It integrates with the Tuareg mode in Emacs.
lifecycle: active

- name: Dune
source: https://github.com/ocaml/dune
license: MIT
synopsis: Fast, portable, and opinionated build system
description: >
dune is a build system that was designed to simplify the release of
Jane Street packages. It reads metadata from "dune" files following a
very simple s-expression syntax.
dune is fast, has very low-overhead, and supports parallel builds on
all platforms. It has no system dependencies; all you need to build
dune or packages using dune is OCaml. You don't need make or bash
as long as the packages themselves don't use bash explicitly.
dune supports multi-package development by simply dropping multiple
repositories into the same directory.
It also supports multi-context builds, such as building against
several opam roots/switches simultaneously. This helps maintaining
packages across several versions of OCaml and gives cross-compilation
for free.
lifecycle: active


- name: omp
source: https://github.com/ocaml-ppx/ocaml-migrate-parsetree
license: LGPLv2
synopsis: Convert OCaml parsetrees between different versions
description: >
Convert OCaml parsetrees between different versions
This library converts parsetrees, outcometree and ast mappers between
different OCaml versions. High-level functions help making PPX
rewriters independent of a compiler version.
lifecycle: sustain

- name: ocamlbuild
source: https://github.com/ocaml/ocamlbuild
license: LGPLv2
synopsis: OCamlbuild is a build system with builtin rules to easily build most OCaml projects
description: ""
lifecycle: sustain

- name: ocamlfind
source: https://github.com/ocaml/ocamlfind
license: MIT
synopsis: A library manager for OCaml
description: >
Findlib is a library manager for OCaml. It provides a convention how
to store libraries, and a file format ("META") to describe the
properties of libraries. There is also a tool (ocamlfind) for
interpreting the META files, so that it is very easy to use libraries
in programs and scripts.
lifecycle: sustain

- name: ocp-indent
source: https://github.com/OCamlPro/ocp-indent
license: LGPLv2
synopsis: A simple tool to indent OCaml programs
description: >
Ocp-indent is based on an approximate, tolerant OCaml parser and a simple stack
machine ; this is much faster and more reliable than using regexps. Presets and
configuration options available, with the possibility to set them project-wide.
Supports most common syntax extensions, and extensible for others.
Includes:
- An indentor program, callable from the command-line or from within editors
- Bindings for popular editors
- A library that can be directly used by editor writers, or just for
fault-tolerant/approximate parsing.
lifecycle: sustain

- name: oasis
source: https://github.com/ocaml/oasis
license: LGPLv2
synopsis: Tooling for building OCaml libraries and applications
description: >
OASIS generates a full configure, build and install system for your application. It starts with a simple _oasis file at the toplevel of your project and creates everything required.
OASIS leverages existing OCaml tooling to perform most of it's work. In fact, it might be more appropriate to think of it as simply the glue that binds these other subsystems together and coordinates the work that they do. It should support the following tools:
- OCamlbuild
- OMake
- OCamlMakefile (todo),
- ocaml-autoconf (todo)
It also features a do-it-yourself command line invocation and an internal configure/install scheme. Libraries are managed through findlib. It has been tested on GNU Linux and Windows.
It also allows to have standard entry points and description. It helps to integrates your libraries and software with third parties tools like OPAM.
lifecycle: deprecate

- name: camlp4
source: https://github.com/camlp4/camlp4
license: LGPLv2
synopsis: Camlp4 is a system for writing extensible parsers for programming languages
description: >
It provides a set of OCaml libraries that are used to define grammars as well
as loadable syntax extensions of such grammars. Camlp4 stands for Caml
Preprocessor and Pretty-Printer and one of its most important applications is
the definition of domain-specific extensions of the syntax of OCaml.
Camlp4 was part of the official OCaml distribution until its version 4.01.0.
Since then it has been replaced by a simpler system which is easier to maintain
and to learn: ppx rewriters and extension points.
lifecycle: deprecate
2 changes: 0 additions & 2 deletions dune
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,3 @@
(with-stdout-to
%{targets}
(run %{bin:ood-cli} config))))

(data_only_dirs node_modules)
34 changes: 17 additions & 17 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@
"bs-platform": "9.0.2"
},
"devDependencies": {
"@tailwindcss/aspect-ratio": "^0.2.0",
"@tailwindcss/forms": "^0.3.2",
"@tailwindcss/typography": "^0.4.0",
"autoprefixer": "^10.2.5",
"tailwindcss": "^2.1.2"
"@tailwindcss/aspect-ratio": "^0.2.1",
"@tailwindcss/forms": "^0.3.3",
"@tailwindcss/typography": "^0.4.1",
"autoprefixer": "^10.2.6",
"tailwindcss": "^2.1.4"
}
}
Loading

0 comments on commit 3c16ff7

Please sign in to comment.