ischeme:ischeme
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
ischeme:ischeme [2010/07/28 19:36] – ebainomu | ischeme:ischeme [2011/03/23 00:12] – ebainomu | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== iScheme ====== | ====== iScheme ====== | ||
- | {{:ischeme:ischemelogo.png|: | + | [[http:// |
+ | \\ | ||
+ | |||
+ | {{:ischeme:ischemelogo2.png? | ||
iScheme is built on top of an R5RS [[http:// | iScheme is built on top of an R5RS [[http:// | ||
Line 9: | Line 12: | ||
iScheme provides developers with an event-driven programming style for accessing iPhone capabilities as well as interacting with native applications, | iScheme provides developers with an event-driven programming style for accessing iPhone capabilities as well as interacting with native applications, | ||
- | < | + | < |
(begin | (begin | ||
(CURRENT-LOCATION | (CURRENT-LOCATION | ||
Line 32: | Line 35: | ||
So, how do we realise such an application in iScheme? Read on... | So, how do we realise such an application in iScheme? Read on... | ||
+ | |||
==== Exporting functions as services ==== | ==== Exporting functions as services ==== | ||
Line 39: | Line 43: | ||
In the example of the news service application, | In the example of the news service application, | ||
- | < | + | < |
(define news-service (service-type iPhone-news)) | (define news-service (service-type iPhone-news)) | ||
(export-service news-publisher news-service) | (export-service news-publisher news-service) | ||
Line 51: | Line 55: | ||
Service discovery in iScheme is by way of registering an event handler on a service type, which is triggered whenever a function exported under that type is encountered in the network. | Service discovery in iScheme is by way of registering an event handler on a service type, which is triggered whenever a function exported under that type is encountered in the network. | ||
- | < | + | < |
(when-discovered news-service | (when-discovered news-service | ||
(lambda (publisher-ref) | (lambda (publisher-ref) | ||
Line 64: | Line 68: | ||
Once a reference to the remote function is obtained, remote function invocations can be performed by means of the '' | Once a reference to the remote function is obtained, remote function invocations can be performed by means of the '' | ||
- | < | + | < |
(define (submit-news publisher-ref) | (define (submit-news publisher-ref) | ||
(for-each | (for-each | ||
| | ||
| | ||
- | | + | list-of-articles)) |
</ | </ | ||
The '' | The '' | ||
Line 75: | Line 79: | ||
In order to get the return value of a remote invocation, iScheme provides '' | In order to get the return value of a remote invocation, iScheme provides '' | ||
- | < | + | < |
(define (submit-news publisher-ref) | (define (submit-news publisher-ref) | ||
.... ;;iterator over news articles | .... ;;iterator over news articles | ||
Line 86: | Line 90: | ||
</ | </ | ||
The '' | The '' | ||
+ | |||
+ | |||
Line 92: | Line 98: | ||
===== Example Applications ===== | ===== Example Applications ===== | ||
iScheme has been used to develop a couple of non-trivial iPhone applications. | iScheme has been used to develop a couple of non-trivial iPhone applications. | ||
- | * [[example_applications|AmbiScrabble: | + | * [[example_applications# |
+ | |||
+ | |||
+ | * [[example_applications# | ||
+ | |||
+ | ===== Publications ===== | ||
+ | |||
+ | * Bringing Scheme Programming to the iPhone --- Experience. Engineer Bainomugisha, | ||
ischeme/ischeme.txt · Last modified: 2011/03/23 00:19 by ebainomu