如何改进方案中的这种归并排序?
我是一名 C++ 程序员,我写这段代码是为了看看我是否可以进行函数式思考:) 有什么改进的提示吗? (define (append listOne listTwo) (cond ((null? li…
我如何在 DrScheme 中进行配置?
如何使用 DrScheme 分析我的函数? (require profile) (define (factorial n) (cond ((= n 1) 1) (else (* n (factorial (- n 1)))))) (profile facto…
在Scheme中如何写Push和Pop?
现在我有 (define (push x a-list) (set! a-list (cons a-list x))) (define (pop a-list) (let ((result (first a-list))) (set! a-list (rest a-lis…
在Scheme中编写一个自动记忆器。 有关宏和包装器的帮助
我在Scheme中编写自动记忆器时遇到了一些问题。 我有一个有效的记忆功能,它创建一个哈希表并检查该值是否已经计算出来。 如果之前已经计算过,则返回…
规避 SCHEME 中的 EVAL
彼得·诺维格 (Peter Norvig) 在 PAIP 中说道: 在现代 lisps 中...eval 很少被使用(事实上,在Scheme 中有 根本没有评估)。 如果您发现自己使用 eva…
Common Lisp 与 Scheme 中函数和变量的独立命名空间
方案对所有变量使用单个命名空间,无论它们是否绑定到函数或其他类型的值。 Common Lisp 将两者分开,因此标识符“hello”可以在一种上下文中引用函数…
PLT 方案中的循环
如何在 plt-scheme 中实现循环,就像在 java- 中一样 for(int i=0i<10){ for(int j=0j<3){ System.out.println(""+j) j++ } System.out.println("…