Los "decoradores" documentados en la página que cita (y utilizados por ejemplo en this one para agregar verificación de tipo) tienen poco que ver con la extraña "sintaxis de decorador" de Python para una forma específica de aplicar un orden superior función (HOF) - más bien, los decoradores descritos y utilizados en el wiki de Lua son un idioma Lua para admitir una aplicación de las funciones Decorator Design Pattern a Lua (manteniendo "atributos adicionales" - como docstrings, funciones de verificación de tipo, etc. - en tablas globales separadas).
Lua hace Höfs de apoyo (no estoy seguro si se puede volver a unir un nombre de función al resultado de la aplicación de un HOF a la función, pero se puede fácilmente, como las páginas wiki muestran, utilizar un anónimo "función original" y solo vincula un nombre al resultado del HOF con esa función anon como arg).
La sintaxis de sintaxis del decorador de Python es agradable (y, para mi sorpresa, parece haber aumentado el uso de HOF por la mayoría de los Pythonistas en un orden de magnitud! -), pero no hay nada intrínseco o esencial en ellos que no se puede hacer en Lua (y las funciones anónimas de Lua corren alrededor de la ridícula y limitada lambda
de Python, al igual que en Javascript, tienen esencialmente el mismo poder, y casi la misma sintaxis, como una función con nombre "normal").)
Lua puede implementar envolturas alrededor de funciones tan bien como Python puede; simplemente no tiene una sintaxis especial, ya que Lua apunta a tener una sintaxis básica (por defecto, ya que carece de elementos básicos como 'continuar' y' + = '). –