Embedded 嵌入式平台上的Lisp

Embedded 嵌入式平台上的Lisp,embedded,lisp,real-time,Embedded,Lisp,Real Time,是否有适合实时嵌入式应用程序的开源Lisp编译器?即,具有增量垃圾收集、可定制内存处理、占用空间小等功能 编辑: 为了澄清,我所说的“编译器”是指本机代码,而不是字节码解释器(尽管建议的微控制器解释实现比我认为可能的要小得多,这很有趣!)。有一些编译为C代码的实现,例如ECL(嵌入式通用Lisp)。还有一个最近的编译,将一个公共LISP子集编译成一个C++的子集,用于ARDUION.< 您如此漫不经心地提到了“实时”,但垃圾收集的实时性并非微不足道。确实存在实时垃圾收集器,但我还不知道有任何Li

是否有适合实时嵌入式应用程序的开源Lisp编译器?即,具有增量垃圾收集、可定制内存处理、占用空间小等功能

编辑:


为了澄清,我所说的“编译器”是指本机代码,而不是字节码解释器(尽管建议的微控制器解释实现比我认为可能的要小得多,这很有趣!)。

有一些编译为C代码的实现,例如ECL(嵌入式通用Lisp)。还有一个最近的编译,将一个公共LISP子集编译成一个C++的子集,用于ARDUION.<
您如此漫不经心地提到了“实时”,但垃圾收集的实时性并非微不足道。确实存在实时垃圾收集器,但我还不知道有任何Lisp实现使用它们。

看看和,这是一种微控制器方案。也有,但我不知道它是如何适合嵌入到较小的处理器

还有来自Oliotalo,根据LGPLv2.1获得许可,标准库根据BSD获得许可。

我所说的“实时”并不是指对时间如此敏感以至于需要并发无锁垃圾收集,而是指配置允许增量垃圾回收器执行的频率和时间的可能性,或者,在我知道代码无论如何都会等待的情况下,最好能够手动调用它。简言之,这是比在未指定的时间内随机停止程序更可预测的事情。:)我已经成功地在一个非常小的平台(64kb的组合代码和数据空间)上,在每个PLC周期结束时运行了stop the world垃圾收集器。在任何实时系统中,都有一个控制/处理周期的概念,您可以在每个周期运行采集器-无论是完整采集还是增量采集。我做了一件疯狂、不实用但有趣的事情:让我们在微控制器上运行Lisp: