iPhone / iOS上常见的LISP

时间:2010-10-30 19:40:07

标签: iphone ios ios4 lisp common-lisp

是否可以在iOS中调用Common Lisp函数?

如果是这样,是否可以在动态库中创建它?

6 个答案:

答案 0 :(得分:8)

这取决于你通过调用CL函数的意思,但很可能ECL将是你的最短路径。从这里开始,因为有一个ECL补丁可以更好地适应iOS:http://funcall.posterous.com/tag/iphone

ECL生成C代码,因此您应该安全地使用Apple的转换政策。

答案 1 :(得分:4)

您是否尝试过MOCL

根据网站“mocl是一个高度优化的CL实现,通过LLVM / Clang提供紧密的本机代码”。

也许你可以创建一个动态库,虽然它是为反过来使用而设计的。

答案 2 :(得分:3)

Clozure Common Lisp(CCL)在Linux上运行在Linux上,而Gary Byers很久以前就制作了一个实验性的iPhone版本,但它只能运行在一个破牢的iPhone上。问题是CCL编译器编写可执行代码,但iOS开箱即用不允许可写页面可执行,因此您无法运行该代码。

我们已经讨论过将iOS应用程序附带的代码放在只读代码部分,并添加字节码编译器,以便在运行时创建的代码可以很快地解释,但是没有人愿意为这个项目提供资金,所以还没有完成。

您可能认为我们可以解释在运行时创建的代码,但是当前的CCL“解释器”在执行它之前会编译非平凡的代码。

MOCL可能是您编写其他应用程序可调用代码的最佳选择,但这只是猜测,因为我没有使用它。

答案 3 :(得分:1)

你可以使用Gambit Scheme或Clozure Common Lisp,两者都可以与Cocoa接口,第一个因为它生成C而后者因为有一个从Clozure到Cocoa的桥梁。做谷歌搜索,你会发现一些事情。

答案 4 :(得分:0)

还有Mobile Common Lisp 1

答案 5 :(得分:0)

您可能需要关注这个(新的)项目。它将于2019年10月公开发布:EQL5 iOS EQL5 iOS libs