- Ikarus (Scheme implementation)
Infobox Software
name = Ikarus Scheme
caption =
author =
developer =Abdulaziz Ghuloum
released =Oct 31 ,2007
latest release version = 0.0.3
latest release date = Release date and age|2008|02|02
latest preview version =
latest preview date =
operating system =Cross-platform
platform =
language = English
genre =Compiler
standard = R6RS (mostly)
license =GPL
website = [http://www.cs.indiana.edu/~aghuloum/ikarus/ www.cs.indiana.edu/~aghuloum/ikarus/]Ikarus Scheme is a
free software optimizingincremental compiler forR6RS Scheme that compiles directly to thex86 architecture . Ikarus is the first public implementation of a large part of R6RS, the most recent Scheme standardcite newsgroup
title = Initial release of Ikarus--the compiler of choice for R6RS hackers
author = Abdulaziz Ghuloum
date =2007-10-31
newsgroup = comp.lang.scheme
id = fg9mbr$22g$1@aioe.org
url = http://groups.google.com/group/comp.lang.scheme/msg/ef5625d40cd849b2
accessdate = 2007-11-28] .Design
The compiler developer,
Abdulaziz Ghuloum , is a Ph.D. student atIndiana University underKent Dybvig , the developer ofChez Scheme , who has influenced the development of Ikarus.Some of the ideas behind the design of Ikarus scheme are detailed in "An Incremental Approach to Compiler Construction" by the developercite conference
first = Abdulaziz
last = Ghuloum
title = An Incremental Approach to Compiler Construction
booktitle = Scheme and Functional Programming, 2006
pages = 27--37
date =Sept 17 ,2006
location = Porland, Oregon
url = http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf
accessdate = 2007-11-28] . In particular, Ikarus isself-hosting with the majority of the compiler and primitives written in Scheme and only a few parts of theruntime written in C. Also, rather than using an externalintermediate language like C,LLVM orC-- , it compiles directly tomachine code in order to better take advantage of the underlying machine architecture.Ikarus uses the "The portable R6RS library and syntax-case system" which is also developed by
Abdulaziz Ghuloum and is described in the paper, "Implicit phasing for R6RS libraries" [cite conference
first = Abdulaziz
last = Ghuloum
coauthors = Dybvig, R. Kent
title = Implicit phasing for R6RS libraries
booktitle = Proc. of the 2007 ACM SIGPLAN International Conference on Functional Programming
pages = 303 -- 314
date =2007
location = Freiburg, Germany
url = http://portal.acm.org/citation.cfm?id=1291151.1291197
accessdate = 2007-12-01] . Finally, the paper "Generation-Friendly Eq Hash Tables" [cite conference
first = Abdulaziz
last = Ghuloum
coauthors = Dybvig, R. Kent
title = Generation-Friendly Eq Hash Tables
booktitle = Proc. of the 2007 Workshop on Scheme and Functional Programming
pages = 27 -- 36
date =Sept 30 ,2007
location = Freiburg, Germany
url = http://sfp2007.ift.ulaval.ca/procPaper3.pdf
accessdate = 2007-12-01] covers the hash table implementation in Ikarus.Logo
The Ikarus logo depicts a winged Ikarus against the sun, as in the famous Greek legend. The winged figure also forms a Greek
lambda , which is the symbol of Scheme.System Requirements
Ikarus runs on x86 but requires
SSE2 support to handlefloating-point computations so it will not produce code for Intel chips earlier thanPentium 4 or AMD chips prior toAthlon 64 .The 0.0.3 has been tested and runs on:
* Mac OS X version 10.4 and 10.5.
* Linux 2.6.18 (Debian, Fedora, Gentoo, and Ubuntu).
* FreeBSD version 6.2
* NetBSD version 3.1
* Microsoft Windows XP (using Cygwin 1.5.24).References
External links
Ikarus Scheme
* [http://www.cs.indiana.edu/~aghuloum/ikarus/ Ikarus Scheme home page]
* [http://launchpad.net/ikarus/ Ikarus Scheme development site]
* [http://www.cs.indiana.edu/~aghuloum/r6rs-libraries/index.html R6RS library and syntax-case system home page]
* [http://launchpad.net/r6rs-libraries R6RS library and syntax-case system development site]
* [http://www.cs.indiana.edu/~aghuloum/ikarus/ikarus-scheme-users-guide.pdf Ikarus Scheme User's Guide]
* [http://www.r6rs.org/ The R6RS Standard]Benchmarks
* [http://shootout.alioth.debian.org/gp4/benchmark.php?test=all&lang=ikarus Computer Language Benchmarks Game entry for Ikarus Scheme (Intel Pentium 4)]
* [http://www.ccs.neu.edu/home/will/Twobit/benchmarksFakeR6Linux.html Benchmarks comparing Ikarus to other R5RS scheme implementations] (These results are for 0.0.2 and haven't been updated for 0.0.3.)
* [http://www.ccs.neu.edu/home/will/Twobit/benchmarksGenuineR6Linux.html Benchmarks comparing Ikarus to other R6RS scheme implementations] (These results are for 0.0.2 and haven't been updated for 0.0.3.)Reviews
* [http://www.scheme.dk/blog/2007/12/ikarus-new-scheme-on-block.html Everything Scheme - Ikarus: The new Scheme on the Block]
Wikimedia Foundation. 2010.