[gambit-list] [MSLUG] Significance of 'C' in "Gambit-C"

Marc Feeley feeley at iro.umontreal.ca
Sun Dec 9 17:22:53 EST 2007


On 8-Dec-07, at 1:05 PM, Bradley Lucier wrote:

> I believe the answer is roughly as follows.
>
> There were various versions of Gambit that generated 68020 code for
> early macintoshes and BBN Butterfly computers, for example; the
> version that is now "Gambit" started as the version that generated
> "C" code, hence "Gambit-C".
>
> Brad

That's the closest to the real answer.

Gambit (without the C suffix) is the generic name of the system which  
spans all possible target platforms.  Up to now only two target  
platforms have been supported: initially Gambit had a back-end  
generating Motorola 68020 code (Sun workstation, Apple Macintosh, BBN  
butterfly multiprocessor, etc), then around 1994 a back-end generating  
C code was introduced.  When the C back-end was released I decided to  
distinguish the systems with a suffix, so Gambit-68K was the first  
system and Gambit-C is the one generating C code.  Note that at that  
point both front ends were identical, but the front-end of Gambit-C  
has evolved to support the C FFI and other extensions.  I haven't  
worked on Gambit-68K in a long time, because my focus has shifted to  
portability rather than raw performance.  Portability is the primary  
concern, followed by featurefullness, followed by performance.  I  
think that's what most users want.  Gambit-C is very portable, it  
works on any system with a decent C compiler (all the major  
workstations are covered of course, but Gambit-C has also been used on  
unusual target platforms such as the embedded PowerPC processor in  
Xilinx FPGAs and the ARM processor on the Nintendo DS).  Gambit-C's  
abstraction of the target platform allows using it as a virtual  
machine (so that the same program will work on Unix, MacOS, Windows,  
and other systems with no modifications).  Sorry, I'm rambling...

Marc




More information about the Gambit-list mailing list