sicp

    1熱度

    1回答

    當您在MIT方案中遇到錯誤時,它不會告訴您發生錯誤的位置。例如,它只是打印這樣的東西: ;Unbound variable: top-left ;To continue, call RESTART with an option number: ; (RESTART 3) => Specify a value to use instead of top-left. ; (RESTART 2)

    2熱度

    1回答

    我正試圖在計劃中創建一般的記憶過程。這是我迄今(它幾乎是完全一樣的,在SICP本書鍛鍊; Tibial 3.27): (define (memo proc) (let ((table (make-table))) (lambda (args) (let ((prev (lookup args table))) (or prev (let (

    3熱度

    2回答

    我實現了一個基本方案(想想SICP)。現在,我想添加一個基本的導入/庫功能,但遇到麻煩想辦法做到這一點。我考慮了迄今爲止兩種方法都遭受同樣的障礙。 在舊的SICP(第一版)書中有一個製作環境/包裝章節,其中也討論了here。這會返回一個新的環境。 我想打電話給像 (import lib) ,其中lib要麼提供一個環境或程序名稱和程序的列表。我的問題是如何以編程方式擴展當前環境,並使用庫提供的過

    0熱度

    1回答

    我想實現一個方法,該方法能夠使用地圖對可以包含子列表(樹)的列表進行平方。 這意味着(square-tree-map (list 1 3 (list 3 4)))應返回(1 9 (9 16))。 我想出了這個代碼: (define (square-tree-map tree) (define (sq x) (* x x)) (map (lambda (t) (if

    1熱度

    1回答

    我是自學的SICP,很難找到遞歸函數的增長順序。 以下程序列表 - >樹的有序列表轉換爲平衡查找樹: (define (list->tree elements) (car (partial-tree elements (length elements)))) (define (partial-tree elts n) (if (= n 0) (cons '()

    0熱度

    2回答

    我正在通過SICP進行工作,對於其中一項練習,我需要在列表中創建3個較大號碼中的2個列表。我試圖用sort功能,但是當我用它在函數中,我發現了一個錯誤: The object z, passed as the first argument to integer-less?, is not the correct type. 功能是: (define (myList x y z) (d

    0熱度

    3回答

    我最近開始閱讀SICP並在本書中做了摘錄。我在命令行安裝了兩個mit-scheme,並且在修改了一下之後,我偶然發現DrRacket並安裝了http://www.neilvandyke.org/racket-sicp/的SICP組件 一切都運行正常,寫在書: (define (A x y) (cond ((= y 0) 0) ((= x 0) (* 2 y)) (

    2熱度

    1回答

    據我瞭解,著名SICP演講視頻: http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-001-structure-and-interpretation-of-computer-programs-spring-2005/video-lectures/ 是一個補充材料,以著名的SICP書。 然而,有幾個原因,

    0熱度

    1回答

    在258書頁,作者實現make-serializer這樣的: (define (make-serializer) (let ((mutex (make-mutex))) (lambda (p) (define (serialized-p . args) (mutex 'acquire) (let ((val (apply p args)))

    -2熱度

    1回答

    def function() num = 1 num += 1 return num num是綁定變量還是自由變量? P.S.這段代碼是用python編寫的。在此之前沒有前代碼。