Bringing Scheme Programming to the iPhone - Experience

Engineer Bainomugisha, Jorge Antonio Vallejos Vargas, Elisa Gonzalez Boix, Pascal Costanza, Theo D'Hondt, Wolfgang De Meuter, R. Nigel Horspool (Editor), Andy J. Wellings (Editor)

Research output: Contribution to journalArticlepeer-review

3 Citations (Scopus)


The iPhone SDK provides a powerful platform for the development of applications that make use of iPhone capabilities such as sensors, GPS, Wi-Fi or Bluetooth connectivity. Thus far we observe that the development of iPhone applications is mostly restricted to using Objective-C. However, developing applications in plain Objective-C on the iPhone OS suffers from limitations such as the need for explicit memory management and lack of syntactic extension mechanism. Moreover, when developing distributed applications in Objective-C, programmers have to manually deal with distribution concerns such as service discovery, remote communication, and failure handling. In this paper, we discuss our experience on porting the Scheme programming language to the iPhone OS and how it can be used together with Objective-C to develop iPhone applications. To support the interaction between Scheme programs and the underlying iPhone APIs, we have implemented a language symbiosis layer that enables programmers to access the iPhone SDK libraries from Scheme. In addition, we have designed high-level distribution constructs to ease the development of distributed iPhone applications in an event-driven style. We validate and discuss these constructs with a series of examples including an iPod controller, a maps application and a distributed multiplayer Scrabble-like game. We discuss the lessons learned from this experience for other programming language ports to mobile platforms.
Original languageEnglish
Pages (from-to)331-356
Number of pages26
JournalSoftware: Practice and Experience
Publication statusPublished - 2011

Bibliographical note

R. Nigel Horspool, Andy J. Wellings


  • iPhone development
  • Scheme
  • Objective-C
  • language symbiosis
  • interactive scripting environment
  • event-driven programming


Dive into the research topics of 'Bringing Scheme Programming to the iPhone - Experience'. Together they form a unique fingerprint.

Cite this