Ikarus (Scheme implementation)

From Seo Wiki - Search Engine Optimization and Programming Languages

Jump to: navigation, search
Ikarus Scheme
File:Ikarus Scheme Logo.png
Developer(s) Abdulaziz Ghuloum
Initial release October 31, 2007
Stable release 0.0.3 / February 2, 2008; 190572200 ago
Operating system Cross-platform
Available in English
Type Compiler
License GPL
Website ikarus-scheme.org
Standard(s) R6RS (mostly)

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 standard[1].



The compiler developer, Abdulaziz Ghuloum, was 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 developer[2]. 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"[3]. Finally, the paper "Generation-Friendly Eq Hash Tables"[4] covers the hash table implementation in Ikarus.

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. Release 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).


  1. Abdulaziz Ghuloum (2007-10-31). "Initial release of Ikarus--the compiler of choice for R6RS hackers". comp.lang.scheme. (Web link). Retrieved on 2007-11-28.
  2. Ghuloum, Abdulaziz (September 17, 2006). "An Incremental Approach to Compiler Construction". Scheme and Functional Programming, 2006. Porland, Oregon. pp. 27--37. http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf. Retrieved 2007-11-28. 
  3. Ghuloum, Abdulaziz; Dybvig, R. Kent (2007). "Implicit phasing for R6RS libraries". Proc. of the 2007 ACM SIGPLAN International Conference on Functional Programming. Freiburg, Germany. pp. 303 -- 314. http://portal.acm.org/citation.cfm?id=1291151.1291197. Retrieved 2007-12-01. 
  4. Ghuloum, Abdulaziz; Dybvig, R. Kent (September 30, 2007). "Generation-Friendly Eq Hash Tables". Proc. of the 2007 Workshop on Scheme and Functional Programming. Freiburg, Germany. pp. 27 -- 36. http://sfp2007.ift.ulaval.ca/procPaper3.pdf. Retrieved 2007-12-01. 

External links

Ikarus Scheme



Personal tools

Served in 0.327 secs.