chicken-scheme

    0熱度

    1回答

    我想將sexps轉換爲xml,我有一個遞歸函數,它會經歷一個表示xml標記及其子標記的列表,然後用正確的縮進將它們打印到標準輸出。 我正在使用雞計劃編譯器。 來源: (use srfi-13) (use extras) ;Returns the length of a list (define (len lst) (define (len-help lst count)

    0熱度

    1回答

    如何在Chicken方案中使用關聯數組或哈希表? 我正在尋找支持基於密鑰的數據,這工作應該像雞方案Java的HashMap或Python的dict數據結構(近)O(1)訪問的數據結構。 似乎有雞蛋實現該功能,但我寧願使用更標準的東西。 顯然,似乎有一種努力來定義Scheme R6RS的標準庫,但我不確定這是否是雞的可行選項。

    0熱度

    1回答

    我想寫一個字符串到一個文件,但每次我都做了引號。 我已經試過 (call-with-output-file file-path (lambda(output-port)(write "some text" output-port))) 和 (let ((p (open-output-file file-path))) (write "some text" p)

    1熱度

    1回答

    我一直在雞計劃玩了一會兒,但我注意到一些不尋常的東西。假設我有以下簡單源文件: (define (f x) (g x)) 很明顯(對於人類bean),這是行不通的。當我啓動csi並手動輸入該函數的定義,我得到了以下信息: Note: the following toplevel variables are referenced but unbound: g (in f)

    1熱度

    1回答

    我發現了一個簡短的介紹方案的在線和我有一點麻煩使用此項功能: (define (title-style str) (let loop ((lC#\space) (i 0) (c (string-ref str 0))) ((if (char=? lC#\space) (string-set! str i (char-upcase c))) (if (= (

    0熱度

    1回答

    我正在尋找一種方法來獲取在雞計劃unix時間,或任何其他時間戳,我可以比較像它是一個數字與其他時間戳。 我想要這個,因爲我試圖模擬(運行時),它在我正在閱讀的書(SICP)中定義爲「開始解釋器以來的時間」,但是因爲我們只是尋找這些差異不同點的郵票,這並不重要。 我可以進入更多的細節,如果有幫助:我試圖做練習1.22。

    0熱度

    1回答

    所以我試圖用一些代碼和讓和lambda兩個方案表達式方法之間進行實驗。 我的代碼如下: (let splice ((l '()) (m (car s)) (r (cdr s))) (append (map (lambda (x) (cons m x)) (perm (append l r))) (if (null? r) '() (splice

    1熱度

    2回答

    我最近開始使用ChickenScheme,現在我想用默認參數聲明一個函數(如果沒有指定)。 我在Racket網站上發現了這個例子,我知道Racket和ChickenScheme不同,但我認爲這些基本的東西都是一樣的。 (define greet (lambda (given [surname "Smith"]) (string-append "Hello, " given "

    1熱度

    1回答

    我試圖讓模式匹配工作,但我只能得到它在雞解釋器中工作 - 不是編譯器。 這裏是它在解釋一個例子: CHICKEN (c) 2008-2015, The CHICKEN Team (c) 2000-2007, Felix L. Winkelmann Version 4.10.0 (rev b259631) freebsd-unix-clang-x86-64 [ 64bit manyargs

    0熱度

    1回答

    我想知道,如果可能的話,最好的方法是在CHICKEN-Scheme中動態加載編譯後的代碼。 API狀態load只加載源文件。 具體而言,我在動態加載代碼的目標是能夠覆蓋以前定義的函數。也就是說foo庫1將得到由不同foo圖書館2