I would like to share my experience on porting a Scheme interpreter to Apple's iPhone/iPod touch....
Over a couple of weeks we have been experimenting on porting a Scheme interpreter to the iPhone. The good news is that we have Scheme running on the iPhone http://prog.vub.ac.be/doku.php?id=ipop:scheme This may be among the first Scheme implementations on the iPhone (NON Jail broken).
On Jun 12, 4:43 pm, Baino Engineer <bainomugi...@gmail.com> wrote:
> This may be among the first Scheme implementations on the iPhone (NON > Jail broken).
A couple of people have reported that they built Gambit on the iPhone and iTouch, as far back as January 2008. Search the Gambit mailing list for "iphone". Note that Gambit provides an optimizing Scheme compiler in addition to an interpreter. Here are some relevant posts:
A port to the Xilinx Virtex-II pro FPGAs (an embedded system) was done in a few minutes. The changes needed were basically to workaround a broken stdio library.
The ability to build Gambit with minimal effort on any processor (in these cases the ARM and PowerPC) is one of Gambit's important features. That's possible because the Gambit compiler generates portable C/C++ code. The only prerequisite is that the platform have a decent C compiler. To my knowledge, no other optimizing Scheme compiler is as portable as Gambit.
On Jun 12, 3:43 pm, Baino Engineer <bainomugi...@gmail.com> wrote:
> I would like to share my experience on porting a Scheme interpreter to > Apple's iPhone/iPod touch....
> Over a couple of weeks we have been experimenting on porting a Scheme > interpreter to the iPhone. The good news is that we have Scheme > running on the iPhonehttp://prog.vub.ac.be/doku.php?id=ipop:scheme > This may be among the first Scheme implementations on the iPhone (NON > Jail broken).
Baino Engineer <bainomugi...@gmail.com> writes: >This may be among the first Scheme implementations on the iPhone (NON >Jail broken).
I'm confused. I thought that iPhones could only download applications from Apple (if "NON Jail broken"). And that Apple outlawed programming languages. (This is one of the reasons I'm not an iPhone user.) Has something changed?
On Jun 16, 8:56 am, b...@cs.berkeley.edu (Brian Harvey) wrote:
> Baino Engineer <bainomugi...@gmail.com> writes: > >This may be among the first Scheme implementations on the iPhone (NON > >Jail broken).
> I'm confused. I thought that iPhones could only download applications > from Apple (if "NON Jail broken"). And that Apple outlawed programming > languages. (This is one of the reasons I'm not an iPhone user.) Has > something changed?
Some Smalltalk apps are for sale in the app store:
> Baino Engineer <bainomugi...@gmail.com> writes: >> This may be among the first Scheme implementations on the iPhone (NON >> Jail broken).
> I'm confused. I thought that iPhones could only download applications > from Apple (if "NON Jail broken"). And that Apple outlawed programming > languages. (This is one of the reasons I'm not an iPhone user.) Has > something changed?
Nothing changed.
However if you send the device number of your iphone to the developer, he can send you an app specifically signed for you - and that you can install in the same way you install a normal app.
However, if you just want to run the app in the emulator and not a real device, signing isn't neccessary (IIRC).
If the plan is to put the Scheme interpreter in the App Store, there might be a problem with Apple's terms:
3.3.2 An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise. No interpreted code may be downloaded or used in an Application except for code that is interpreted and run by Apple's Documented APIs and built-in interpreter(s).
<findrealaddresswithgoo...@soegaard.net> wrote: > If the plan is to put the Scheme interpreter in the App Store, there > might be a problem with Apple's terms:
> 3.3.2 An Application may not itself install or launch other > executable code by any means, including without limitation through > the use of a plug-in architecture, calling other frameworks, other > APIs or otherwise. No interpreted code may be downloaded or used in an > Application except for code that is interpreted and run by Apple's > Documented APIs and built-in interpreter(s).
Apple doesn't want you to introduce backdoors into your programs. That sounds to me like no EVAL; Scheme or Smalltalk.
Grant Rettke <gret...@gmail.com> writes: > On Jun 16, 9:59 am, Jens Axel Soegaard > <findrealaddresswithgoo...@soegaard.net> wrote: >> If the plan is to put the Scheme interpreter in the App Store, there >> might be a problem with Apple's terms:
>> 3.3.2 An Application may not itself install or launch other >> executable code by any means, including without limitation through >> the use of a plug-in architecture, calling other frameworks, other >> APIs or otherwise. No interpreted code may be downloaded or used in an >> Application except for code that is interpreted and run by Apple's >> Documented APIs and built-in interpreter(s).
> Apple doesn't want you to introduce backdoors into your programs. That > sounds to me like no EVAL; Scheme or Smalltalk.
"An application may not initiate its functions upon events received from other sources than the user."
Strangely enough, I fail to see the similarity between this interdiction and 3.3.2...
You all are right about Apple disallowing any interpreted code. However, as Marc previously stated, there's nothing they can do about compiling Scheme to C, and compiling the C code for the iPhone.
I was able to get Gambit Scheme compiled for the iPhone and write a small application on top of it. I wrote an article about my experiences and gave detailed instructions of how to do this yourself. Writing iPhone apps in Scheme is surely feasible (mostly because of the incredible portability of Gambit).
On Jun 16, 3:56 pm, b...@cs.berkeley.edu (Brian Harvey) wrote:
> Baino Engineer <bainomugi...@gmail.com> writes: > >This may be among the first Scheme implementations on the iPhone (NON > >Jail broken).
> I'm confused. I thought that iPhones could only download applications > from Apple (if "NON Jail broken").
As Jens Axel Søgaard explained, with Apple's developer account, you can deploy applications to your iPhone without going through apple's App store. It's this way that we port the Scheme interpreter here (http://prog.vub.ac.be/doku.php?id=ipop:scheme) to the iPhone. The motivation of these experiments is mainly academic research, no intentions yet to publish this Scheme interpreter to the Apple store!
> You all are right about Apple disallowing any interpreted code. > However, as Marc previously stated, there's nothing they can do about > compiling Scheme to C, and compiling the C code for the iPhone.
> I was able to get Gambit Scheme compiled for the iPhone and write a > small application on top of it. I wrote an article about my > experiences and gave detailed instructions of how to do this > yourself. Writing iPhone apps in Scheme is surely feasible (mostly > because of the incredible portability of Gambit).
>> You all are right about Apple disallowing any interpreted code. >> However, as Marc previously stated, there's nothing they can do about >> compiling Scheme to C, and compiling the C code for the iPhone.
>> I was able to get Gambit Scheme compiled for the iPhone and write a >> small application on top of it. I wrote an article about my >> experiences and gave detailed instructions of how to do this >> yourself. Writing iPhone apps in Scheme is surely feasible (mostly >> because of the incredible portability of Gambit).
> I hope they reconsider. The developer distributes a fixed set > of games with the C64 emulator - and he has licensed them properly.
Whatever. What's clear is that I won't consider buying or programming an iPhone while these rules exist. (And while I cannot buy an open one, when you spend that kind of money you don't want to be locked to a single operator).