@XVilka thanks for the heads up.
If on the one hand having to call many other libraries defeats one of the design goals of owl (which was born as an organically grown scientific computing suite), I think that having interoperability with Julia, Python and R would be an excellent thing.
We already saw the benefits of being able to call Python and R in the past: I used a lot matplotlib
from inside Jupyter notebooks executing Owl code in an OCaml kernel for example. Adding a fast growing numerical ecosystem like Julia’s sounds very attractive to me: we would be able to access very high quality libraries and choose each time the best tool for the job, have easier times with benchmarks, and have less pressure to focus on many improvements at once (which has its pros and cons).
Also, having a common interface among the many scientific computing libraries, will help users move between them and experiment.
@n4323 concerning how the AD engines would operate, I have no idea The recent owl-symbolic
library allows one to export Owl’s computation graphs to ONNX format to be then executed on the engine of your choice, so that would not be a problem.