Skip to content

Latest commit

 

History

History
31 lines (23 loc) · 1.16 KB

README.md

File metadata and controls

31 lines (23 loc) · 1.16 KB

Compatibility Semaphore module

Build Status

Projects that want to use the Semaphore module defined in OCaml 4.12.0 while staying compatible with older versions of OCaml should use this library instead. On OCaml versions 4.12 and above, this library defines an alias Semaphore to the standard library's definition of the module. Otherwise, it provides an equivalent definition of Semaphore.

Depending on this library

Opam libraries depending on this module are encouraged to use a conditional dependency:

depends: [
  ("ocaml" {>= "4.12.0"} | "semaphore-compat")
]

This ensures that any dependencies of your library that don't need pre-4.12 compatibility will never transitively depend on semaphore-compat.


Acknowledgements

This repository structure is mostly copied from JaneStreet/result, which provides a compatibility result type. Thanks to the OCaml maintainers for their improvements to the standard library.