Lua es un lenguaje multiparadigma porque su semántica puede ser extendida y modificada redefiniendo funciones de las estructuras de datos utilizando "metatablas", casi como en Perl (así permite implementar, por ejemplo, la herencia aunque sea ajena al lenguaje).