函数命名不能支持开头为大写么?

这样限制是不是有点太死板了?

是不行的,没有这样的限制做function和enum constructor的类型检查时会有点问题

自己额外写一个moonbit语言的超集,加上新的描述符或者别的标志物

满足你的需求

然后编译到moonbit

好吧,其实就是自己创造语法再搓回去

能详细解释一下么,会有什么问题?

这个限制确实有点死,Haxe虽然强制Enum类型名和class类名的首字母大写,但成员名、函数名都没这个限制。不过考虑到Rust的函数名首字母如果大写会warning - should have a snake case name,Moonbit直接不允许大写也勉强能接受吧(另一方面对中文没限制)。

现在语言设计基本定型,再想改掉估计很难了。函数名或变量名的首字母强制大小写对编程语言的推广来说通常是debuff,Erlang的变量名大写函数名小写就是个例子;Elixir虽然也存在这个限制,不过由于支持Unicode所以相对好点。不过换个角度,这个推广debuff也是工程buff,多人合作更需要强制规范。

我想尝试写UI,函数式组件用小写开头就很奇怪。

2 个赞