# Learning OCaml by writing bindings for a matrix data type written in C

**URL:** <https://discuss.ocaml.org/t/learning-ocaml-by-writing-bindings-for-a-matrix-data-type-written-in-c/17801>\
**Category:** Learning\
**Tags:** learning\
**Created:** [February 12, 2026, 7:16pm UTC](https://discuss.ocaml.org/t/learning-ocaml-by-writing-bindings-for-a-matrix-data-type-written-in-c/17801 "2026-02-12T19:16:59Z")\
**Posts on this page:** 1\
**Showing post:** 2

<div class="post-metadata">

**Author:** ![RChG](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/rchg/32/4158_2.png) [@RChG](https://discuss.ocaml.org/u/RChG)\
**Post date:** [February 12, 2026, 9:32pm UTC](https://discuss.ocaml.org/t/learning-ocaml-by-writing-bindings-for-a-matrix-data-type-written-in-c/17801/2 "2026-02-12T21:32:08Z")

</div>

Hello Marc,

Welcome, and I’m happy to hear that you’re interested in OCaml (and your English is great!). Writing C bindings is, I would say, more of an intermediate-level task than a beginner exercise, so congratulations on managing to solve it on your own.

- To my knowledge, operator overloading is not always preferred by OCaml programmers (for example, having different `+` operators for ints and floats). Still, given your goals with vector and matrix operations, Owl’s discussion on conventions may be interesting: [Owl Online Tutorial | FUNCTIONAL PROGRAMMING MEETS DATA SCIENCE](https://ocaml.xyz/tutorial/chapters/convention.html)
- As for next steps, it really depends on your goals and preferences. In Owl, new contributors are welcome (see: [Owl project restructured](https://discuss.ocaml.org/t/owl-project-restructured/14226)), although the project might be a bit quiet at the moment. For Raven, there are regular development meetings: [[ANN] Raven Dev Meetings](https://discuss.ocaml.org/t/ann-raven-dev-meetings/17596)
- This open-source book about the design of Owl could also be an interesting source of ideas:  
[Architecture of Advanced Numerical Analysis Systems: Designing a Scientific Computing System using OCaml | Springer Nature Link](https://link.springer.com/book/10.1007/978-1-4842-8853-5?sap-outbound-id=E28E6CA00CB94BE1CBC24C2F6F928D90C93E56EC)

Best regards and don’t hesitate to ask more questions.

---

_[View the full topic](https://discuss.ocaml.org/t/learning-ocaml-by-writing-bindings-for-a-matrix-data-type-written-in-c/17801)._
