On the surface, Eiffel and Lua are about as different as two programming languages can be. Eiffel is a statically typed, compiled, pure object-oriented language built around Design by Contract, with a type system strict enough to prove void safety at compile time. Lua is a dynamically typed scripting language that fits in a few hundred kilobytes and has no classes at all. Eiffel wants you to write specifications. Lua wants to get out of your way. One is associated with banking, aerospace and defence. The other powers game mods, Neovim configurations, and nginx plugins.
Look closer, though, and the two start to look like distant cousins. They share origins, aesthetics, and a set of convictions about what a language should leave out. Those shared convictions are less obvious than their differences, and more interesting.
Full essay on eiffel.org
Eiffel has 65 reserved words in current EiffelStudio (the ECMA-367 set plus across, attached, detachable and some). They are grouped by role in attached HTML, each with the nearest Lua idiom. Many have no real Lua counterpart, because Lua is dynamically typed and has no built-in class system. (Pasting didn't work. Lost the table formatting)
Posted by Finnian Reilly, a veteran Eiffel coder who likes Lua