# \#bindings

**URL:** https://discuss.ocaml.org/tag/bindings/322.md

[Latest](https://discuss.ocaml.org/latest.md) · [Categories](https://discuss.ocaml.org/categories.md) · [Tags](https://discuss.ocaml.org/tags.md)

---

## [\[ANN\] ozstd 0.1](https://discuss.ocaml.org/t/ann-ozstd-0-1/18538)

<div class="topic-metadata">

**Author:** [@dx3mod](https://discuss.ocaml.org/u/dx3mod)\
**Replies:** 17\
**Last updated:** [October 9, 2026, 5:54am UTC](https://discuss.ocaml.org/t/ann-ozstd-0-1/18538 "2026-10-09T05:54:19Z")

</div>

Yo! I am happy to announce the first release of ozstd library! The is a small, modern OCaml binding to Zstandard. It wraps the common one-shot and streaming C APIs in a simple, idiomatic interface. Features On…

---

## [Is it possible to allocate immediately in major heap?](https://discuss.ocaml.org/t/is-it-possible-to-allocate-immediately-in-major-heap/17979)

<div class="topic-metadata">

**Author:** [@Kakadu](https://discuss.ocaml.org/u/Kakadu)\
**Replies:** 6\
**Last updated:** [April 12, 2026, 5:17am UTC](https://discuss.ocaml.org/t/is-it-possible-to-allocate-immediately-in-major-heap/17979 "2026-04-12T05:17:53Z")

</div>

I want to parse JSON file (\>1GB) from C code (because of speed), and it looks like many invocations of caml\_alloc\_tuple lead me to “Fatal error: allocation failure during minor GC”. There is a function caml\_alloc\_shr in…

---

## [\[ann\] gegl-0.4 \_](https://discuss.ocaml.org/t/ann-gegl-0-4/16424)

<div class="topic-metadata">

**Author:** [@deca3](https://discuss.ocaml.org/u/deca3)\
**Replies:** 0\
**Last updated:** [April 3, 2025, 5:20pm UTC](https://discuss.ocaml.org/t/ann-gegl-0-4/16424 "2025-04-03T17:20:40Z")

</div>

You can now access gegl-0.4, from your favorite scripting language, and play with its nodes, with: https://github.com/fccm2/gegl-ocaml / (api-doc)

---

## [Ocaml-posix 2.1.0 released!](https://discuss.ocaml.org/t/ocaml-posix-2-1-0-released/15974)

<div class="topic-metadata">

**Author:** [@toots](https://discuss.ocaml.org/u/toots)\
**Replies:** 0\
**Last updated:** [January 16, 2025, 2:38pm UTC](https://discuss.ocaml.org/t/ocaml-posix-2-1-0-released/15974 "2025-01-16T14:38:27Z")

</div>

Hi all! Version 2.1.0 of ocaml-posix has been released! Repo: GitHub - savonet/ocaml-posix: Bindings to the various POSIX APIs API doc: ocaml-posix While it was long overdue, this version only include minor changes, …

---

## [\[ANN\] mariadb 1.2.0](https://discuss.ocaml.org/t/ann-mariadb-1-2-0/15709)

<div class="topic-metadata">

**Author:** [@paurkedal](https://discuss.ocaml.org/u/paurkedal)\
**Replies:** 0\
**Last updated:** [November 30, 2024, 12:50pm UTC](https://discuss.ocaml.org/t/ann-mariadb-1-2-0/15709 "2024-11-30T12:50:24Z")

</div>

I’m please to announce a new release of the mariadb package, which provides client bindings for MariaDB and MySQL. See the full release notes below. This is also to announce that I have taken over maintenance of the pro…

---

## [Cargo/Opam packaging of a Rust/OCaml project](https://discuss.ocaml.org/t/cargo-opam-packaging-of-a-rust-ocaml-project/5743)

<div class="topic-metadata">

**Author:** [@paracetamolo](https://discuss.ocaml.org/u/paracetamolo)\
**Replies:** 22\
**Last updated:** [October 14, 2024, 8:49pm UTC](https://discuss.ocaml.org/t/cargo-opam-packaging-of-a-rust-ocaml-project/5743 "2024-10-14T20:49:49Z")

</div>

It is currently unclear how to package and distribute an OCaml package that binds a piece of Rust code. Rust is a popular language, especially for cryptography, and it’s safer than C, making it an important technology fo…

---

## [Stream monad operation bind used both as a map and filter operation?](https://discuss.ocaml.org/t/stream-monad-operation-bind-used-both-as-a-map-and-filter-operation/12061)

<div class="topic-metadata">

**Author:** [@swissy](https://discuss.ocaml.org/u/swissy)\
**Replies:** 1\
**Last updated:** [May 1, 2023, 9:38pm UTC](https://discuss.ocaml.org/t/stream-monad-operation-bind-used-both-as-a-map-and-filter-operation/12061 "2023-05-01T21:38:30Z")

</div>

I want to create a stream monad with the return and bind operations I tried the following: module type STREAM\_MONAD\_SIG = sig type 'a stream val return : 'a -\> 'a stream val bind : 'a stream -\> ('a -\> …

---

## [Advanced C binding using ocaml-ctypes and dune](https://discuss.ocaml.org/t/advanced-c-binding-using-ocaml-ctypes-and-dune/4805)

<div class="topic-metadata">

**Author:** [@toots](https://discuss.ocaml.org/u/toots)\
**Replies:** 14\
**Last updated:** [April 21, 2022, 8:53am UTC](https://discuss.ocaml.org/t/advanced-c-binding-using-ocaml-ctypes-and-dune/4805 "2022-04-21T08:53:25Z")

</div>

Hi there! I worked on a socket.h binding last summer and had a great experience integrating ocaml-ctypes with dune, I thought that might be of interest to other developers so I wrote about it: https://medium.com/@romain…

---

## [\[ANN\] ocaml-in-python.0.1.0: Effortless Python bindings for OCaml modules](https://discuss.ocaml.org/t/ann-ocaml-in-python-0-1-0-effortless-python-bindings-for-ocaml-modules/9603)

<div class="topic-metadata">

**Author:** [@thierry-martinez](https://discuss.ocaml.org/u/thierry-martinez)\
**Replies:** 1\
**Last updated:** [March 29, 2022, 12:19am UTC](https://discuss.ocaml.org/t/ann-ocaml-in-python-0-1-0-effortless-python-bindings-for-ocaml-modules/9603 "2022-03-29T00:19:17Z")

</div>

I am happy to announce the first release of ocaml-in-python: this is a Python package that exposes all OCaml modules as Python libraries, generating bindings on the fly. This can be seen as a dual of pyml\_bindgen: pyml\_b…

---

## [\[ANN\] SWIPl-OCaml v0.5 - Never write your own unification algorithms again!](https://discuss.ocaml.org/t/ann-swipl-ocaml-v0-5-never-write-your-own-unification-algorithms-again/8968)

<div class="topic-metadata">

**Author:** [@Gopiandcode](https://discuss.ocaml.org/u/Gopiandcode)\
**Replies:** 9\
**Last updated:** [December 9, 2021, 10:11am UTC](https://discuss.ocaml.org/t/ann-swipl-ocaml-v0-5-never-write-your-own-unification-algorithms-again/8968 "2021-12-09T10:11:11Z")

</div>

Hey all! I am just posting to announce a new package I’ve been working on: OCaml bindings to SWI-Prolog (ver 8.5 or higher)! It’s currently in the process of being submitted to OPAM, but it’s my first time writing a p…

---

## [\[ANN\] Bitwuzla 1.0.0 (SMT solver for AUFBVFP)](https://discuss.ocaml.org/t/ann-bitwuzla-1-0-0-smt-solver-for-aufbvfp/8138)

<div class="topic-metadata">

**Author:** [@recoules](https://discuss.ocaml.org/u/recoules)\
**Replies:** 1\
**Last updated:** [July 13, 2021, 6:20am UTC](https://discuss.ocaml.org/t/ann-bitwuzla-1-0-0-smt-solver-for-aufbvfp/8138 "2021-07-13T06:20:40Z")

</div>

On behalf of the bitwuzla team I am pleased to announce the release of bitwuzla ocaml binding (GitHub - bitwuzla/ocaml-bitwuzla: Bitwuzla SMT solver repackaged for convenient use in opam.). Bitwuzla (https://bitwuzla.gi…

---

## [Use C binding with PPX and dune](https://discuss.ocaml.org/t/use-c-binding-with-ppx-and-dune/8104)

<div class="topic-metadata">

**Author:** [@maiste](https://discuss.ocaml.org/u/maiste)\
**Replies:** 12\
**Last updated:** [July 9, 2021, 7:47pm UTC](https://discuss.ocaml.org/t/use-c-binding-with-ppx-and-dune/8104 "2021-07-09T19:47:58Z")

</div>

Hi, I’m trying to write a ppx-rewriter for my library. The issue is that my library need to get the flags for the C++ bindings I’m using. When I import my library in an example with the following dune, it works: (execu…

---

## [Downsides to calling Gc.full\_major at exit?](https://discuss.ocaml.org/t/downsides-to-calling-gc-full-major-at-exit/5570)

<div class="topic-metadata">

**Author:** [@suttonshire](https://discuss.ocaml.org/u/suttonshire)\
**Replies:** 15\
**Last updated:** [April 25, 2020, 6:09pm UTC](https://discuss.ocaml.org/t/downsides-to-calling-gc-full-major-at-exit/5570 "2020-04-25T18:09:20Z")

</div>

I’m writing bindings to a C library. There is a create function which allocates and initializes a C library object and returns it as a custom OCaml value. Creating the object with the C library allocates resources that s…

---

## [Primitive declaration is unannotated and unboxable](https://discuss.ocaml.org/t/primitive-declaration-is-unannotated-and-unboxable/4306)

<div class="topic-metadata">

**Author:** [@fccm](https://discuss.ocaml.org/u/fccm)\
**Replies:** 8\
**Last updated:** [September 3, 2019, 7:53pm UTC](https://discuss.ocaml.org/t/primitive-declaration-is-unannotated-and-unboxable/4306 "2019-09-03T19:53:36Z")

</div>

From the build logs of ocaml-sfml.0.08: # ocamlopt -g -w A -warn-error A -ccopt "-Wall -Werror -Wno-deprecated-declarations" -c -o SFFont.cmx SFFont.ml # File "SFFont.ml", line 32, characters 0-51: # 32 | external getIn…

---

## [Compile bindings "ocaml-irrlicht"](https://discuss.ocaml.org/t/compile-bindings-ocaml-irrlicht/4284)

<div class="topic-metadata">

**Author:** [@fccm](https://discuss.ocaml.org/u/fccm)\
**Replies:** 2\
**Last updated:** [August 26, 2019, 4:56am UTC](https://discuss.ocaml.org/t/compile-bindings-ocaml-irrlicht/4284 "2019-08-26T04:56:35Z")

</div>

Hi, I would like to compile ocaml-irrlicht, an old binding to the Irrlicht 3D engine (last commit from 2012). The bindings are written for Irrlicht 1.7.X and I installed last stable 1.8.4. I don’t know yet if there are…
