我很难理解evens-only*&co第145页的The Little Schemer的例子.
这是代码:
(define evens-only*&co
(lambda (l col)
(cond
((null? l)
(col '() 1 0))
((atom? (car l))
(cond
((even? (car l))
(evens-only*&co (cdr l)
(lambda (newl product sum)
(col (cons (car l) newl)
(opx (car l) product)
sum))))
(else
(evens-only*&co (cdr l)
(lambda (newl product sum)
(col newl product (op+ (car l) sum)))))))
(else
(evens-only*&co (car l)
(lambda (newl product sum)
(evens-only*&co (cdr l)
(lambda (dnewl dproduct dsum)
(col (cons newl dnewl)
(opx product dproduct)
(op+ …Run Code Online (Sandbox Code Playgroud) recursion lambda scheme the-little-schemer continuation-passing
当我在Emacs中编辑scheme(.scm)文件时,我似乎失去了我选择的颜色主题.我在Ubuntu 11.10; Emacs 23.3.2 GTK +这里是我的相关.emacs用于颜色主题:
(require 'color-theme)
(eval-after-load "color-theme"
'(progn
(color-theme-initialize)
(setq color-theme-is-global t)
(color-theme-tm)))
Run Code Online (Sandbox Code Playgroud)
tm主题看起来很好,很容易在眼睛上(温暖的粉彩).但是当我加载一个.scm文件时,方案模式似乎对颜色有自己的想法,并给我可怕的强烈刺眼的蓝调,更糟糕的是,为parens发光的红色.我可以打开一个.lisp文件,它很好地符合tm主题 - 所有其他文件格式也是如此.我已经切换到设置了term256的emacs -nw控制台......这似乎让平静下来有点冷静,但在GUI Emacs中,好像只有方案文件抛出了tm主题,甚至抛出了256种颜色对我恶毒地怒目而视.即使从GUI Emacs菜单选项"工具/颜色主题"中选择也不会改变错误的方案模式颜色主题.我也使用quack.el,但注释掉似乎并没有影响坏颜色.这是切换到Haskell的预兆吗?
哪个FP语言遵循lambda演算最接近其代码的外观,感觉,就像lambda演算抽象一样?
我试图将这些添加到我的.emacs中,但它们似乎没有效果
(local-set-key (kbd "C-x C-e") 'scheme-send-last-sexp )
(local-set-key (kbd "C-M-x") 'scheme-send-definition )
Run Code Online (Sandbox Code Playgroud)
当我在.scm缓冲区中尝试Cx Ce时,我正在使用嘎嘎并且在一个缓冲区中运行MIT-Scheme.我没有评估最后的s表达式,而是"你必须用run-ilisp开始一个劣质的LISP".但是如果我手动添加快捷方式:
M-x local-set-key RET C-x C-e scheme-send-last-sexp RET
M-x local-set-key RET C-M-x scheme-send-definition RET
Run Code Online (Sandbox Code Playgroud)
有用.如何在不手动输入的情况下在Emacs(23.3.1)中获得此功能?