cost 174 ms
重新綁定詞法變量的子集

[英]Rebinding a Subset of Lexical Variables

給定一組詞法變量,是否可以根據運行時的情況重新綁定其中的一個子集。 我的第一個想法是使用#'set類似的東西: 但這僅適用於特殊變量(並且已折舊)。 我提出了一個可行的解決方案(通過構建setf表達式),但我不願意展示它,因為它是如此復雜和低效。 有直接的解決方案嗎? (ps:我明白這個問題是反常 ...

Common lisp:在單獨的線程中調用 class 方法

[英]Common lisp: calling a class method in a separate thread

我正在嘗試為個人項目(也學習 lisp)構建 Golang 通道構造的通用 lisp 實現。 到目前為止,我已經將通道實現為 class 的對象,其中包含一個隊列、一個鎖和一個條件變量,用於向監聽函數發出新消息已添加到隊列的信號。 我正在使用波爾多線程來創建線程、鎖、條件變量並加入執行(來自lisp ...

在 let 綁定列表中獲取值(Common 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列表。 但 ...

用不同的表達式系統地調用 Common Lisp 宏

[英]Invoking Common Lisp macros systematically with varying expressions

我正在學習 Common Lisp (SBCL)。 我想創建一個工具來調用兩個(或更多)具有幾個僅在某些參數上不同的相似表達式的宏。 我想定義表達式的基礎,然后用我提供的參數修改它。 為此,我想到了 lambda function 的定義。 據我所知,沒有與宏的funcall類似的東西,所以我也將宏 ...

lisp中破壞性函數的單元測試

[英]Unit testing of destructive functions in lisp

這里的背景是我有一個 function 的非破壞性版本,出於性能原因我想使其具有破壞性。 然而,編寫單元測試變得具有挑戰性,因為 lisp 將源代碼中的所有引用列表視為常量,更改這些會導致未定義的行為。 我使用降落傘作為單元測試框架例如, 這有點失敗,因為我們最終將8推入常量列表(1 2)最終導致( ...

如何使用 Common Lisp 創建一個簡單的圖形?

[英]How to create a simple graphic using Common Lisp?

我想從數字列表中創建一個圖形,一些點和線,可能帶有顏色。 什么是最簡單有效的解決方案? 我想有可能使用 imago 庫,但直到現在我嘗試使用來自https://quickdocs.org/imago的簡單示例時,我都不太成功,例如:;; Create 400x100 px red RGB imag ...

使用 Emacs 和 SLIME 抑制 SBCL 中的調試器?

[英]Suppressing the Debugger in SBCL with Emacs and SLIME?

將以下代碼放入~/.sbclrc允許我在從命令行使用SBCL REPL 時接收簡化的錯誤消息,而無需深入調試器(我覺得這有點煩人)。 當從Emacs和SLIME運行 SBCL REPL 時,這是我通常與之交互的方式,每當我遇到錯誤時,REPL 都會堅持進入調試器。 在 Emacs 和 SLIME ...

如何將變量傳遞給函數 lambda 表達式

[英]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 )。 因為它們是在之前的表單評估中設置的,所以我無法獲取它們,除非在評估表單 ...

有沒有辦法將解構綁定與 &rest 一起使用?

[英]Is there a way to use destructuring bind with &rest?

我有一個使用&rest的 function,它將不同數量的參數列表返回給 function。 我用destructuring bind (db) 打開中斷列表。 但是,當變量數量已知時,db 很有用。 什么是最好的方法來分解一個&rest列表,其中值的數量大部分時間都在變化? ...

如何在宏(普通 lisp)中將 LOOP 轉換為 DO?

[英]How to translate a LOOP into a DO inside a macro (common lisp)?

我目前正在閱讀 Seibel 的“Practical common lisp”並找到了這個示例宏: 做一些簡單的事情,然后以某種方式格式化兩個參數,允許“測試”表單的真實性,但這對我的問題並不重要。 我感興趣的是將循環轉換為 DO,不幸的是,我完全缺乏這樣做的必要技能: 這完成了工作,我也可以這樣 ...

Common Lisp 中的非矩形 arrays? (用於教學目的的一般問題。)

[英]Not-rectangular arrays in Common Lisp? (General question for didactical purposes.)

只是為了完整起見,我想知道是否有一種方法可以在 Common Lisp 中定義“鋸齒狀”或“參差不齊的數組”,就像在 Java 中描述的那樣,例如: https://www.geeksforgeeks.org/jagged -array-in-java/ 伴隨這個問題而來的是第二個問題,這樣定義多 ...

標准偏差 function 在 Lisp-Stat 中返回錯誤

[英]standard-deviation function returns error in Lisp-Stat

我是 Lisp-Stat 的新手,我開始學習https://lisp-stat.dev/docs/tutorials/basics上的教程,但是當我輸入(standard-deviation purchases) (購買定義為教程中的整數列表),我收到錯誤: #<STANDARD-GENER ...

Common Lisp 等同於 Python 的 itertools.starmap?

[英]Common Lisp equivalent of Python's itertools.starmap?

Python 的 Itertools 有所謂的starmap 。 給定一個集合 collections 和一個 function,它將 function 嚴格應用於集合內部的每個集合,使用所述內部集合的元素作為 arguments 到 function。例如, 返回包含 3、7、11、0、2 和 ...


 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM