sicp

    0熱度

    1回答

    (define (make-frame var val) (cons var val)) (define (frame-variables frame) (car frame)) (define (frame-values frame) (cdr frame)) (define (add-binding-to-frame! var val frame) (set-car!

    0熱度

    1回答

    我正在閱讀SICP中的第2.2節,其中本書介紹了追加兩個列表的過程。我正在嘗試使用迭代實現附加。 這是我的代碼: (define (append list1 list2) (define (append-iter item1 reversed-item1 result) (if (null? item1) (if (null? reversed-item1)

    0熱度

    1回答

    在SICP練習1.37中 Section 1.3.3 in SICP向下滾動到部分末尾(在1.3.4之前)以找到練習[本節中的第3練習]。 根據問題,我定義CONT壓裂作爲 (define (cont-frac n d k) (if (= k 0) 0 (/ n (+ d (cont-frac n d (- k 1)))) ) ) Link to so

    1熱度

    1回答

    我試圖將SICP的meta-circular evaluator轉換爲Clojure。在setup-environment對extend-environment的調用不會編譯,因爲我收到錯誤「試圖調用未綁定的fn」。下面是部分代碼: (... loads of methods for creating and managing environment list) (def primitive-

    2熱度

    2回答

    我鍛鍊2.32呈現如下代碼:當我嘗試調用rest過程中MIT方案9.2它不能識別的程序(也有類似的問題與nil書中 (define (subsets s) (if (null? s) (list nil) (let ((rest (subsets (cdr s)))) (append rest (map <??> rest))))) ,在現代化方案

    0熱度

    1回答

    我一直在試圖解決SICP中的this問題。 鏈接也有一個解決方案。 Link to the problem's underlying concept in SICP 這是問題描述。 貪得無厭的企業,公司,是一個高度分散集團 公司由大量位於 世界各地的獨立師的。該公司的計算機設施通過一個巧妙的網絡接口方案相互連接,即 使整個網絡對任何用戶都顯示爲單個計算機。 不滿意的總裁在她第一次嘗試利用網絡從分部

    0熱度

    1回答

    我想閱讀SICP,但我不想完全學習Scheme。我對Java,C#和Python都非常瞭解,所以能夠快速獲取Scheme,同時還能從書中獲得全部價值嗎?

    2熱度

    2回答

    這起始於對SICP中2.29練習的誤解,併成爲個人的好奇心。看起來很簡單,我覺得很尷尬,我很難找到適用於所有情況的解決方案。很明顯,我知道如何計算樹上的節點以及如何枚舉每個節點中的值到一個列表中,但這兩種算法都不能幫助我篩選每個節點中的相同索引。 給定任意二叉樹,表示爲嵌套列表,其中每個節點包含一個或兩個整數,應該有一個函數返回每個節點中第一個值的列表,並返回每個節點中第二個值的列表請記住,並非所

    0熱度

    2回答

    我正在學習翻譯很長時間,在閱讀SICP chap 4.1〜4.2之後,我試着將這些代碼複製到planet neil/sicp模式下的DrRacket中。我仔細閱讀了這些代碼,但仍然無法使代碼正確運行。我的副本中 ,我做了一些改變: eval功能已重命名爲ewal(因爲我想,以避免潛在的方案評估我的代碼) apply功能已重命名爲epply(除了apply-in-underlying-scheme函

    0熱度

    1回答

    在部分的SICP 5.5.7它說 External-entry假定機器開始用含有指令序列的這使結果成val和位置val以(goto (reg continue))結尾。 在部分後來它說 爲了改造由編譯器產生的成用於評估器寄存器的機器可執行指令的目標碼,我們使用該過程assemble從寄存器機模擬器(第5.2.2節)。然後,我們初始化val寄存器以指向指令列表,設置flag,以便評估程序將轉至ext