For Programmers: Free Programming Magazines  


Home > Archive > Scheme > November 2007 > [ANN] Initial release of Ikarus--the compiler of choice for R6RS









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author [ANN] Initial release of Ikarus--the compiler of choice for R6RS
Abdulaziz Ghuloum

2007-10-31, 8:11 am

[Apologies if you've received multiple copies of this announcement]

It is my pleasure to announce the availability of the initial
release of Ikarus (version 0.0.1).

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 of 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.

The main purpose behind releasing Ikarus early is to give Scheme
programmers the opportunity to experiment with the various new
features that were introduced in R6RS. It is my hope that this
release will encourage the Scheme community to write and to
share their most useful R6RS libraries.

For more information, and to download the current release of
Ikarus and the Ikarus Scheme User's Guide, please visit:
http://www.cs.indiana.edu/~aghuloum/ikarus/index.html

No software is perfect and this is especially true for the first
releases. To report problems, bugs, and inconsistencies, or to
ask general questions about Ikarus, please email me directly or
visit the Ikarus page on Launchpad: http://launchpad.net/ikarus/

Thank you very much.

Aziz,,,
Abdulaziz Ghuloum

2007-11-02, 4:30 am

Raffael Cavallaro wrote:
> On 2007-10-31 06:45:11 -0400, Abdulaziz Ghuloum
> <aghuloum@cee.ess.dot.indiana.dot.edu> said:
>
>
> Does code compiled with Ikarus need some sort of runtime library? If so,
> is that runtime library also GPL3?


Ikarus is ikarus's runtime library. As with most lisp and scheme
systems, your program depends on the implementation's runtime
system to do useful work. For example, the code for cons, map,
append, etc. are all in the ikarus runtime system, which would
have to be distributed with any application.

Having said that, I don't think the GPL applies to programs that
*you* write and you can distribute Ikarus with your programs
without your program having to be licensed under the GPL:

"This License (GPL3) explicitly affirms your (Raffael's)
unlimited permission to run the unmodified Program (Ikarus).
The output from running a covered work is covered by this
License only if the output, given its content, constitutes
a covered work"

I don't see how Ikarus's output (say a compiled object) can be
considered derived work.

"You may make, run and propagate covered works that you do not
convey, without conditions so long as your license otherwise
remains in force."

That says that you can distribute Ikarus with your application
as long as the GPL, on Ikarus, remains in force. You are not
allowed to change Ikarus's license, and you are not allowed to
deny your users access to Ikarus's code, along with any other
modifications that you may make to Ikarus.

"A compilation of a covered work (Ikarus)
with other separate and independent works (your program),
* which are not by their nature extensions of the covered
work (no additional compiler passes),
* and which are not combined with it such as to form a
larger program (use ikarus as the runtime of your
application but do not link the two to make a single
executable),
in or on a volume of a storage or distribution medium,
is called an “aggregate” if the compilation and its resulting
copyright are not used to limit the access or legal rights of
the compilation's users beyond what the individual works
permit."

More importantly:

"Inclusion of a covered work in an aggregate does not cause
this License to apply to the other parts of the aggregate."

Having said all of that, I acknowledge that I am not a lawyer
and the above is my understanding of the GPL. If you write
a program, commercial or otherwise, under a license that is
not GPL compatible, you should either:
(a) find yourself a lawyer who can determine whether and how
you are allowed to use the specific GPL software in your
product,
or (b) s exemptions or alternative licensing terms from the
copyright holders of the GPL software you use in your
product.


Having said that too, you probably won't go to court before
making your first few million dollars, and if you do make your
few million dollars in software, you'll probably be going to
court anyways, and most probably for patent infringements and
not GPL infringements.

So, my advise: write your code now, worry later.

Aziz,,,
Abdulaziz Ghuloum

2007-11-02, 4:30 am

Eric Hanchrow wrote:
>
> Raffael> Does code compiled with Ikarus need some sort of runtime
> Raffael> library? If so, is that runtime library also GPL3?
>
> I suspect the issue is moot, since afaik, ikarus doesn't generate
> standalone executables; instead you just type "icarus filename.ss".


It does produce compiled objects for libraries and scripts.
It's just that I have not yet made the interface for doing
so publicly available (there are some API design issues that
need to be resolved first). So, the question would arise,
sooner or later.

Aziz,,,
Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com