sicp

    1熱度

    2回答

    我很難理解Scheme中的符號。下面讓我困惑: 1 ]=> (symbol? 'x) ; Value: #t 1 ]=> (symbol? '('x)) ; Value: #f 我想我明白了爲什麼第一個是一個符號,但後來爲什麼不'('x))?有人可以解釋爲什麼嗎? 爲了什麼是值得的,我正在運行MIT/GNU計劃。

    11熱度

    2回答

    我一直在Structure and Interpretation of Computer Programs中完成並完成Haskell中的練習。前兩章沒有問題(代碼爲github),但第3章讓我更加難以思考。 它首先討論管理狀態,以銀行賬戶爲例。他們通過 (define (make-withdraw balance) (lambda (amount) (if (>= balan

    2熱度

    4回答

    這是來自SICP視頻講座,講座2a圍繞39:51標記。 (DEFINE (SQRT X) (FIXED-POINT (AVERAGE-DAMP (LAMBDA Y (/ X Y))) 1)) (DEFINE AVERAGE-DAMP (LAMBDA f (LAMBDA x (AVERAGE (f x) x)))) 是什麼在第二拉姆達的

    0熱度

    1回答

    我正在尋找繪製如圖http://mitpress.mit.edu/sicp/full-text/book/ch3-Z-G-35.gif, http://mitpress.mit.edu/sicp/full-text/book/ch3-Z-G-49.gif,http://mitpress.mit.edu/sicp/full-text/book/ch3-Z-G-51.gif的方式,在SICP中以sig

    4熱度

    1回答

    任何人都可以給我一個underscore.js _.memoize()的例子嗎? 最好使用hashFunction,甚至更優選使用coffeescript? 這裏是一個可愛的改變計數功能從SICP在CoffeeScript中略加修改: countChange = (amount)-> cc = (amount, kindsOfCoins)-> firstDenominati

    2熱度

    3回答

    我想在Scala中使用它的模式匹配來做一個象徵性的區分函數,就像在SICP中做的那樣。我想能夠寫這樣的事情: differentiate(exp) = exp match { case + => case * => } 這是可能在斯卡拉'本機'表達式?

    7熱度

    1回答

    我現在正在閱讀SICP,並且沒有真正理解5.5.6中SICP的詞彙尋址中描述的詞彙尋址的必要性。 既然說 「因爲我們的語言是詞法​​範圍的,任何表達的運行時環境將有相似之處,其中出現的表達程序的詞法結構的結構」,我覺得它的成本相同的搜索運行時環境中的一個變量,用於在編譯環境中進行搜索。 爲什麼我們打擾實現一個編譯環境? 我認爲編譯環境將具有與程序的詞法結構相同的結構,並且這與運行時環境相同,不是嗎

    2熱度

    3回答

    提示是定義一個返回三個數字中兩個最大值的平方和的過程。 我知道這不完全是一個完美的解決方案,但是這是我砍死在一起: (define (largest-of-two-sum-of-squares x y z) (cond ((and (< x y) (< x z)) (sum-of-squares y z)) ((and (< y z) (< y x)) (sum-of-

    3熱度

    2回答

    我試圖根據Harold Abelson和Gerald Jay Sussman着名的書籍「結構和計算機程序的解釋」在計劃中實現Metacircular Evaluator。 http://mitpress.mit.edu/sicp/full-text/sicp/book/node79.html,http://mitpress.mit.edu/sicp/full-text/sicp/book/node

    1熱度

    1回答

    在通過SICP與Steel Bank Common Lisp一起工作的過程中,我獲得了合理的成功,但是我已經遇到了「圖片語言」示例的障礙。以下似乎沒有寫入PPM文件,而我寫的其他旋轉和翻轉操作。我懷疑LAMBDA在標籤內部調用時不會返回一個函數? 我已經M-x check-parens,沒有什麼是孤兒或看似不符合那裏。 (defun below (painter1 painter2) "