文章中用纯文本制作的图不可使用等宽字体显示。请进入论坛查看本文,文中错误参考回帖,谢谢。
引用
在 函数式编程语言曲高和寡? 一文中,我们看到 Haskell 能用两行代码
sort [] = []
sort (x:xs) = sort [y | y <- xs, y < x] ++ [x] ++ sort [y | y <- xs, y >= x]
搞定快速排序算法。这是偶然,还是必然?在这篇文章中,lichray 用我们所熟悉的 Python 语言,几行代码搞定很多学编程几年的人都只是一知半解的算法——八皇后问题,展示和上篇文章中的快速排序一样清晰的、令人耳目一 ...
引用本文对刚刚在网络上现身的 JavaScript 函数式编程库 functional.js 进行详尽的解读(地址已更正,感谢 hax)。
functional.js 是模仿 Haskell 语言标准库 Prelude 制作的函数式编程库,主要实现了:
扩展的克里化函数
运算符函数化
紧缩的匿名函数语法
无须指定参数的匿名函数语法
函数向导语法
基本的通用列表操作
部分扩展基于对象化
其中,扩展语法由字符串表示。未能实现的特性有:
尾递归优化
模式匹配(包括参数匹配、列表匹配、情况分析)
惰性运算(包括无穷列表)
列表领悟
扩展绑定、同时绑定
其它列表操作(以 ...
引用
看到作者 lichray 忙于研究数理逻辑,其父发出了由衷的感叹:你学的东西没人用啊。“谁说没人用?自己看不懂罢了。Haskell 的语法是‘写意’了点,但其中的思想清澈见底。”
引用
本文以一个函数式风格的快速排序算法为例,把它从 Haskell 代码改写为 大家所熟知的 JavaScript 代码,试图说明 FP 绝对是表达思想的最强工具。不要被那些 FP 语言们的语法所迷惑。终有一天,你会发现,原来这才是编程啊。
下面是一个 Haskell 写的快速排序算法,一共四行(想想学校里教的一般是多少行~):
qsort [] = []
qsort (x:xs) = qsort ...
- 浏览: 102284 次
- 性别:

- 来自: 南京

- 详细资料
搜索本博客
我的相册
py-wear
共 4 张
共 4 张
最近加入圈子
最新评论
-
用 Python 秒掉八皇后问题 ...
弱弱的问下 “ran ≠ x 很好理解,就是不为同一列;|ran - x| ≠ ...
-- by chanyantc -
用 Python 秒掉八皇后问题 ...
直接出自ML
-- by ychael -
递归下降语法分析详解
javascript 支持尾递归么?否则 tb[s[0]]+iter(cdr(s ...
-- by davies -
递归下降语法分析详解
antlr不是LL(1)的,而是LL(k)的自顶向下的,k可以自己指定,如果过大 ...
-- by mahudu -
递归下降语法分析详解
懒得看了,本科时候就开发过编译器了,parser的construction就是用 ...
-- by xiaolin0105






评论排行榜