用于嵌套表达式的方案宏
可以用Scheme(例如使用define-syntax)编写一个宏,该宏将采用这样的表达式: (op a b c d e f g h i j) 并将这样的yield表达式作为输出? (op (op (…
在记事本中编译lisp/scheme++
我现在非常喜欢 lisp,不幸的是我只能在 Windows 上编写代码。 是否可以让 Notepad++ 负责解释我的脚本,并在编译器窗口中显示输出? 如果是,哪种解…
柯里化函数在Scheme中的实现
当我执行以下操作时会发生什么? (define ((func x) y) (if (zero? y) ((func x) 1) 12)) 我知道我可以这样做: (define curried (func 5)) 现在我可…
DrScheme 中尾部调用优化是如何实现的?
我听说蹦床是实施 TCO 的一种无效方法。 DrScheme(PLAI 方案,技术上)是如何做到的? 它是否以“正确”的方式执行此操作(即生成直接分支到尾部调用…
R6RS方案的make-variable-transformer有什么好处?
在查看 R6RS 中的 syntax-case 部分时,我看到了关键字 make-variable-transformer,它被描述为标识符宏。 给出的例子非常少,我并没有理解为什么它是…
为什么这段代码在Scheme中不起作用?
(define a 42) (set! 'a 10) (define a 42) (define (symbol) 'a) (set! (symbol) 10) (define a (cons 1 2)) (set! (car a) 10) 我尝试在 DrScheme …
将字符串转换为Scheme中的代码
如何将字符串转换为PLT方案中相应的代码(不包含string->input-port方法)? 例如,我想将此字符串:转换 "(1 (0) 1 (0) 0)" 为此列表: '(1 (0) 1 …
PLT 方案中的时间码
我想看看一个函数运行需要多长时间。 在 PLT-Scheme 中执行此操作的最简单方法是什么? 理想情况下,我希望能够做这样的事情: > (define (loopy ti…
如何清除Scheme中的内部列表?
我有以下代码,并想添加一条“清除消息”,以从内部列表中删除所有存储的号码。 我该怎么做? (define (make-stat) (let ((values (list))) (lambda (…
如何选择在 DrScheme 中使用哪种语言?
我最近下载了PLT计划和DrScheme。 当我打开 DrScheme 时,系统会告诉我选择一种语言。 然而,我对我的任何选项都不熟悉,并且帮助指南并没有真正分解…
你知道这个Scheme函数怎么写吗?
Closed. This question needs to be more focused. It is not currently accepting answers. 想要改进这个问题?通过编辑这篇文章来更新问题,使其仅…
该方案幂函数的时间复杂度是多少?
时间复杂度是多少? 为什么? (define (mult a b) (define (internal a accum) (if (= a 1) accum (internal (- a 1) (+ accum b)))) (internal a b))…
我在这个计划评估中做错了什么?
评估: ((((lambda (x) (lambda (y) (lambda (x) (+ x y)))) 3) 4) 5) 这就是我所做的: 评估((((lambda (x) (lambda (y) (lambda (x) (+ xy)))) 3) 4…