2008-04-06

为括号正名!

关键字: scheme
(教育用,大腕版,纯搞笑) 一定要爱上括号 Scheme 一个都不能省的那种 Vim、Emacs 都能自动高亮括号对 看一眼就知道表达式是在哪个参数位置上返回的 心里别提多舒坦 没那个我现在都不知道怎么写程序! 用 Python 的时候 括号逗号元组连一块儿 三四层的函数调用就看不出来哪儿对哪儿了 Perl 光括号就七八种,还能自定义 鬼能背得得那匹配规则 Ruby 倒好 只省括号,但要被算符优先级 不是没事儿找事儿嘛 你看人家 Haskell 都学 Scheme 的括号规则 想用 $ 省几个? 你不先把括号打全了怎么省? 于是你用 Lisp,想省俩开始、结尾那括号 你都不好意思跟人打招呼 ...
2008-02-01

Lua 的协同和 Scheme 的延续

关键字: 并发
我记得某期《程序员》在介绍 Lua 时说“Lua 的协同程序类似 Scheme 的延续,只是自由度更高。”。我认为这样的说法是欠妥的,因为事实上协同的能力比延续要弱。 首先来看下延续。理论上,延续是这样一种编程风格:对于每个函数,增加最后一个延续参数,所有的函数都不返回值,而把返回值作为参数传给延续参数。这样一来,建立延续标记的函数(如 call/cc)就可以获取调用路径中任何一个标记,并把它绑定到自己的参数函数的第一个参数上。看到 Scheme 的 call/cc,知道的人都会会心一笑,因为他古怪的标记绑定方法正是最初 lambda 演算隐藏掉所有的延续参数后的结果。实际上,延续为每个要标 ...
lichray
搜索本博客
博客分类
最近加入圈子
最新评论