将指称语义学应用于程序设计


30

我已经读过一些有关指称语义(DS)的文章,并且对设计计算机程序的过程非常感兴趣,在计算机程序中,类型和功能与数学之间有着牢固而清晰的映射。

是否有任何资源详细讨论了基于DS的设计程序?我已经看到了对该主题的一些表面处理。

我精通Haskell,Scala,Common Lisp和一些Scheme,因此使用这些语言的任何资源都将受到赞赏。


7
您应该查看Conal Elliott的工作:conal.net

2
如果您还不知道,那么Curry-Howard同构就是关键字。
pedrofurla

2
我想过类似的事情。我试图设计点,刚体和流体的数值模拟。这个(github.com/takagi/SimulationDSL)是我的实验之一,其中我在Haskell DSL中表达了矢量代数和偏方程。我还检查了Conal Elliott的工作。

3
您应该签出LtU。那里可能有一些很好的旧讨论,或者至少您的问题比在SO上更适合

3
您可能想要阅读Samuel Kamin的“ Wadler漂亮印刷组合器的面向实现的语义”。它比较了操作方法和指称方法来实现一个众所周知的真实世界的示例,并包括倡导指称方法。
斯蒂芬·泰特利

Answers:


13

指称设计(植根于指称语义并从中产生的程序设计)是我的主要方法。几年前,在撰写有关FRP的文章时,我对自己所做的事情更加清楚。请参阅推挽功能反应式编程。有关范例的更明确的描述和各种示例,请参见具有类型类态射态的Denotational设计。一旦意识到这种模式,我便开始在各处寻找它。如果失败了,我知道我有一个抽象泄漏。有关早期的非正式描述,请参阅Luke Palmer的博客文章Semantic Design

我对代名词设计的应用一直很感兴趣,所以我很想听听您的探索。


感谢您的宝贵资源。在将问题标记为已回答之前,我将先进行检查。
蒂姆·斯图尔特

感谢您提供工作链接!这是我第二次去研究它。不幸的是,conal.net没有回答。还有其他可以得到的地方吗?
imz-伊万·扎哈拉里谢夫(Ivan Zakharyaschev)2014年


1
@ imz--IvanZakharyaschev对不起。我的网络服务器出现故障。立即备份。希望我能尽快迁移它,它会更稳定。
康那,2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.