This is going to be extremely useful! I just recently settled on OCaml as my language of choice for most projects, after working with dozens of others, from C to Haskell.<p>I was actually looking for a good numerical library, supporting complex numbers, matrix operations, and multi-dimensional arrays. I'm looking forward to using and contributing to this one!
Wow, this even supports Algorithmic Differentiation!<p><a href="https://github.com/ryanrhymes/owl/wiki/Tutorial:-Algorithmic-Differentiation" rel="nofollow">https://github.com/ryanrhymes/owl/wiki/Tutorial:-Algorithmic...</a><p>(although "only" forward and reverse mode)
There will be a tutorial on using Owl in data science.[1]<p>[1]: <a href="http://cufp.org/2017/c7-liang-wang-own-data-science-in-ocaml.html" rel="nofollow">http://cufp.org/2017/c7-liang-wang-own-data-science-in-ocaml...</a>
I find this design clean and appealing. Compared to the current fashion of all these Python libraries, it's a breath of fresh air. But I wonder if it can work. Python has going for it: kitchen sink of tools, easy to learn, tooling that took 20 years to develop, you already know it.<p>Question: What's wrong with Matlab? Is it that it's closed and costs money? Other than that it seems clean, purpose-built, complete and not really expensive. Why all the open-source attempts to replace it?<p>I really thought Julia was going to do that, but it's been years and they never got the tooling. They never solved the ridiculous, self-inflicted problem of having to recompile the entire system every time you run it. You're code will execute in 300ms, but only after 10 minutes of compiling. (Or did they make progress? I haven't checked in in a while.)<p>Anyway, serious question: Why not Matlab?
I looked at OCaml a few years back for scientific computing, but was turned off by the global lock GC for multithreading (similar to python). Anyone know if this has been changed yet?<p>Edit: doesn't look like this has changed, but there's an effort at <a href="https://github.com/ocamllabs/ocaml-multicore" rel="nofollow">https://github.com/ocamllabs/ocaml-multicore</a> that is slowly making progress
We were just beginning to implement some linear algebra routines in ocaml for our library that parses text into structured data. This is a very good news. We will contribute back if we have any enhancements.