首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >“香蕉、镜头、信封和铁丝网”的实际应用?

“香蕉、镜头、信封和铁丝网”的实际应用?
EN

Stack Overflow用户
提问于 2009-07-27 18:54:43
回答 2查看 1.8K关注 0票数 12

首先,goofy的标题直接引用了这篇论文:

http://eprints.eemcs.utwente.nl/7281/01/db-utwente-40501F46.pdf

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

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

想象一下,整个程序中80%的逻辑都涉及到这些运算符。我想知道一种迫使用户使用运算符的语言是否可以利用它们的结构……

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-28 00:15:21

本文是一系列相关理论探索中的一篇。研究领域是函数式编程人员所称的泛型编程(令人困惑的是,它与C++程序员所称的泛型编程不同)。这个想法是这样写你的函数,当你定义一个新的数据类型时,你会自动得到新的代码与之相伴的。人们想要以这种方式解决的一个典型问题是将数据的映像写入磁盘,然后从磁盘映像中读回同构数据。

如果你想体验这些想法的实际应用,我推荐Ralf Hinze的优秀论文Generics for the Masses,它展示了如何在普通的Haskell中尝试所有这些古怪的想法。例如,我已经使用这些技术在编译器中实现了非常复杂的中间语言的避免捕获替换。

Ralf和Jeremy Gibbons写了许多关于泛型编程的优秀论文。他们的东西不像香蕉,镜头,等等那么远……

票数 15
EN

Stack Overflow用户

发布于 2009-07-27 19:12:43

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

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

这类似于monads thingy。monads的大问题不在于如何编写monads。它们的重要之处在于,有大量关于monad的定理,一旦您将问题简化为monad,这些定理就可以应用。同样的原则也适用于此。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1189955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档