我一直在研究声明性语言,似乎声明只是逻辑和函数语言的总称。还是我错了?是否有任何通用的声明性编程语言不能归类为功能或逻辑(al),只是“声明”?
答案 0 :(得分:2)
声明性语言要求您编写您希望发生的的代码,而不是使用命令式语言编写代码如何进行计算。
一般来说,这意味着声明性语言不允许副作用,而命令式语言几乎需要编码副作用。
为了使通用语言具有通用性,它们需要能够编码副作用。因此,它很难成为陈述性的。
像F#这样的语言在函数式编程中有很强的基础,但是有任何构造允许OO编程和副作用。这使得F#成为通用语言,但允许将命令式样式编码与声明性编码混合使用。
虽然并非完全不可能,但我怀疑只是按照定义,没有“纯粹声明性的”通用编程语言。