![](/img/trans.png)
[英]Rebinding a Subset of Lexical Variables
給定一組詞法變量,是否可以根據運行時的情況重新綁定其中的一個子集。 我的第一個想法是使用#'set類似的東西: 但這僅適用於特殊變量(並且已折舊)。 我提出了一個可行的解決方案(通過構建setf表達式),但我不願意展示它,因為它是如此復雜和低效。 有直接的解決方案嗎? (ps:我明白這個問題是反常 ...
[英]Rebinding a Subset of Lexical Variables
給定一組詞法變量,是否可以根據運行時的情況重新綁定其中的一個子集。 我的第一個想法是使用#'set類似的東西: 但這僅適用於特殊變量(並且已折舊)。 我提出了一個可行的解決方案(通過構建setf表達式),但我不願意展示它,因為它是如此復雜和低效。 有直接的解決方案嗎? (ps:我明白這個問題是反常 ...
[英]Common lisp: calling a class method in a separate thread
我正在嘗試為個人項目(也學習 lisp)構建 Golang 通道構造的通用 lisp 實現。 到目前為止,我已經將通道實現為 class 的對象,其中包含一個隊列、一個鎖和一個條件變量,用於向監聽函數發出新消息已添加到隊列的信號。 我正在使用波爾多線程來創建線程、鎖、條件變量並加入執行(來自lisp ...
[英]Getting value in a let-binded list (Common Lisp)
在下面的情況下,我想為a和(car b)獲得相同的結果,例如(10 10) 。 但是只有符號A顯示為(car b)的結果。 我們可以用類似的(something (car b))代碼得到10嗎? 我也試過下面的但無法得到答案。 我的動機是像下面這樣用let制作symbols和params列表。 但 ...
[英]Invoking Common Lisp macros systematically with varying expressions
我正在學習 Common Lisp (SBCL)。 我想創建一個工具來調用兩個(或更多)具有幾個僅在某些參數上不同的相似表達式的宏。 我想定義表達式的基礎,然后用我提供的參數修改它。 為此,我想到了 lambda function 的定義。 據我所知,沒有與宏的funcall類似的東西,所以我也將宏 ...
[英]When is it appropriate to use keyword parameters vs optional?
除了外觀上的差異外, key和optional這些之間的區別是什么: (defun play (&key now) ...) (defun play (&optional now) ...) 據我了解,在這兩種情況下: 他們是可選的既不返回列表到 functio ...
[英]Unit testing of destructive functions in lisp
這里的背景是我有一個 function 的非破壞性版本,出於性能原因我想使其具有破壞性。 然而,編寫單元測試變得具有挑戰性,因為 lisp 將源代碼中的所有引用列表視為常量,更改這些會導致未定義的行為。 我使用降落傘作為單元測試框架例如, 這有點失敗,因為我們最終將8推入常量列表(1 2)最終導致( ...
[英]How to remove a package from defpackage?
我這樣定義了一個 package:(defpackage :web-app (:nicknames :wa) (:use :cl :hunchentoot)) 這很好用。 但我想刪除 hunchentoot。 當我刪除它並重新編譯時,出現以下錯誤: 在這些情況下,如何從我的 lisp 圖 ...
[英]How to create a simple graphic using Common Lisp?
我想從數字列表中創建一個圖形,一些點和線,可能帶有顏色。 什么是最簡單有效的解決方案? 我想有可能使用 imago 庫,但直到現在我嘗試使用來自https://quickdocs.org/imago的簡單示例時,我都不太成功,例如:;; Create 400x100 px red RGB imag ...
[英]Suppressing the Debugger in SBCL with Emacs and SLIME?
將以下代碼放入~/.sbclrc允許我在從命令行使用SBCL REPL 時接收簡化的錯誤消息,而無需深入調試器(我覺得這有點煩人)。 當從Emacs和SLIME運行 SBCL REPL 時,這是我通常與之交互的方式,每當我遇到錯誤時,REPL 都會堅持進入調試器。 在 Emacs 和 SLIME ...
[英]How to pass a variable to function-lambda-expression
假設您想獲取 package 中每個 function 的 lambda 列表。在 SBCL 上,使用iterate可以做到這一點(use-package :iterate) (defun lambda-lists (package) (iter (for symbol in-package ...
[英]How to determine the calling environment?
我試圖隱藏 CL package 中的數學運算符。除了* 、 /和+ ,這工作正常。 然而,這些符號的符號值由實現設置為我在 REPL 中經常使用的值(function 在 SBCL 中是interactive-eval )。 因為它們是在之前的表單評估中設置的,所以我無法獲取它們,除非在評估表單 ...
[英]Is there a way to use destructuring bind with &rest?
我有一個使用&rest的 function,它將不同數量的參數列表返回給 function。 我用destructuring bind (db) 打開中斷列表。 但是,當變量數量已知時,db 很有用。 什么是最好的方法來分解一個&rest列表,其中值的數量大部分時間都在變化? ...
[英]How to translate a LOOP into a DO inside a macro (common lisp)?
我目前正在閱讀 Seibel 的“Practical common lisp”並找到了這個示例宏: 做一些簡單的事情,然后以某種方式格式化兩個參數,允許“測試”表單的真實性,但這對我的問題並不重要。 我感興趣的是將循環轉換為 DO,不幸的是,我完全缺乏這樣做的必要技能: 這完成了工作,我也可以這樣 ...
[英]How to require .el file when working with common lisp?
用於 emacs (v 26.3) 的附加庫mylibrary.el已添加到加載路徑並自動加載到我的init.el 文件中。 該庫也列在 emacs ( Mx list-packages ) 中我安裝的包下,並通過 mylibrary.el 中的(provide 'mylibrary) 提供。 該 ...
[英]How do I catch the count in this recursive loop?
我有一個遞歸的 function 來計算文件中出現的次數。 我喜歡做的一項常見任務是報告 function 的結果, format如下: (defun csv-counter (list) (let ((counter 0) (email (first list))) (if ...
[英]Not-rectangular arrays in Common Lisp? (General question for didactical purposes.)
只是為了完整起見,我想知道是否有一種方法可以在 Common Lisp 中定義“鋸齒狀”或“參差不齊的數組”,就像在 Java 中描述的那樣,例如: https://www.geeksforgeeks.org/jagged -array-in-java/ 伴隨這個問題而來的是第二個問題,這樣定義多 ...
[英]Circularity detected when running (vega:load-vega-examples)
當我使用加載 vega-lite 數據集時(vega:load-vega-examples) 我收到以下錯誤: Could not REQUIRE CL-DATE-TIME-PARSER: circularity detected. Please check your configuration ...
[英]standard-deviation function returns error in Lisp-Stat
我是 Lisp-Stat 的新手,我開始學習https://lisp-stat.dev/docs/tutorials/basics上的教程,但是當我輸入(standard-deviation purchases) (購買定義為教程中的整數列表),我收到錯誤: #<STANDARD-GENER ...
[英]One function refuses to export, while other functions export?
昨天,我問了一個關於使用 common lisp 創建庫的問題。 我的圖書館:;in my-lib.asd (asdf:defsystem :my-lib :depends-on (:cl-json :clsql :clsql-sqlite3) :components ((:file "p ...
[英]Common Lisp equivalent of Python's itertools.starmap?
Python 的 Itertools 有所謂的starmap 。 給定一個集合 collections 和一個 function,它將 function 嚴格應用於集合內部的每個集合,使用所述內部集合的元素作為 arguments 到 function。例如, 返回包含 3、7、11、0、2 和 ...