类型'vector',simple-vector,'array和'simple-array之间有什么区别?我知道向量是数组的子类型,不能是多维的."简单"版本似乎是类型,其余类别.因此,类型可能更复杂,以指定类型.
我应该使用哪种类型说明符?指定向量的最佳方法是什么?
我不确定,如果一些奇怪的事情让我的代码更快:
使用内置操作或编写新的专用函数来做同样的事情通常会更好吗?(例如#'map仅用于向量的版本;我的版本通常在没有类型声明的情况下更快)
我应该定义新的(复杂的)类型以在声明中使用它们吗?(例如键入列表)
我应该直接为对象定义插槽吗?(例如px,py对于一个二维对象,或者可以使用一个pos向量类型的插槽,我可以将它重用于其他目的)
Set-macro-character有一个可选参数,称为non-terminating-p。似乎是用来指示在读取宏字符后是否应该读取另一个字符,但读取器算法似乎忽略了这个参数。我将其设置为 true 或 false 有区别吗?
我写了一些可以取代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)
有没有办法将此功能用作默认阅读器?