On 11 Apr 2023, at 14:57, Robert Goldman wrote:
On 11 Apr 2023, at 7:23, Manfred Bergmann wrote:
Am 11.04.2023 um 14:17 schrieb paul tarvydas
<[email protected]>:
"If you specifically want numpy, it may be possible to have Common
Lisp talking to python."
CL can run python
(uiop:run-program "python3
~/quicklisp/local-projects/clvpy/hello.py" :output t)
This isn't 1950 anymore. 1950s biases about what "efficiency" means
no longer apply.
(Lisp used to be concerned with "development time efficiency" and
can be again)
pt
In that regard, there is py4cl2: https://github.com/digikar99/py4cl2
Not sure if you know.
FWIW, py4cl2 in my experience is in very rough shape, and not fit for use.
Stick to py4cl instead of the fork. It's simpler and doesn't do a lot of things
py4cl2 wants to, but it's more solid.
Even more recently, there is py4cl2-cffi that provides support for passing CL
arrays by reference: https://github.com/digikar99/py4cl2-cffi
The support is one-directional, in that arrays returned by numpy whose data was
not allocated by CL still need to be copied over.
It is possible to write a wrapper around numpy arrays, so arrays can become
completely owned by numpy, so this copying over becomes unnecessary.
And while I have been trying to use it as my daily driver, I'd definitely say
that it is in an ever rougher shape than py4cl2,
and will require time and risk-takers to make it suitable for production.
On the other hand there is mgl-mat: https://github.com/melisgl/mgl-mat and
And magicl (backed by quil-lang?): https://github.com/quil-lang/magicl
And numericals: https://github.com/digikar99/numericals
And as someone already mentioned, lisp-stat:
https://github.com/Lisp-Stat/lisp-stat and https://lisp-stat.dev/docs/
digikar