读完个人感觉Prolog、Erlang更好玩~
Ruby
Mixin:类Class Include 模块Module
元编程,在宏里面,自动对我们想添加到目标类上的所有方法调用define_method
Io
传递消息,没有类的概念,语法简单
Prolog
声明式的编程语言,基于逻辑推断
其中的四色问题、八皇后问题求解例子非常精彩
Scala
没仔细看
Erlang
适合并发,轻量级进程,高可靠
函数式语言,列表解析很不错
Clojure
没仔细看
Haskell
纯洁的函数式语言,高阶函数很漂亮
强类型比较麻烦
2012年10月28日星期日
2009年8月2日星期日
Haskell : 副作用与纯函数
见:[Real world Haskell] 中文翻译:第二章 类型与函数
副作用引入了系统全局状态与函数行为之间的依赖性。我们暂时从Haskell离开一会,并考虑命令式程序语言。假设一个函数读取并返回全局变量的值。如果其他的代码可以修改这个全局变量,那么对于这个函数的应用将依赖于这个全局变量当前的值。这个函数即使自己没有修改这个变量也将具有副作用。
副作用在函数中被无形的导入或导出。而在Haskell中,函数默认不具有副作用:一个函数的结果只依赖于明确提供给它的输入。我们称这样的函数为纯函数;具有副作用的函数是不纯的。
如果函数有副作用,可以在它的类型签名中看出来:函数的结果类型会以 IO 开头。
纯函数的运行结果只由输入参数决定。
订阅:
博文 (Atom)