The Living Thing / Notebooks :

Lua

A handy embeddable scripting language from Brazil. Famous for being simple to embed in other things and yet fast.

I don’t have much to say here, except here are some links to links I find helpful in knowing the bare minimum to tweak some Lua stuff, and a confusing profusion of numerical libraries. I spend most of my time working in python and javascript and r, but Lua is nonetheless helpful because it is embedded in such various things as DAW Renoise, sundry game engines and even latex these days.

Lua being embedded in neat projects

Renoise
The audio production environment Renoise has an embedded Lua interpreter.
protoplug
embeds a a Luajit-based DSP and GUI engine in VST plugins
LuaAV
Lua audiovisual thingy; looks like a fun way of making visuals
LÖVE
a Lua-scriptable game engine also looks like a fun way of making visuals, retro-2d-style
Luatex

Yes, even latex.

“The main objective of the project is to provide a version of TeX where all internals are accessible from Lua. In the process of opening up TeX much of the internal code is rewritten. Instead of hard coding new features in TeX itself, users (or macro package writers) can write their own extensions. LuaTeX offers native support for OpenType fonts. In contrast to XeTeX, the fonts are not accessed through the operating system libraries, but through a library based on FontForge.”

Introductions

Doing heavy numeric computations

The point of Lua is prototyping stuff fast; The slowest step here is working out which damned library to choose.

Torch
is handy in the artificial neural networks community and uses C, GPU (?) and LuaJIT together
Numeric Lua
numeric library for Lua; what did you expect?
numlua
native lua linear algebra (TODO: compare with Numeric Lua)
lna
linear algebra and sundy mathematical routes made for Lua
Terra
Use your favourite dynamic language (Lua) to implement a compiled DSL
SciLua

When does it end?

This project is dedicated to libraries that support scientific computing with Lua using the LuaJIT hi-performance implementation of the language. We focus on libraries offering the following features:

  • pure Lua(JIT) code, no C compilation needed, trivial installation;
  • MIT free software license that allows for an easy integration with both open-source and proprietary projects;
  • well documented, concise interfaces to minimize learning curve;
  • efficient implementation. LuaJIT makes it possible to write code in a dynamic high-level language and still benefit from a performance competitive with that of statically compiled languages (C, C++, Fortran, …). It also makes it easier to re-use existing libraries written in C.
LuaJIT itself
JIT-compiler for Lua; seem sto predate a lot of the LLVM JIT compilers in circulation.