小编cl-*_*y11的帖子

Common Lisp中数组/向量类型的区别?

类型'vector',simple-vector,'array和'simple-array之间有什么区别?我知道向量是数组的子类型,不能是多维的."简单"版本似乎是类型,其余类别.因此,类型可能更复杂,以指定类型.

我应该使用哪种类型说明符?指定向量的最佳方法是什么?

arrays types vector common-lisp

3
推荐指数
2
解决办法
1083
查看次数

编写快速的 Common Lisp 代码

我不确定,如果一些奇怪的事情让我的代码更快:

使用内置操作或编写新的专用函数来做同样的事情通常会更好吗?(例如#'map仅用于向量的版本;我的版本通常在没有类型声明的情况下更快)

我应该定义新的(复杂的)类型以在声明中使用它们吗?(例如键入列表)

我应该直接为对象定义插槽吗?(例如pxpy对于一个二维对象,或者可以使用一个pos向量类型的插槽,我可以将它重用于其他目的)

common-lisp

2
推荐指数
1
解决办法
712
查看次数

set-macro-character 的非终止 p 参数有什么作用?

Set-macro-character有一个可选参数,称为non-terminating-p。似乎是用来指示在读取宏字符后是否应该读取另一个字符,但读取器算法似乎忽略了这个参数。我将其设置为 true 或 false 有区别吗?

macros common-lisp

2
推荐指数
1
解决办法
175
查看次数

在常见的lisp中更改默认阅读器

我写了一些可以取代read普通lisp 功能的函数

(defun my-read (stream &rest args)
  (declare (ignore args))
  (funcall (my-get-macro-character (read-char stream))))
Run Code Online (Sandbox Code Playgroud)

有没有办法将此功能用作默认阅读器?

common-lisp stream reader-macro reader

2
推荐指数
1
解决办法
237
查看次数

标签 统计

common-lisp ×4

arrays ×1

macros ×1

reader ×1

reader-macro ×1

stream ×1

types ×1

vector ×1