Forum Replies Created

Author 0 Subscribed Users |
Profile photo of gogins
gogins

Thanks for your responses. I will be tracking this and will be available for testing.

You obviously have investigated the options for desktop user interface toolkits for Common Lisp. There are couple of other options that you may or may not have investigated.

First there are systems such as NW.js or electron, which provide what amounts to a Web browser with a builtin Web server, so that standalone applications can be built using HTML5. For OpenMusic, there would be a C shared library that would include Embeddable Common Lisp, Some glue code would implement the LispWorks user interface toolkit using the JavaScript engine, and would both call into, and be called from, the JavaScript interface of the application. Most of the actual code would be written in C++. For an example of how this works, see https://github.com/gogins/csound-extended/tree/develop/csound.node. Note that the glue code for the Csound API is not very much code!

Second there is WebAssemnbly, which compiles C, C++, Rust, and other languages to run on a simple efficient virtual machine that now is part of all standard Web browsers on all widely used operating systems. Currently, WebAssembly does not permit C or C++ code to directly call the Document Object Model, and it does not natively support garbage collection. I am tracking (a) progress towards the native DOM and (b) progress towards implementing SBCL or ECL in WebAssembly. Csound has at least two WebAssembly builds, check out mine at https://github.com/gogins/csound-extended/tree/develop/WebAssembly, with running examples at https://gogins.github.io/csound-extended/.

Regards,
Mike

—————————————————–
Michael Gogins
Irreducibl

October 13, 2018 at 14:15 #28084