Ikarus is a compiler for R6RS Scheme.
Ikarus is a free optimizing incremental native-code compiler for R6RS Scheme.
Ikarus is free to download, to distribute, to modify, and to redistribute. The complete source is available according to the GNU General Public Licence (GPL3).
Ikarus is an optimizing compiler, so your Scheme code will run fast without the need to port hot spots to C "for performance". With an incremental compiler, you don't need a separate compilation step to make your program run fast. The best part is that the compiler itself is fast, capable of compiling thousands of lines of code per second.
Finally, Ikarus is an R6RS compiler. R6RS is the latest revision of the Scheme standard. The current release of Ikarus supports the most important features R6RS. R6RS libraries, scripts, record types, condition system, exception handling, unicode strings, bytevectors, hashtable, and enumerations are among the fully supported features.
Ikarus runs on the IA-32 (x86) architecture supporting SSE2 extensions. This includes the Athlon 64, Sempron 64, and Turion 64 processors from AMD and the Pentium 4, Xeon, Celeron, Pentium M, Core, and Core2 processors from Intel. The system does not run on Intel Pentium III or earlier processors.
The Ikarus compiler generates SSE2 instructions to handle Scheme's IEEE floating point representation (flonums) for inexact numbers. Note that Ikarus is a 32-bit system even on 64-bit architecutres. On 64-bit Mac OS X or Linux, special compatibility packages may need to be installed if they are not installed already. Refer to the user's guide for a detailed list of requirements and installation instructions.
Ikarus is tested under the following operating systems:
* 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).
* Mac OS X version 10.4 and 10.5
* GMP: Ikarus uses the GNU Multiple Precision Arithmetic Library (GMP) for some bignum arithmetic operations. To build Ikarus from scratch, GMP version 4.2 or better must be installed along with the required header files. Pre-built GMP packages are available for most operating systems. Alternatively, GMP can be downloaded from http://gmplib.org/.
* GCC: The GNU C Compiler is required to build the Ikarus executable (e.g. the garbage collector, loader, and OS-related runtime). GCC versions 4.1 and 4.2 were successfully used to build Ikarus.
What's New in This Release: [ read full changelog ]
· The complete source code of the Ikarus C runtime system (garbage collector, boot loader, and foreign procedures).
· The complete source code of the Ikarus Scheme runtime system (expander, compiler, assembler, printer, and the rest of the R6RS standard libraries), written in R6RS Scheme + Ikarus extensions.
· An initial boot image for bootstrapping Ikarus from its sources.
· The User's Guide, in PDF and Latex format.
· Additional contributed libraries (SRFIs, etc).
· Code for 60 R6RS benchmarks that we use periodically to monitor the progress of Ikarus.