Skip to content

Implementations

This page is a catalog of CCL parser implementations the project is aware of. It is not exhaustive — if you’ve published a CCL parser and want it listed, open an issue on CatConfLang/website.

For what “conformant” means and how implementations differ within the spec, see Canonical Semantics and Variants.

  • Repository: tylerbutler/ccl-ocaml
  • Language: OCaml
  • Parsing strategy: Same as upstream chshersh/ccl (pacman / Angstrom).
  • Status: Fork of the canonical implementation. The upstream reference is chshersh/ccl; prefer it unless you need a specific change in this fork.

If you’re choosing a library to consume:

  • Match your language first.
  • If multiple options exist in your language (e.g. OCaml), prefer the one whose declared variant matches what your test fixtures expect — most consumers should target reference_compliant.
  • Cross-check against the test suite before relying on edge-case behavior, and consult the Behavior Reference for the conflict pairs (continuation tabs, top-level indent, delimiter, CRLF) that legitimately differ between conformant implementations.

If you’re authoring a new implementation, start with Implementing CCL, pick a parsing strategy, and validate against ccl-test-data. The Test Suite Guide covers how to declare your behavior choices so the right fixtures apply.