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).
regards,
Engineer
Scheme on the iPhone: http://prog.vub.ac.be/doku.php?id=ipop:scheme
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:
https://webmail.iro.umontreal.ca/pipermail/gambit-list/2008-January/001966.html
https://webmail.iro.umontreal.ca/pipermail/gambit-list/2009-June/003550.html
There's also been a port of Gambit to the Nintendo DS in 2007:
https://webmail.iro.umontreal.ca/pipermail/gambit-list/2007-January/001069.html
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.
Marc
The download link
http://prog2.vub.ac.be/~ebainomu/Streaming/iphone-scheme.mov
seems to be broken.
> The download link
>
> http://prog2.vub.ac.be/~ebainomu/Streaming/iphone-scheme.mov
>
> seems to be broken.
Works for me. Maybe it was a temporary hiccup.
regards,
Marek
Oops. I mean the download link; not the movie:
You can download the .app and sb. files here
http://prog2.vub.ac.be/~ebainomu/Downloads/iPhone-Scheme.zip . This is
the same as one demonstrated in the movie.
The extended front-end (with "bigger" editor workspace) is also
available here http://prog2.vub.ac.be/~ebainomu/Downloads/iPhone-Scheme1.0.zip
RUNTIME REQUIREMENTS: Mac OS X 10.5.3, iPhone OS 2.0+.
---
Engineer
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:
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).
--
Jens Axel S�gaard
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...
--
__Pascal Bourguignon__
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).
http://jlongster.com/blog/2009/06/17/write-apps-iphone-scheme/
- James
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!
I got your app running on the simulator yesterday. No changes
was need to run it in OS 3.0.
An example of Apple rejecting emulator related apps:
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).
--
__Pascal Bourguignon__
Can we agree that the acceptance process has issues?
In that same article you saw that Sega had no problem selling Golden
Axe, which is essentially an emulator with a copy of one game, for the
iPhone.
It seems to be in "how you sell it" to Apple.
Again, there are Smalltalk apps there, but surely they did advertise
the fact as a feature as the C64 emulator has, nor did Sega for Golden
Axe.
While it is a rule, that Apple can do as they wish, it is more about
how you "sell the app" to Apple than some cut and drive objective
criteria.
> (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).
It depends on what you want to do with it. If you simply want to use
it as a computer, it is terrible deal that is hard to justify.
If you want to try to make some money, then it is a different story.