[Openmcl-devel] ClozureCL on iPhone
Andrew Shalit
alms at clozure.com
Mon Oct 31 11:52:07 PDT 2011
On Oct 31, 2011, at 2:47 PM, Alexander Repenning wrote:
>
> On Oct 31, 2011, at 9:36 AM, Andrew Shalit wrote:
>
>> As far as I understand (which may be entirely wrong):
>>
>> * Gambit Scheme compiles to C, and the C is then compiled by Xcode and loaded onto the iPhone the way compiled C is normally loaded onto the iPhone. There is an interpreter running on the iPhone, but the interactive development capabilities of Gambit Scheme are quite limited.
>>
>> * iScheme is an interpreter.
>>
>> * Codify lets you write Lua apps on your iPad but those apps can never leave your personal iPad. What I read implied that you can't even get the sources off your iPad very easily.
>>
>> There are a few ways that I could see CCL running iOS
>>
>> 1. We could take the Gambit Scheme approach and compile to C. You give up most interactive development.
>>
>> 2. We could write a full Common Lisp interpreter. I don't know whether anyone has ever actually done that. It's pretty easy to call 'compile' and modern Common Lisp has lots of special forms. But it could certainly be done.
>>
>> 3. We could write a cross-compiler which runs on the Mac, and sends iOS code across the Xcode wire to the device. This would be a big project.
>>
>> 4. We could write a CCL development environment that runs on jailbroken iOS devices and supports delivery on non-jailbroken devices. This is legal, but it's not reliable and Apple would likely frown on it.
>>
>> I believe that any of these are possible, but none of them are things that we want to do on our own time. We'd be happy to talk to anyone who wanted to fund this work. We'd also like to be able to use CCL to write iOS apps.
>
>
> Thanks Andrew (and Bill)
>
> I can see that running CCL is a challenge because you really would want eval/compile functionality but what about a CCL based app which does not invoke these kinds of functions. Imagine an app that could be dumped (via save-application). I assume that could be code signed. Would that not work?
That could work as long as it didn't invoke the compiler or do other things that iOS is fussy about. But how would you create the app? I believe the choices are 1, 3, and 4 from my list above. Did you have something else in mind?
More information about the Openmcl-devel
mailing list