Language agnostic 实际应用;香蕉、镜片、信封和带刺铁丝网;?

Language agnostic 实际应用;香蕉、镜片、信封和带刺铁丝网;?,language-agnostic,functional-programming,theory,Language Agnostic,Functional Programming,Theory,首先,高飞的标题直接引用了本文: 我理解它的理论价值,因为它模拟了大多数(如果不是全部的话)编程语义 基于此的编程范例最有效、最实际地解决了哪些问题?什么问题不是 想象一下,在编写的整个程序中,80%的逻辑都涉及到这些运算符。我想知道,一种将操作符强加于用户的语言是否可以利用它们的结构…这意味着可以在一种范式中建模的解决方案也可以在另一种范式中建模,并且可以通过编程将一种范式转换为另一种范式 现在,某些问题在一种范式中比在另一种范式中更容易解决。而且,在一种范式中证明属性比在另一种范式中更容易

首先,高飞的标题直接引用了本文:

我理解它的理论价值,因为它模拟了大多数(如果不是全部的话)编程语义

基于此的编程范例最有效、最实际地解决了哪些问题?什么问题不是


想象一下,在编写的整个程序中,80%的逻辑都涉及到这些运算符。我想知道,一种将操作符强加于用户的语言是否可以利用它们的结构…

这意味着可以在一种范式中建模的解决方案也可以在另一种范式中建模,并且可以通过编程将一种范式转换为另一种范式

现在,某些问题在一种范式中比在另一种范式中更容易解决。而且,在一种范式中证明属性比在另一种范式中更容易。因此,如果你能表现出这种等价性,你就打开了以更容易的方式解决某些问题的大门,然后将解决方案转换为所需的范例


这类似于单子的东西。单子的大问题不在于你如何写单子。它们的重要之处在于,一旦你把你的问题简化为一个单子,就可以应用大量关于单子的定理。同样的原理也适用于此。

本文是一系列相关理论探索中的一篇。研究领域是功能程序员称为泛型编程(这与C++程序员称为泛型编程不同)。其思想是,编写函数的方式是,定义新数据类型时,自动获得新代码。人们希望通过这种方式解决的一个经典问题是将数据的映像写入磁盘,然后从磁盘映像中读回同构数据

如果你想了解这些想法的实际应用,我推荐拉尔夫·辛兹(Ralf Hinze)的优秀论文,这篇论文展示了如何在普通的旧版本中尝试所有这些古怪的想法。例如,我使用这些技术来实现捕获,避免在编译器中替换非常复杂的中间语言


拉尔夫写了许多关于泛型编程的好论文,杰里米·吉本斯也是。他们的东西远不及香蕉、镜头等等……

我不知道我该如何处理PostScript文件。手边没有PostScript打印机。由于在许多计算机上阅读PostScript并不容易,您能否提供本文的pdf或html版本。您的pdf阅读器无法阅读PostScript?我想是时候从1950年后的某个时候升级到计算机了。@John,这是一个非常独特的标题,如果你愿意,你可以找到pdf。抱歉。我已经更新了一个pdf链接。这适用于所有范例。(我的意思是,如果我问的是面向对象编程,这是正确的)。但我能从中得到什么呢?作为程序员还是作为研究人员?作为一名程序员,什么都没有,真的。作为一名研究人员。。。嗯,我没有资格回答这个问题。:-)伟大的谢谢你的链接。不过,仿制药不是我从“香蕉”中得到的。也许我得重读一遍,再看看。(虽然,这可能隐藏在类别理论部分,我没有很好地理解。)看来,你与大众泛型的联系已经消失了。下面是另一个: