通用lisp

时间:2015-11-16 04:02:49

标签: macros common-lisp inline-assembly

我有兴趣了解程序员在纯Common Lisp中的低级别(或者,在实现特定的扩展中失败)。谷歌还没有找到关于此的更多信息,所以我想听听专家们的意见。 This post提到了SBCL的一个特征,用于定义作者所称的虚拟运算符",但是搜索"常见的lisp虚拟运算符"收益不大。作者还提到了查找文档的难度。对于其他实现是否存在类似的系统,标准中是否存在任何基础(虽然考虑到这样的特性主要用于编写特定于ISA的代码,但是对于用户的优先级而言,可移植性并不是很高。 it),哪里可以找到这样的功能的文档?

很高兴找到一种方法来扩展可编程编程语言"低级代码的概念(特别是对于效率非常重要的区域,其他用C或汇编编写的库可能不可用)。

1 个答案:

答案 0 :(得分:2)

这是特定于实现的,根本不可移植。

是的,SBCL使用VOP,但其他实现具有完全不同的编译目标。

如果你打算以一种可移植的方式进入低级别,你有两个途径:

  • 使用声明,内联,手动展开等进行优化,使用disassemble

  • 检查进度
  • 在外部实施静态blob,然后将其与FFI

  • 连接