王垠(人物)

王垠怎么不批评Scheme语言?

问题描述

王垠怎么不批评Scheme语言?括号毫不人性化,这种专为机器阅读设计的代码有什么优美可言?)))))))))))))))))))))
(define traverse  ;我真看不出优美来啊
  (lambda (f t) 
    (cond 
      ((null? t) t)
      ((not (pair? t)) (list (f t)))
      (else 
       (let ((head (car t))) (tail (cdr t)))
         (append (traverse f head) (traverse f tail)))))))


谁说不用数括号的?你说上面代码倒底在哪缺了个括号?不准看日志你给我找出来!
地铁风
不会撸程序的设计狮不是好科研狗

我一直不明白,为什么有人会数括号……

谁说不用数括号的?你说上面代码倒底在哪缺了个括号?不准看日志你给我找出来!

来来来你看看,你一眼看不出哪里错了??你确定你看不出来???你确定这样的问题还需要看日志???你确定是缺了一个括号而不是多了一堆括号???


你知道么我现在用的山寨 scheme 解释器根本就没有可用的出错信息可以看,出什么错它都说在最后一行…… 然而在正确的编辑器配置下这根本就不是问题(至少对于语法错误来说)。

然后你的代码居然有行尾空格???强迫症不能忍!!!whitespace-cleanup 伺候!!

最后吐槽一句,你用一个正常的编辑器写基本上就不可能出现括号不匹配的情况,用我这个配置的话,写出来括号还不匹配就可以拿达尔文奖了……

20 赞同 4 感谢 2 收藏 12 条已备份评论 发布于 2015-06-20 知乎原页 ↗

评论 12

图片中λ是怎么快速打出来的?
0 赞
地铁风回复 文弦作者
我设置的如果在 lisp 和 scheme 里打 lambda 就会自动变成希腊字母。
3 赞
lambda好评,emacs插件?
0 赞
地铁风回复 zqy787作者
没,自己写了个很蛋疼的函数,用 font lock. 紧接着 emacs 24.4 就加了这个功能……
0 赞
知乎用户x2o0vA回复 zqy787
其实可以在 .emacs 里面加入以下设置:
(prettify-symbols-mode)
(global-prettify-symbols-mode 1)
输入 lambda 会自动变成希腊字母~
1 赞