Scheme is a small but very powerful functional language. The small size makes it easy to be ported everywhere. It started running on Android now.
List of Scheme implementations in Java (initially excerpted from here)
Schemes on Android
Roughly speaking, there seem to be two approaches to make Scheme run on Android. The first approach is to use Scheme for building Android package (APK) file. The other approach is to have some wrapper Android program that invokes the "eval" function to run a given Scheme program.
One of differences between them is that the former requires the installation process before one runs Scheme programs while the latter does not. Which approach is good? It must depends on what you want. If you like to program Scheme but want to run it on Android, the first approach is yours. If you are thinking of something like agent systems where small pieces of codes (agents) are wandering around different devices such as PCs, mobiles, TVs, and so on, you may prefer the second approach.
Here are some examples for the approaches.
List of Scheme implementations in Java (initially excerpted from here)
- Bigloo
- A practical Scheme compiler: http://www-sop.inria.fr/mimosa/fp/Bigloo/
- Support for interfaces with Java, C(++), C#
- Bubu (Yuasa Taijchi)
- http://www.yuasa.kuis.kyoto-u.ac.jp/~yuasa/jakld/
- http://www.yuasa.kuis.kyoto-u.ac.jp/~yuasa/jakld/pro-e.pdf
- Seems to be quite small. (Is this due to the reduction of many scheme libraries?)
- JScheme
- http://jscheme.sourceforge.net/jscheme/main.html
- Support for interfaces with Java via the java dot notation
- Kawa
- http://www.gnu.org/software/kawa/
- Google's App Inventor for Android uses Kawa to translate its visual block language!
- Support for interfaces with Java
- LISC
- (Link is broken)
- SILK
- (This is an old name of JScheme developed by Peter Norvig.)
- Skij
- http://www.alphaworks.ibm.com/formula/skij/
- (This has not been maintained any more.)
Schemes on Android
Roughly speaking, there seem to be two approaches to make Scheme run on Android. The first approach is to use Scheme for building Android package (APK) file. The other approach is to have some wrapper Android program that invokes the "eval" function to run a given Scheme program.
One of differences between them is that the former requires the installation process before one runs Scheme programs while the latter does not. Which approach is good? It must depends on what you want. If you like to program Scheme but want to run it on Android, the first approach is yours. If you are thinking of something like agent systems where small pieces of codes (agents) are wandering around different devices such as PCs, mobiles, TVs, and so on, you may prefer the second approach.
Here are some examples for the approaches.
- The Scheme-as-Apk approach
- Android programming using Kawa http://androidscheme.blogspot.com/2010/10/introduction-to-android-app-development.html
- The Scheme-as-agents approach
- AndScheme http://www.droiddraw.org/andscheme.html