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)