Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Caml on the Web (COW) is a set of parsers and syntax extensions to let you manipulate HTML, CSS, XML, JSON and Markdown directly from OCaml code.

Subscribe to updates I use ocaml-cow

Statistics on ocaml-cow

Number of watchers on Github 81
Number of open issues 4
Average time to close an issue 11 months
Main language OCaml
Average time to merge a PR 4 days
Open pull requests 1+
Closed pull requests 6+
Last commit almost 3 years ago
Repo Created about 7 years ago
Repo Last Updated over 1 year ago
Size 392 KB
Homepage http://www.openmi...
Organization / Authormirage
Latest Releasev2.2.0
Page Updated
Do you use ocaml-cow? Leave a review!
View open issues (4)
View ocaml-cow activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating ocaml-cow for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

Writing web-applications requires a lot of skills: HTML, XML, JSON and Markdown, to name but a few! This library provides OCaml combinators for these web formats by:

See more explanation at:

This library is in beta, and full documentation is still being written. Some repositories which use it include:

  • Mirage website:
  • Opam2web:
ocaml-cow open issues Ask a question     (View All Issues)
  • over 3 years missing html combinators
  • over 5 years Markdown Interface Too Simplified
  • about 6 years De-indentation option
ocaml-cow open pull requests (View All Pulls)
  • Improve doc & table + fix build script
ocaml-cow list of languages used
ocaml-cow latest release notes
v2.2.0 More HTML5 combinators, use module aliases and topkg
  • Port to use module aliases, so there are now Cow_xml Cow_html Cow_xhtml Cow_markdown Cow_json and Cow_atom modules, with aliases to the old scheme under the Cow module (e.g. Cow.Xml). Existing code should continue to work, but the whole compilation unit is no longer linked in if just a single method of output is used. This bumps the minimum OCaml version to 4.02.3 due to the use of module-level aliases.
  • Switch build system to use topkg instead of oasis, and adhere to the opkg layout format.
  • Add description lists (dl/dt/dd)
  • Add ~licls/~dtcls/~ddcls to Html.ul/ol/dl. Setting classes of child elements in lists is sometimes useful.
  • Add some missing HTML5 combinators.
v2.0.1 OCaml 4.03 compatibility
  • Turn off warnings-as-errors, which fixes build under 4.03
  • Add OCaml test cases for OCaml 4.03.
v1.4.0 OCamldoc and API compatibility
  • Improve compatibility with Type_conv >= 113.00 by renaming some of the syntax parser modules to be less generically named.
  • Add ocamldoc generation and improve the Html.Create library (from @chrismamo1 in #82).
Other projects in OCaml