我一直在研究声明式语言,似乎声明式语言只是逻辑语言和函数式语言的总称。还是我错了?是否有任何通用声明式编程语言不能归类为函数式或逻辑(al),而只是“声明式”?
最佳答案
声明式语言要求您为 编码什么 你想要发生而不是在你编码的命令式语言中 怎么样计算应该完成。
一般来说,这意味着声明式语言不允许副作用,而命令式语言几乎需要带有副作用的编码。
为了让通用语言成为通用语言,它们需要能够对副作用进行编码。因此,这使它们难以声明。
像 F# 这样的语言在函数式编程方面有很强的基础,但也有任何允许面向对象编程和副作用的构造。这使得 F# 成为一种通用语言,但通过允许将命令式编码与声明式编码混合来实现这一点。
尽管并非完全不可能,但我怀疑仅根据定义就没有“纯粹声明性”的通用编程语言。
关于functional-programming - 是否有纯粹的声明性通用编程语言?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12452205/