小编JPa*_*est的帖子

将.NET连接到Common Lisp

我有一个相当复杂的LispWorks Common Lisp模块,它通过RDNZL位于某些.NET模块之上.

我需要向其他一些.NET应用程序公开它的一些功能,而且我不确定最好(最短)的方法来解决这个问题,而无需在C#中重写模块.我知道有一些CLR Lisp实现,但大多数似乎没有维护或不完整,并且有许多事情不能轻易地在Scheme中重写.

是否存在暴露与RDNZL相反的设施(.NET - > Common Lisp)?我可以使用RDNZL来提供接受.NET对象的DLL吗?


我正在编辑这个包含一些选项,大多数对Lisp感兴趣的选项可能会知道它们是否在Windows上,以及为什么它们不能完全满足上述要求(或者如何,就像你的用户一样,我没有充分传达我的要求:).

  • IronScheme - 漂亮,快速,维护和快速,但它不是Common Lisp
  • ClojureCLR - 不是常见的Lisp; Beta,启动需要大约4秒(对于长时间运行的应用程序是可接受的,而不是需要新实例化然后几十个调用的东西)
  • LSharp - 不是Common Lisp,没有维护
  • RDNZL - 允许使用.NET代码注册CL回调委托,但是你必须从CL开始,没有相对简单的方法(我已经能够弄清楚到目前为止)将.NET对象传递给"C DLL"由您选择的Common Lisp实现创建.
  • Yarr - 建立在LSharp之上(包括defmacro和其他一些需要).看起来没有维护一段时间,但可能是目前最好的选择.

.net lisp common-lisp

8
推荐指数
1
解决办法
682
查看次数

标签 统计

.net ×1

common-lisp ×1

lisp ×1