Lua is a simple scripting language - itās not particularly complex to use, but itās more like a language like Javascript than like, say, the Teletype script language. It has things like data structures and loops and logic and so forth. It is a long while since Iāve written any, so take this all with a pinch of salt. It is close-ish to what Iād call a ācurly brace languageā.
Lua is particularly popular because the interpreter is very small can be embedded inside C programs. One place you see it a lot is the games industry: the games engines are all C#/C++, but they often expose Lua as a scripting language for level designers to just drop things in ad-hoc, and so that scripting changes can be made very quickly - because itās interpreted, you donāt need to run compilation for every alteration, just reload the scripts. Sorry, that paragraph was a bit complex.
Lua is a general purpose language. Itās not designed for DSP per-se. But just like the games example, if the DSP-type hooks are exposed, you could control DSP with it. (In the games example - the engine developers can add things that can be controlled by the Lua, and return data to it). So here, Teletype, if you know it, is a good example: Teletype itself is written in C. To add new functions to it, developers write some C. But once theyāve written that, anybody can access that functionality through the TT language as an end-user.
So: Norns itself is probably not written in Lua. Itās probably a lot of C, and itās all sat atop Linux. But: my bet would be it then lets end-users write scripts/apps/whatever the term will be in Lua, if youād like. (This basically solves one of the issues with Aleph - despite all the work to make things more straightforward, you still had to write a bunch of C to write apps).
I hope thatās a starting point, more an ELI12, @philmaguire, but maybe a start.