自动机理论和函数式编程

Automata theory and Functional programming

我最近开始学习函数式编程并开始使用 Haskell。函数式范式与其他范式的根本区别在于,我们不维护状态,也没有命令式范式中的计算。命令式编程背后的基本理论是自动机理论,自动机理论是计算机的基础。

话虽如此,我看不出自动机理论和函数式编程之间有任何关系。那么函数式编程是否彻底改变了编程的基础?

大约与图灵机同时开发(我只是猜测你指的是 TM,当你说 自动机理论是计算机的基础时)也是lambda 演算被建议作为计算模型(好吧,不完全是 计算机 ,但接近)。这两个概念在某种意义上是等价的,TM 上的任何东西都可以是 "implemented" 也可以是 lambda 项的 "implemented",反之亦然。此外,函数式编程或多或少是(类型化的)lambda 演算的一种实现。所以我想这只是看待同一件事的两种不同方式。