pyml
erlang-port-with-python
Our great sponsors
pyml | erlang-port-with-python | |
---|---|---|
3 | 1 | |
172 | 0 | |
- | - | |
5.6 | 10.0 | |
2 months ago | almost 7 years ago | |
OCaml | Python | |
BSD 2-clause "Simplified" License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
pyml
-
OCaml is getting multicore support in the next major version (v5)
There is an actively developed python to ocaml interop library for purposes quite similar to yours. I have seen demos where ocaml and python are used within the same jupyter notebook
https://signalsandthreads.com/python-ocaml-and-machine-learn...
- Python 3 Types in the Wild: A Tale of Two Type Systems [pdf]
erlang-port-with-python
-
OCaml is getting multicore support in the next major version (v5)
I think Elixir would be interesting for your usecase.
It's a dynamic, garbage collected language. It's easy to pick up and get going with. As a functional programming language there isn't a lot to learn in the way of language constructs, and you don't even have to do the 'wrestling with the type system' thing that you have to do in compiled functional languages like OCaml.
Its processing 'horsepower' is probably comparable to Python, but it's much better for building low latency things if you want to run something in a bit more of a production use case. This is also improving due to the recent addition of a JIT.
The addition of NX is making Elixir an increasingly interesting place to do ML - write Elixir, have it run on GPU etc. See https://dashbit.co/blog/nx-numerical-elixir-is-now-publicly-...
Python integration is probably best done using the Erlang 'port' system - running Python as a managed process and communicating with it using messages over stdin/stdout. I use it for C interop and it works well (and fits well with the Elixir/Erlang process model). It's not difficult to roll your own in Python e.g. https://github.com/fujimisakari/erlang-port-with-python/blob... or look at something like http://erlport.org/
What are some alternatives?
libpython-clj - Python bindings for Clojure
awesome-ocaml - A curated collection of awesome OCaml tools, frameworks, libraries and articles.
quarchive - Traditional "Web 2.0" social bookmarking, with small improvements
PyCall.jl - Package to call Python functions from the Julia language
Nuitka - Nuitka is a Python compiler written in Python. It's fully compatible with Python 2.6, 2.7, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, and 3.11. You feed it your Python app, it does a lot of clever things, and spits out an executable or extension module.
doctest - The fastest feature-rich C++11/14/17/20/23 single-header testing framework