Owl – OCaml Scientific Computing
ocaml.xyz
Owl – OCaml Scientific Computing
1–10 of 80 posts
Re: Owl – OCaml Scientific Computing
#2Of course, you can't get funding for something that unambitious, so I understand the tack. Still...
I look forward to trying this out once more significant work has been done. I'm a big fan of OCaml-like languages, if that wasn't already obvious.
Re: Owl – OCaml Scientific Computing
#3Re: Owl – OCaml Scientific Computing
#4Kinda wish they had gone with F#. Would've been less work for them to write nice functional wrappers around existing .NET libraries. Of course, you can't get funding for something that unambitious, so I understand the tack. Still... I look forward to trying this out once more significant work has been done. I'm a big fan of OCaml-like languages, if that wasn't already obvious.
Re: Owl – OCaml Scientific Computing
#5 http://ocaml.xyz/chapter/index.html
They seem to be implementing the most popular parts of the Python numerical ecosystem from ndarrays to AD graph and neural nets, as well as plotting.Re: Owl – OCaml Scientific Computing
#6Re: Owl – OCaml Scientific Computing
#7Kinda wish they had gone with F#. Would've been less work for them to write nice functional wrappers around existing .NET libraries. Of course, you can't get funding for something that unambitious, so I understand the tack. Still... I look forward to trying this out once more significant work has been done. I'm a big fan of OCaml-like languages, if that wasn't already obvious.
What? Why would they do it? Unix is a standard in the field of scientific computations, so wrapping blas and lapack totally makes sense. Besides, OCaml already had good blas, lapack bindings.
Re: Owl – OCaml Scientific Computing
#8What's the one-minute pitch for using this, over say Python or Julia? I couldn't figure this out from a quick skim.
Re: Owl – OCaml Scientific Computing
#9What's the one-minute pitch for using this, over say Python or Julia? I couldn't figure this out from a quick skim.
Without static typing, the discoverability is so low so that you're literally feeling pain tinkering with python. REPL experience with static types is so much better. With numpy and scipy, I had to stick to documentation all the time even to do the most trivial things. What kinds of arguments could I pass to the plotting function? Read the docs. Does this work with dense or sparse matrix? Does it work with array? Read the docs.
In OCaml you could derive most of the information from the type, for example a plotting api
http://ocaml.xyz/apidoc/owl_plot.html
Much of this is simply obvious within a REPL session without looking at the doc. Simple calling a function name would show you its type.
Re: Owl – OCaml Scientific Computing
#10What's the one-minute pitch for using this, over say Python or Julia? I couldn't figure this out from a quick skim.
From what I understand, the key points are:
1. The author claims that various libraries in Python (Scipy, Pandas, etc.) have a large amount of duplicated code and overlap, if you look deeply in the code. Having one library with a holistic design prevents this overlap and allows for easier optimisation.
2. He further claims that because "numerical computing is built atop of a small amount of abstract number types (e.g. real and complex), then derives a fat set of advanced numerical operations for various fields", unlike systems programming, holism, such as in OWL, is preferable to reductionism.