我慢慢爱上了Erlang,只有一个大的大问题。
我非常喜欢Standart ML和ocaml等语言,因为它们具有强大的静态类型检查功能。
有没有一种很好的方法来在erlang中引入某种静态类型检查。我正在查看-type
和-spec
批注。
有人有不错的解决方案吗?
最佳答案
我去过那儿!我爱OCaml和Erlang并经常使用。
当我开始使用Erlang时,我已经拥有OCaml多年的经验。我花了几周的时间来适应编译器中没有静态类型检查器这一事实。但是在那之后,痛苦完全消失了。
在某种程度上,不使用类型检查器是值得进行的练习。对我来说,这是启发性的经验,确实使我成为了一个更好的程序员。
但是,有一个针对Erlang的外部静态类型检查器,称为Dializer。我觉得这很有用。它的问题是您需要单独调用它,而且速度很慢。偶尔运行一次(例如在提交代码之前或作为自动化构建的一部分)运行效果很好。我从来没有尝试过在每次编译后运行它,因为要等到它完成会太分心。