Yeah, Lua's implementation is fantastic - but the language is "quirky" at best.
Wren looks a bit more orthodox, although it's heavily built around class-based OOP - you can't even define and call a top-level function without extra syntax to (1) turn it into an object, and (2) call one of that object's methods:
var sayHello = Fn.new { System.print("hello") }
sayHello.call() //> hello