<div><a href="http://dynamo.iro.umontreal.ca/wiki/index.php/Main_Page">http://dynamo.iro.umontreal.ca/wiki/index.php/Main_Page</a> minor tweak, hope it cheered it up a bit - Gambit is really positive so the introduction deserves to reflect that directly :-) brgds</div>

<div><div><br></div><div>Was:</div><div><br></div><div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><div><p style="margin:0.4em 0px 0.5em;line-height:19.046875px;font-family:sans-serif;font-size:13px;background-color:rgb(255,255,255)">

Gambit-C is a version of the Gambit programming system in which the compiler generates portable C code. The main features of Gambit-C are:</p><ul style="line-height:19.046875px;list-style-type:square;margin:0.3em 0px 0px 1.5em;padding:0px;font-family:sans-serif;font-size:13px">

<li style="background-color:rgb(255,255,255);margin-bottom:0.1em"><b>Conformance.</b> The Gambit-C system conforms to the R4RS, R5RS and IEEE Scheme standards and implements all optional features. Tail calls and first class continuations conform to the Scheme semantics. The full numeric tower is implemented, including: arbitrary precision integers (bignums), rationals, inexact reals (floating point numbers), and complex numbers. Several extensions to Scheme are provided, including: lightweight threads, a foreign-function interface (FFI), and extended I/O capabilities (Unicode, networking, subprocesses, ...).</li>

<li style="background-color:rgb(255,255,255);margin-bottom:0.1em"><b>Portability.</b> Because the system is mostly written in Scheme and the compiler generates portable C code, it is easy to port the system as well as programs compiled with it to any platform with a decent C or C++ compiler. There is no reliance on a particular C compiler, although the system can take advantage of some <b>gcc</b>-specific constructs. The C code generated is oblivious to the endianness and word size of the target environment (32 and 64 bit architectures are currently supported).</li>

<li style="margin-bottom:0.1em"><b style="background-color:rgb(255,255,255)">Performance.</b><span style="background-color:rgb(255,255,255)"> The compiler includes several powerful program transformations such as user procedure inlining, partial-evaluation, and lambda-lifting. With appropriate declarations in the source code the executable programs generated by the compiler run roughly as fast as equivalent C programs. Programs containing no declarations are also optimized without compromising the Scheme semantics by speculatively inlining predefined procedures (see the </span><a href="http://dynamo.iro.umontreal.ca/wiki/index.php/Benchmarks" title="Benchmarks" style="background-color:rgb(255,255,255);text-decoration:none;color:rgb(90,54,150);background-image:none">benchmarks</a><span style="background-color:rgb(255,255,255)"> page for a comparison with other Scheme implementations and other languages). Thanks to an efficient implementation of continuations, the thread system is very efficient and can support millions of concurrent threads. </span><span style="background-color:rgb(255,204,204)">The bignum library uses sophisticated algorithms that are in some cases asymptotically faster than those of GMP (GNU Multiple Precision Arithmetic Library). [Note: With the release of GMP 4.3.0 in April 2009, this claim is no longer true; see the <a href="http://dynamo.iro.umontreal.ca/wiki/index.php/Benchmarks" title="Benchmarks" style="text-decoration:none;color:rgb(90,54,150);background-image:none">benchmarks</a> page for some crude comparisons on large integers.]</span><span style="background-color:rgb(255,255,255)"> ( <- removed )</span></li>

<li style="background-color:rgb(255,255,255);margin-bottom:0.1em"><b>Reliability.</b> Stable releases typically have very few bugs. Bug tracking is done with <a href="http://www.bugzilla.org/" class="external text" rel="nofollow" style="text-decoration:none;color:rgb(51,102,187);background-image:url(http://dynamo.iro.umontreal.ca/wiki/skins/monobook/external.png);padding:0px 13px 0px 0px;background-repeat:no-repeat no-repeat">bugzilla</a>. Gambit-C has been used to develop large-scale <a href="http://dynamo.iro.umontreal.ca/wiki/index.php/Real-world_software_and_services" title="Real-world software and services" style="text-decoration:none;color:rgb(90,54,150);background-image:none;background-repeat:initial initial">real-world software and services</a> in academic and commercial settings.</li>

</ul><div><br></div></div></blockquote></div><div><font face="sans-serif"><span style="line-height:19.046875px">=></span></font></div><div><font face="sans-serif"><span style="line-height:19.046875px"><br>Now:</span></font></div>

<div><font face="sans-serif"><span style="line-height:19.046875px"><br></span></font></div><blockquote style="margin:0 0 0 40px;border:none;padding:0px"><p style="margin:0.4em 0px 0.5em;line-height:19.046875px;font-family:sans-serif;font-size:13px">

</p><p style="margin:0.4em 0px 0.5em"></p><p style="background-color:rgb(255,255,255);margin:0.4em 0px 0.5em">Gambit-C is a version of the Gambit programming system in which the compiler generates portable C code. The main features of Gambit-C are:</p>

<ul style="list-style-type:square;margin:0.3em 0px 0px 1.5em;padding:0px"><li style="background-color:rgb(255,255,255);margin-bottom:0.1em"><b>Conformance.</b> The Gambit-C system conforms to the R4RS, R5RS and IEEE Scheme standards and implements all optional features. Tail calls and first class continuations conform to the Scheme semantics. The full numeric tower is implemented, including: arbitrary precision integers (bignums), rationals, inexact reals (floating point numbers), and complex numbers. Several extensions to Scheme are provided, including: lightweight threads, a foreign-function interface (FFI), and extended I/O capabilities (Unicode, networking, subprocesses, ...).</li>

<li style="margin-bottom:0.1em"><b style="background-color:rgb(255,255,255)">Portability.</b><span style="background-color:rgb(255,255,255)"> Because the system is mostly written in Scheme and the compiler generates portable C code, it is easy to port the system as well as programs compiled with it to any platform with a decent C or C++ compiler. There is no reliance on a particular C compiler, although the system can take advantage of some </span><b style="background-color:rgb(255,255,255)">gcc</b><span style="background-color:rgb(255,255,255)">-specific constructs. The C code generated is oblivious to the endianness and word size of the target environment (32 and 64 bit architectures are currently supported). </span><span style="background-color:rgb(153,255,153)">There are no external library dependencies, and OS API dependencies can be removed so as to run directly on the bare metal. The system includes high-performance bignum support utilizing sophisticated algorithms, implemented in Scheme.</span><span style="background-color:rgb(255,255,255)"> ( <- added )</span></li>

<li style="background-color:rgb(255,255,255);margin-bottom:0.1em"><b>Performance.</b> The compiler includes several powerful program transformations such as user procedure inlining, partial-evaluation, and lambda-lifting. With appropriate declarations in the source code the executable programs generated by the compiler run roughly as fast as equivalent C programs. Programs containing no declarations are also optimized without compromising the Scheme semantics by speculatively inlining predefined procedures (see the <a href="http://dynamo.iro.umontreal.ca/wiki/index.php/Benchmarks" title="Benchmarks" style="text-decoration:none;color:rgb(90,54,150);background-image:none;background-repeat:initial initial">benchmarks</a> page for a comparison with other Scheme implementations and other languages). Thanks to an efficient implementation of continuations, the thread system is very efficient and can support millions of concurrent threads.</li>

<li style="background-color:rgb(255,255,255);margin-bottom:0.1em"><b>Reliability.</b> Stable releases typically have very few bugs. Bug tracking is done with <a href="http://www.bugzilla.org/" class="external text" rel="nofollow" style="text-decoration:none;color:rgb(51,102,187);background-image:url(http://dynamo.iro.umontreal.ca/wiki/skins/monobook/external.png);padding:0px 13px 0px 0px;background-repeat:no-repeat no-repeat">bugzilla</a>. Gambit-C has been used to develop large-scale <a href="http://dynamo.iro.umontreal.ca/wiki/index.php/Real-world_software_and_services" title="Real-world software and services" style="text-decoration:none;color:rgb(90,54,150);background-image:none;background-repeat:initial initial">real-world software and services</a> in academic and commercial settings.</li>

</ul><p></p><p></p><div><font face="sans-serif"><span style="line-height:19.046875px"><br></span></font></div></blockquote></div>