guile

    0热度

    2回答

    运行诡诈(在交互模式或脚本)给出了关于我的Ubuntu这个错误12.04: - guile test.scm Backtrace: In ice-9/boot-9.scm: 149: 2 [catch #t #<catch-closure 9ec72f0> ...] 157: 1 [#<procedure 9e8f8c0()>] In unknown file: ?: 0 [c

    0热度

    1回答

    1 (use-modules (ice-9 rdelim)) 2 3 (define (show l) (display l)) 4 5 (define (read-two-lines) 6 (let ((count (read-line)) 7 (l (read-line))) 8 (show l))) ;

    1热度

    1回答

    我写了一个程序(do-test)。 由于测试可能对可变env, 我定义env内do-test希望env不会进行 与过程有一定的影响,所以每次我运行它,我会得到一个新的环境中工作。 令我惊讶的是,我的测试程序实际上是承载了以前的env。 请找到follwing代码: (define (do-test) (define env '(1)) ;(define env (list 1

    0热度

    1回答

    我在写一些获取设置长度列表的代码,我需要为列表中的每个元素定义一个变量。 目前,我必须做这样的事情: (define (foo l) (let ((e-1 (car l)) (e-2 (cadr l)) (e-2 (caddr l)) ; ... (e-n (list-ref (- n 1) l))) (com

    0热度

    2回答

    方案有功能调用功能n次。我不希望map/for-each函数没有任何参数。沿此线的东西: - (define (call-n-times proc n) (if (= 0 n) '() (cons (proc) (call-n-times proc (- n 1))))) (call-n-times read 10)

    1热度

    3回答

    我有宏let--(如让*使用lambda表达式)在诡诈 (define (let-make-lambdas pairs body) (if (null? pairs) `((lambda() ,@body)) `((lambda (,(caar pairs)) ,(let-make-lambdas (cdr pairs) body))

    0热度

    1回答

    在Guile或使用SRFI-46时,可能会出现如Specifying a Custom Ellipsis Identifier所示。但是在SISC或“纯方案”R5RS中可能吗? 我知道这是可能的,但不使用省略号,但如果我需要使用像省略号这样的内部省略号? (define-syntax define-quotation-macros (syntax-rules() ((_ (ma

    0热度

    1回答

    我想在C++应用程序中嵌入狡诈,但我得到“未定义的引用”错误,当我尝试编译: 的Ubuntu 12.04 诡计-1.8.8 如果我编译从guile docs 的例子 gcc -o guile-test `pkg-config guile-1.8 --cflags` `pkg-config guile-1.8 --libs` guile-test.c 在控制台上 ,它将中止与错误: /tmp/cc

    1热度

    2回答

    在鸡肉,它看起来像我可以(use srfi-9),但在贵乐它看起来像你说(use-modules (srfi srfi-9)),在球拍它是(require srfi/9)。是否有标准化的use-module表单应该适用于所有方案实现(以便我可以编写可移植代码)?

    -1热度

    2回答

    比方说,我有以下两个文件: ;; demo.scm (define-module (demo) #:export (f)) (define (g x) 1) (define (f x) (g x)) ...并在同一目录下: ;; use-demo.scm (add-to-load-path ".") (use-modules (demo)) (define (g x)