lights FAQ Forum
This package

Standard Libraries


Drop all the tools on the floor


Loads the minimum amount of modules that every Lua application seems to need and makes a lot of symbols global. Think of it as emptying all your tool boxes on the floor before you start a job. Some people feel more efficient doing it like that, others hate it, wacha gonna do.

Libraries don’t use this module in an attempt to lower dependency count, avoid polluting the global namespace and improve code readability. Apps don’t care about all that and would rather establish a base vocabulary to use everywhere, so this module can be useful when building an app, less so when making a library.

What libraries usually do instead of loading this module:

  • require the ffi module every goddamn time (and maybe the bit module).
  • copy-paste a few tools from glue to avoid bringing in the whole kitchen.
  • put used symbols into locals (also for speed when code is interpreted).

All that is wasted effort on an app, where you already established your dependencies so anyone who wants to work on your code needs to be familiar with them dependencies beforehand.

Note that the standard Lua module function is replaced with a function with entirely different semantics (see glue for that).

TIP: Run the script standalone with luajit $.lua to get a listing of all the symbols (which you can then paste into your editor config file for syntax highlighting).

Last updated: 2 years ago | Edit on GitHub

Pkg type:Lua+ffi
Version: 29e1d29
Last commit:
License: Public Domain

Requires: errors  fs  glue  logging  luajit  path  pp  proc  sock  time  coro  heap  +winapi 

Required by: none