是否可以在iOS中调用Common Lisp
函数?
如果是这样,是否可以在动态库中创建它?
答案 0 :(得分:8)
这取决于你通过调用CL函数的意思,但很可能ECL将是你的最短路径。从这里开始,因为有一个ECL补丁可以更好地适应iOS:http://funcall.posterous.com/tag/iphone
ECL生成C代码,因此您应该安全地使用Apple的转换政策。
答案 1 :(得分:4)
答案 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