我有很多用Erlang编写的代码,我希望将其包含在用Objective-C编写的应用程序中,例如在iPad上。理想情况下,我希望有一个封装Erlang运行时的对象;然后可以像标准的Erlang shell一样访问它,类似于:
ErlangRT *runtime = [[ErlangRT alloc] init];
ErlangValue *retval = [runtime execute:@"io:format(\"hello world~n\")"];
我不太关心表演等;我可以看到它是如何工作的,但由于我不太了解Erlang VM的实现方式,我不知道它是多么简单或困难,或者是否有人已经做过类似的事情。我知道Objective-C和Erlang之间还有其他接口方式,但它们似乎假设在目标机器上独立安装了Erlang系统。我希望它就像一个你只需要与应用程序链接的库。
所以我的问题是:这是否相对容易做到,和/或是否已经有人在研究过这个问题?
答案 0 :(得分:13)
我们让Erlang在iPhone上运行(并批准用于App Store),作为我们的Apache CouchDB for iOS软件包的一部分。 Github项目在这里:https://github.com/couchbaselabs/iOS-Couchbase
我们使用的Erlang在这里:https://github.com/couchbaselabs/iErl14
有关Mobile Couchbase的更多信息:http://www.couchbase.com/products-and-services/mobile-couchbase
享受!
克里斯
答案 1 :(得分:3)