Lua - Part 9

Not even Mike Pall, the author of LuaJIT and possibly the king of scripting language JIT performance, would say the language doesn't matter. He has said the language does matter and has talked about why Lua lends itself to good JIT performance.

"The Wren Programming Language"


May 31, 2018

May 31, 2018: Installed the Lua module for CouchDB. luarocks install luchia. The module requires lualogging which got installed automatically when installing luchia. The luchia module also required lua-cjson, which I already had installed.

Compatible with Lua 5.1, 5.2, 5.3

100% unit test coverage


June 15, 2018

Ultibo – Environment for embedded development on Raspberry Pi

HN thread - commenter mentioned his/her project: - Lua API
A portable hybrid distributed OS based on Inferno, LuaJIT and Libuv

Recommended path to read the Lua source code by the author of LuaJIT (2007)
Kolba is a fast, minimal, web framework for Lua.

Urn: A Lisp implementation for Lua

MoonScript, a programmer friendly language that compiles to Lua

embedded programming language discussion

Lwan: A high-performance and scalable web server (

HN comment from web server author:

Yes, the small footprint was a deliberate choice, specifically for the embedded scenario. One of the things I did back in the day was to run Lwan+Lua on an Intel Galileo board, without an SD card (it has only 4MB of flash memory, which has to fit the Linux kernel, some minimal userland, and Lwan+Lua).

The 4,000 Lines of Code Harvard Hopes Will Change Translation (2017) (

Led to Torch.

A scientific computing framework for LuaJIT

Torch is a scientific computing framework with wide support for machine learning algorithms that puts GPUs first. It is easy to use and efficient, thanks to an easy and fast scripting language, LuaJIT, and an underlying C/CUDA implementation.

A summary of core features:

a powerful N-dimensional array
lots of routines for indexing, slicing, transposing, …
amazing interface to C, via LuaJIT
linear algebra routines
neural network, and energy-based models
numeric optimization routines
Fast and efficient GPU support
Embeddable, with ports to iOS and Android backends

The goal of Torch is to have maximum flexibility and speed in building your scientific algorithms while making the process extremely simple. Torch comes with a large ecosystem of community-driven packages in machine learning, computer vision, signal processing, parallel processing, image, video, audio and networking among others, and builds on top of the Lua community.

Torch is constantly evolving: it is already used within Facebook, Google, Twitter, NYU, IDIAP, Purdue and several other companies and research labs.

The first script installs the basic package dependencies that LuaJIT and Torch require. The second script installs LuaJIT, LuaRocks, and then uses LuaRocks (the lua package manager) to install core packages like torch, nn and paths, as well as a few other packages.

Ronan Collobert - Research Scientist @ Facebook
Clement Farabet - Senior Software Engineer @ Twitter
Koray Kavukcuoglu - Research Scientist @ Google DeepMind
Soumith Chintala - Research Engineer @ Facebook

Torch is not in active developement.

August 2018

"Eden: a Lua-based scripting language in Clojure ("

Pyxel: A retro game development environment in Python (