gpt4 book ai didi

programming-languages - Prolog是一种无类型语言吗? Prolog 和动态类型语言有什么区别?

转载 作者:太空宇宙 更新时间:2023-11-03 18:34:18 27 4
gpt4 key购买 nike

如果 Prolog 在字符串、数字、原子、列表和复合结构之间有明确的区分,它怎么能被称为无类型的。它与 Lisp 等动态类型语言有何不同。

Prolog 与“动态类型语言”定义的哪一部分冲突? Lisp 与“无类型语言”定义的哪一部分冲突?

欢迎任何见解。

更新

我已经知道动态类型、静态类型、强类型和弱类型之间的区别。我的问题是关于一个特例,即 Prolog。我只是想了解 Prolog 是如何被认为是无类型的,尽管它似乎与动态类型语言没有明显区别。

这里是一个 Prolog 未类型化的引用 http://en.wikipedia.org/wiki/Prolog#Types

最佳答案

Prolog 大部分是无类型的,因为您可以将任何类型的术语传递给任何谓词,通常,最坏的情况是谓词不会成功。然而,算术谓词,例如 is=:= 需要数字参数并且可能会爆炸 - 所以那里有一个类型的概念。

非纯谓词也可能需要“文件句柄”类型的对象,否则会爆炸。

因此,将 Prolog 称为“无类型”并非严格意义上的正确。

关于programming-languages - Prolog是一种无类型语言吗? Prolog 和动态类型语言有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6310330/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com