小编mel*_*sul的帖子

Little Schemer evens-only*&co

我很难理解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

13
推荐指数
1
解决办法
960
查看次数

Emacs中的方案吹掉了配色方案

当我在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的预兆吗?

emacs scheme color-scheme

6
推荐指数
1
解决办法
508
查看次数

哪种FP语言跟随lambda演算最接近?

哪个FP语言遵循lambda演算最接近其代码的外观,感觉,就像lambda演算抽象一样?

functional-programming lambda-calculus

4
推荐指数
1
解决办法
2151
查看次数

Emacs Scheme评估-last-sexp

我试图将这些添加到我的.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)中获得此功能?

emacs mit-scheme

1
推荐指数
1
解决办法
349
查看次数