Ikarus (Scheme implementation)

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 optimizing incremental compiler for R6RS Scheme that compiles directly to the x86 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 at Indiana University under Kent Dybvig, the developer of Chez 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 is self-hosting with the majority of the compiler and primitives written in Scheme and only a few parts of the runtime written in C. Also, rather than using an external intermediate language like C, LLVM or C--, it compiles directly to machine 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 handle floating-point computations so it will not produce code for Intel chips earlier than Pentium 4 or AMD chips prior to Athlon 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.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Icarus (disambiguation) — Icarus, Ikarus, or Ikaros, is a proper noun with a variety of meanings, most deriving from its use in Greek mythology:* Icarus (mythology), the son of Daedalus according to Greek mythologyGeographic features* Ikaros (town), a settlement in Elis… …   Wikipedia

  • Lisp — Información general Paradigma multiparadigma: orientado a objetos, funcional, declarativo Apareció en 1958 Diseñado por John McCarthy …   Wikipedia Español

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”