gpt4 book ai didi

functional-programming - Prolog 与 Erlang(和其他函数式语言)

转载 作者:行者123 更新时间:2023-12-04 01:44:04 30 4
gpt4 key购买 nike

关闭。这个问题是opinion-based .它目前不接受答案。












想改善这个问题吗?更新问题,以便可以通过 editing this post 用事实和引文回答问题.

4年前关闭。



Improve this question




Prolog 有什么问题?

Prolog 非常适合列表和模式匹配,并提供回溯作为奖励。然而几十年来,它仍然是一门独立的语言,而函数式语言则蓬勃发展。

以 Erlang 为例。它的语法是从 Prolog 借来的,最初是用 Prolog 实现的,这真的很有趣。也就是说,从 Erlang 人的角度来看,Prolog 存在根本性的错误,或者他们会根据自己的需要调整 Prolog。

最佳答案

在我看来,Prolog 现在是 开始 变得有趣,陪审团仍然在这个问题上。

是的,Prolog 的传统比 Erlang 悠久得多。从实现的角度来看,它也是一种更复杂的语言!它也很难教,例如,对于所有其他语言的初学者来说已经无法解决的任务传统上作为前几个例子提供给 Prolog 初学者这一事实加剧了这种情况。

获取回溯、垃圾收集、别名、属性变量、约束、异常处理以及 Prolog 为您提供的许多其他功能 正确高效 虽然尊重他们通常非常微妙的相互依存关系,但可以理解的是,即使一些最有才华和受过教育的程序员参与其中,也无法在短短几十年内完成。当前可用的许多 Prolog 系统刚刚达到可以在生产环境中认真使用它们的地步。

制作一个高效且正确的 Prolog 的简化版本相对容易。对于真实的东西来说不是那么多。

为了进行比较,请采取任何严肃的计划,看看它的实现需要多长时间。大多数有趣的程序在最初发布几十年后仍在认真开发中。与 Prolog 相同,成熟的 Prolog 系统肯定比许多其他语言实现提供更多的功能。

我们确实想要真实的东西!所以,是的,Prolog 有问题:很难正确实现。但是,由于上述众多功能,Prolog 还有很多非常正确的地方:一旦完全实现,Prolog 就是 惊人以及适用于各种任务的无与伦比的开发环境,从定理证明到 Web 托管,解决组合优化问题,测试用例生成以及现在出现的许多其他应用程序。

例如,现在正在为 Prolog 开发 Erlang 风格的流程。参见例如 Torbjörn Lager's Pengines .

为什么这只是现在(即过去 2 年左右)在 Prolog 中可用?很简单:直到最近,许多 Prolog 系统(在这种情况下:SWI-Prolog)还不能完全达到稳定运行 24x7 网络服务器的标准。
为什么会这样?同样,由于 Prolog 的许多高级功能之间存在微妙的相互依赖性,因此很难为 Prolog 做到这一点。慢慢地,我们终于到了那里。

胜利的序幕!

关于functional-programming - Prolog 与 Erlang(和其他函数式语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35668475/

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