iPhone / iOS上常见的LISP

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

如果是这样,是否有可能在dynamic库中创build它?

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

ECL生成C代码,所以你应该在苹果公司正在转移的政策的安全领域。

Clozure Common Lisp(CCL)运行在ARM的Linux上,加里·拜尔斯(Gary Byers)很早以前就制作了一个实验性的iPhone版本,但它只能运行在一个监狱破碎的iP​​hone上。 问题在于CCL编译器编写可执行代码,但是iOS开箱即用不允许将可写页面设置为可执行文件,因此您无法运行该代码。

我们已经讨论过将iOS应用程序附带的代码放在只读代码段中,并添加一个字节码编译器,以便在运行时创build的代码能够被快速解释,但没有人提供为这个项目提供资金,所以还没有完成。

您可能会认为我们只能解释在运行时创build的代码,但是当前的CCL“解释器”在执行之前编译非重要的代码。

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

你尝试过MOCL吗?

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

也许你可以创build一个dynamic库,尽pipe它被devise用于其他方式。

你可以使用Gambit Scheme或者Clozure Common Lisp,它们都可以与Cocoa交互,第一个是因为它产生C,第二个是因为有一个从Clozure到Cocoa的桥梁。 做一个谷歌search关于它,你会发现一些事情。

还有Mobile Common Lisp 1