shinyblink / sled

Satanic/Sexy/Stupid/Silly/Shiny LED matrix controller
https://shinyblink.github.io/sled/
ISC License
121 stars 25 forks source link

RFC: Scripting #51

Open vifino opened 6 years ago

vifino commented 6 years ago

Not just scripting, but rather loading modules of different types.

My plan is to implement another module type, mod. It's basically a module loader, as as module. The idea is that we can implement a really bare-bones modloader in the core, add perhaps missing APIs and not only outsource the complex loading, but also allow the addition other loaders that aren't loading dynamic objects for example, but Lua or Scheme scripts. This could make the effect prototyping phase even faster, which is already something we're pretty good at.

Ideally, with this rework, we'd also support dynamic module loading and unloading, probably invoked via FISh.


20kdc commented 6 years ago

Regarding Lua: Nice idea, but a word of warning! Under no circumstances have both LuaJIT and Lua 5.2/5.3 as available options. Instead, add a simulation of (or the actual version of) the LuaJIT bit-manipulation library on Lua 5.1. The issues you'll get otherwise were bad enough with lua-cpuemus, let's not repeat Minetest's mistakes.