lisp

    1熱度

    4回答

    在許多Lisp實現,推是一個宏觀的這個樣子的: (push new list) ;; equal to (setf list (cons new list)) 但SETF不能修改參數,如: (defun add-item (new list) (push new list)) 不起作用,因爲函數的參數不是原始符號。 爲什麼不推的工作是這樣的: (defun my-push (

    2熱度

    1回答

    在clojure中,您可以使用#_來註釋掉下一個表單。例如 #_(foo 2 3 4) #_foo #_{:a '(1 2 3) :b [1 2 3]} 將註釋掉上面的列表,符號和地圖。和Emacs一樣,我期望,並希望表單能夠獲得註釋的語法突出顯示。 在vim中,註釋表單沒有默認的語法高亮顯示。我也沒有找到任何這樣做的插件。有沒有人試圖配置這個?感謝任何幫助。

    2熱度

    1回答

    我實現純C Lisp語言解釋器時遇到了問題由C過渡到Lisp語言來引導一個Lisp解釋。 繼彼得·諾維格在步驟他blog post,我有一個REPL迄今解析Lisp的表達式成Lisp的數據結構和串行化所得到的數據結構回如下所示被印刷在Lisp表達式: 我也有保羅Grahm實現七元described,並理解其中的自循環直譯器。我的煩惱寫在C代碼(不口齒不清!)一旦它已經被解析(下稱「EVAL」),上

    -1熱度

    1回答

    我對LISP很陌生,我試圖在類的cond語句上工作。目前,我試圖檢查傳遞的值是否是列表,如果是,請將字母d附加到列表中。 這裏是我的代碼: (defun test(L) (listp L) (cond ((listp L) (append L (list 'd))) ) (write L) ) (test (list 'a 'b 'c)) 我得到的輸出是: (A B C) (A

    1熱度

    1回答

    我目前通過的Lisp的例子土地工作,並已經運行到一個編譯例外:包EXT不會從該行存在 我懷疑: (ext:shell (concatenate 'string "dot -Tpng -O" fname)) 我裏面運行我的REPL emacs與粘液,我不確定如何補救這一點後,一些谷歌搜索錯誤。 任何幫助將不勝感激。

    0熱度

    1回答

    我試圖運行從以下鏈接庫: https://github.com/JafferWilson/test-program 我收到此錯誤: sbcl --script paraphrasing.lisp Unhandled SB-KERNEL:SIMPLE-PACKAGE-ERROR in thread #<SB-THREAD:THREAD "main thread"

    2熱度

    1回答

    我對Common Lisp非常陌生,我正試圖學習如何使用網絡套接字進行編程。在通用lisp usocket api中,它指定功能socket-send和socket-receive採用simple-array (unsigned-byte 8)緩衝區。 我太新來聆聽了解如何在sbcl common lisp中實現這一點。看起來我可以使用功能vector和make-array而不是simple-ar

    1熱度

    1回答

    我試圖解決的問題是在非有向圖中找到最少數量的子樹,其中每個節點都在子樹中。 我的算法如下: make a hash as follows key= each node, value= all nodes directly accessible from the key node if a node has no edges it still has a key/val

    -1熱度

    1回答

    我正在使用hunchentoot會話值讓我的服務器代碼重入。問題在於,根據定義,會話值是在會話期間保留的,即從一次調用從同一個瀏覽器到另一次,而我真正在尋找的是線程特定的重入次數,以便所有值在調用之間消失 - 我想將每次點擊視爲單獨的「從頭開始」事件,即使它們來自同一個會話。很容易讓驅動程序設置爲零,或刪除我的會話值,但我想知道是否有一個「正確」的方式來做到這一點?我沒有看到任何基於線程的模擬hu

    0熱度

    3回答

    我需要編寫一個帶有符號和列表的Common Lisp宏。該列表由兩個元素的列表組成:一個符號和一個字符串,像這樣: ((X "foo") (Y "bar") (Z "qwerty")) 宏作品遞歸,它搜索符號列表,如果發現symbol回報T,否則返回NIL 。我寫這個代碼: (defmacro already-exist (symbol my-list) (cond ((null (