[Openmcl-devel] ClozureCL on iPhone
p2.edoc at googlemail.com
Tue Nov 1 07:46:43 UTC 2011
At 2:52 PM -0400 11/10/31, Andrew Shalit wrote:
>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?
Early days maybe, but some schools and even businesses seem to be
running away with the iPad, and so many have or want iOS devices. It
can feel as if what were early adopters for ClozureCL apps on Mac are
moving on. If ClozureCL developments are barred outside the iOS,
that feels like another step in the evolving landscape and maybe
eventually making ClozureCL more a tool for server side developments
only, as Apple make iOS and Mac platforms ever more constrained.
I was hoping along the lines of Alex's reasoning. Development as now
on desktop or laptop systems, then delivery to iOS devices.
As a starting point, no development on iOS, no compiler, no
evaluation, just delivery of a shrink-wrapped app (signed as
appropriate), through the stores as appropriate.
Even jailbreaking would be a possibility, in that a serious app would
justify wrapping it in a $500 iPad as part of a bundle (as opposed to
loading the app into a standard platform). That would certainly help
in prototyping and testing, maybe even a sort of MCLIDE development
cycle (is this 4 above?).
With Paul Krueger's tools, aren't we heading in the right direction already.
It feels as if we are shut out of the boom of app developments and
micro payments over there on the app stores, and hence our lisp
skills, tools, designs and applications are missing out. Meanwhile
the old desktop and laptop models seem to be moving in the direction
of the walled garden fortress (where lisp seems unwelcome). Or maybe
ClozureCL is fundamentally only intended for the lisp developer as
end user, and only server side for field deployment, so what happens
in the mass consumer/end-user world is over some horizon?
Are the users of what we make with ClozureCL migrating away from us.
More information about the Openmcl-devel