Wednesday, October 31, 2007

Aziz has released his shiny new Ikarus Scheme compiler. This is the first compiler specifically targeted at  R6RS Scheme. R6RS is the latest Scheme standard - as a matter of fact it is so new that the standard itself is still under development. Ikarus implements almost all of the interesting parts of the standard. It is supports a superset of R5RS, the current standing Scheme spec.

Ikarus is also a fast optimizing compiler that generates x86 opcode as of today and it runs on Windows, Mac and Linux systems. Ikarus has its own unicode engine, garbage collector, loader, linker, cross platform binary format, stack management, etc etc. Pretty much all of the things you would expect to find in a JVM or a .Net. All the of the compiler is written by Aziz, and a lot of it is based on the work of his advisor, Kent Dybvig, on the Chez Scheme  system.

http://www.cs.indiana.edu/~aghuloum/ikarus/index.html:

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 License (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 preliminary release of Ikarus supports over 80% of the most important features R6RS, and later releases will bring Ikarus closer to full R6RS conformance. R6RS libraries, scripts, record types, condition system, exception handling, unicode strings, bytevectors, hashtable, and enumerations are among the supported features.

Ikarus is probably also useful as a target language for compiling experimental functional languages as opposed to targeting C or going through the pain of compiling to ASM, .Net or JVM yourself.

Yay! I think I will be moving away from Petite Chez Scheme and start using Ikarus as my primary Scheme system (despite the fact that its under the non-free unethical GNU license which does actual material harm to the society). If functional languages and Scheme are your cup of tea, try out Ikarus!

Wednesday, October 31, 2007 8:21:50 PM (Eastern Standard Time, UTC-05:00)  #    Comments [4]  | 
Friday, November 02, 2007 2:02:13 AM (Eastern Standard Time, UTC-05:00)
Now why "actual material harm to the society" links to my website, I don't know.

Aziz,,,
Abdulaziz Ghuloum
Friday, November 02, 2007 8:53:20 AM (Eastern Standard Time, UTC-05:00)
Very Sorry! Fixed. Let me have the naivete of blaming the bad link on the GPL as well.
Monday, November 26, 2007 11:48:12 AM (Eastern Standard Time, UTC-05:00)
I'm curious about specifically what you mean when you say that the GNU license does "actual material harm" to society, can you expand on it?

(Note: I'm not defending the license; I can think of a couple of lines of discussion that would support your claim, I'm just curious as to what line you're going down, since you don't spell it out.)
David Storrs
Tuesday, November 27, 2007 1:03:54 AM (Eastern Standard Time, UTC-05:00)
This is my opinion of the GNU GPL license and its effect. As to why exactly that opinion was formed will take more explaining than I care to venture into. Loosely, I see it as a form of entrapment with the aim to deny certain freedoms to software development and developers.

As to the origin of the phrase "actual material harm to the society", I owe it to Stallman himself who has used it to describe his notion of "non-free" software on several occassions. It has a certain foreboding moralistic appeal and theatrical effect that is sometimes enjoyable.

Name
E-mail
Home page

Comment (Some html is allowed: a@href@title, strike) where the @ means "attribute." For example, you can use <a href="" title=""> or <blockquote cite="Scott">.  

Enter the code shown (prevents robots):

Live Comment Preview