Python类的数学模型是什么?


10

我了解到lambda-papers中的经典模型不适用于Python。

而且闭包不是Python系统实现的数学模型。

那是哪种型号呢?


如果我知道该模型,我认为我可以找到一本详细的书(例如sicp for lisps),该书将描述从头开始构建系统的过程。
alinsoar 2012年

4
相关:stackoverflow.com/q/2469824。我从您的帖子正文中删除了第二个问题(如何从头开始构建Python系统),因为此处无法回答。如果您想知道如何开发一种实际的工作编程语言,则应研究诸如解析器,词法分析器和编译器之类的东西。
罗伯特·哈维

谢谢 !第二个问题等同于第一个问题!如果我知道该模型,则可以找到一个实际描述它的文档,从而说明如何构建系统内核!
alinsoar 2012年

好问题!!!:)
Maxood 2012年

Answers:


7

Python与Lambda微积分经典论文中的模型之间的主要区别在于Python是一种多范式语言。大多数考虑lambda演算的论文都考虑了一种纯函数式语言,没有添加其他范式(例如OOP或逻辑编程)所涉及的复杂性。

从问题和您的评论中,我认为您对这种多范式语言的基础感兴趣。在这种情况下,我可以极力推荐Peter van Roy和Seif Haridi撰写的《计算机编程的概念,技术和模型》。这本书主要是关于莫扎特/奥兹语的,这本身就是一门相当学术的语言。但是,这本书非常清楚地展示了如何从很小的核心语言开始,并在其之上(以及全部在同一核心语言内)构建面向对象,功能和逻辑编程。

至于实际的数学模型,大多数编程语言都只有非正式或半正式的规范。您很少会找到像拉姆达演算这样的理论作为基础的理论。已经发明了许多不同的数学模型,它们或多或少都适用。有趣的是,对编程语义进行建模的不同方法之间存在一般区别:可以以符号,操作或代数形式描述语义。如果您想更深入一点,那么尽管有艰难的学习曲线,但还是要多读一些有关统一编程理论的文章

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.