wasmerio / wasmer

🚀 The leading Wasm Runtime supporting WASIX, WASI and Emscripten
https://wasmer.io
MIT License
18.49k stars 789 forks source link

Add support for Octave #540

Closed ctaggart closed 1 year ago

ctaggart commented 5 years ago

Same as #539, but for Octave https://www.gnu.org/software/octave/. Octave is a popular and partly compatible alternative to MATLAB. I'll be using it in the machine learning course I'm taking https://www.coursera.org/learn/machine-learning/. The preferred extension point is C++ oct.h and would require GPL. Octave doesn't support loadlibrary like MATLAB does. However, it would be great to see if it is possible to come up with a loadwasm for it too. cc @mtmiller

Hywan commented 5 years ago

I think it's better to discuss in #539 about a possible API in MATLAB, and next, see whether we start an integration in MATLAB or Octave (if it happens).

mtmiller commented 5 years ago

Octave doesn't support loadlibrary like MATLAB does

Octave should learn how to loadlibrary. Maybe that would be better than an Octave specific extension here?

ctaggart commented 5 years ago

@mtmiller It would be cool if Octave supported loadlibrary. I was hoping to base a loadwasm on the loadlibrary code if it existed. My current interest before figuring out where wasmer fits in is to just get native rust extensions working. I've got them compiling, but crashing Octave. https://github.com/ctaggart/octh

Hywan commented 5 years ago

@mtmiller Or… you can add extensions support through Wasm directly. Would you be interested by such an approach?

mtmiller commented 5 years ago

@Hywan I'm personally not interested in nor know anything about wasm at the moment, just here to help with any Octave issues.

ctaggart commented 4 years ago

I actually figured out got native Octave extensions built with Rust working on Linux with the latest from https://github.com/ctaggart/octh. However, mapping the C++ API to Rust is not super easy. I think a better solution would be to create another plugin system on top of the wasmer C API.

http://adventures.michaelfbryan.com/posts/wasm-as-a-platform-for-abstraction/ https://docs.rs/crate/wasmer-runtime-c-api/

~I'll echo these thoughts on the Octave dev mailing list.~ However, I'm not the right one to do the work for it. Octave work is currently only academic for me and I'm not interested in coding in C++.

Hywan commented 3 years ago

There is a new C API, https://docs.rs/wasmer-c-api/. Maybe this one is easier.

stale[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 1 year ago

Feel free to reopen the issue if it has been closed by mistake.