Hacklang命令行程序在严格模式下

时间:2014-04-13 01:48:31

标签: command-line hacklang

有没有办法在严格的Hack模式下创建命令行程序?由于Hack的严格模式不允许函数外的语句,我无法调用main函数。

(这是一个理论问题,因为通过使用非严格的文件来调用main函数很容易避免这个问题。)

1 个答案:

答案 0 :(得分:5)

由于此限制,目前无法在Hack严格模式下100%编写项目(命令行程序或其他)。你确实需要在toplevel(" pseudomain")中有一些bootstrap代码,而strict当前不允许这样做。这样做的原因是顶层代码基本上不可能进行静态类型检查,因为所有内容都是全局的,并且可以随时通过任何代码在幕后更改。

然而,最终的结果是愚蠢的,我们最终想要修复的东西 - 例如,没有理由阻止对没有参数的函数的单次调用,即,你需要立即从伪域中获取的东西进入一个功能。