为什么Lua表达式中没有匿名函数?

谁能向我解释为什么Lua中的匿名函数构造不是完整的表达式?对我来说,这似乎很奇怪:它(稍微)违背了功能应该是一流对象的观点,并且(通常(但偶尔)是一种不便)在一种真正经过深思熟虑的优雅语言中带来了不便。

例如,使用命令行Lua和解决方法

Lua 5.3.3  Copyright (C) 1994-2016 Lua.org, PUC-Rio
> function(x) return x*x end (2)
stdin:1: <name> expected near '('
> square = function(x) return x*x end
> square(2)
4