haskell作为纯函数式编程语言,那什么是函数式编程?函数式编程后面的理论基础是什么图灵完备的lamada演算,我的理解就是,能够以这样方式描述世界,不管是动的还是静的。
普通的程序语言大部分是过程式,也就是一些状态和过程,跟计算机结构吻合,也就是图灵机。
那函数式编程呢?我的理解是描述事物和事物之间的关系为主,而此关系就是函数f,然后再大再复杂的事物,都是可以由小的关系组合出来。
如果一切都是函数,那“常量” x = "xxx" 这个不可变的初使值"xxx",是不是理解成一种特殊的函数?比如解释成自变量与因变量相等的函数? f(x) = x.
另外一个是haskell的类型如何理解?它是状态吗?好像不是,那它也是函数?感觉好像可以这样理解,类型也是函数的一种,data关键字修饰的,由值构造子来定义函数。呦西! 那反过来,都是函数,又为什么要有data这样的类型定义?后面再认真思考吧。
另外就是外界的状态等,不是函数式的,函数也不能改变外界,这样haskell用其它来解决了,不然不能完整的编程啊。