功能编程文档

sta*_*ker 5 documentation paradigms functional-programming

是否有功能语言的标准文档(如UML for OO)?在下载了用erlang编写的沙发数据库并查看源代码后,我很震惊,几乎没有一行文档.是否没有必要记录所有这些功能如何相互依赖?是否有更好的文档中型项目可以免费学习,如何使用这种范式完成工作?

Nor*_*sey 5

在像Haskell或ML这样的函数式语言中,它们有类型和模块类型(在标准ML中称为"签名"),这些类型提供了大量的文档.在诸如Scheme之类的函数式语言中,它们没有由编译器检查的类型,它们使用"契约"代替 - 除非它们是草率的.

Erlang是在爱立信开发的,电信行业拥有非常强大的文化和测试记录.如果这些函数应该如何工作的文档是在某个测试套件中,那就不会让我感到惊讶.

总结:标准的两个最接近的东西是类型(对于具有静态类型系统的函数语言)和契约(对于没有静态类型系统的函数语言).


Ada*_*tan 4

无论语言如何,都应该记录代码。

似乎有一种称为 EDoc 的标准文档样式。EDoc能够生成外部API文档;引用一个来源:

EDoc 是 Erlang 标准应用程序,用于直接在 Erlang 代码中记录 Erlang API。

erlang.org 的文档部分引用了这一点:

EDoc 允许您使用“@Name ...”形式的标签将 Erlang 程序的文档编写为源代码本身中的注释。源文件不必包含 EDoc 生成其文档的标签,但如果没有标签,结果将仅包含可从模块中提取的基本可用信息。

集中的谷歌搜索将带您离开这里。