Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Scheme implementations - what does it mean?

I'm a beginning student in CS, and my classes are mostly in Java. I'm currently going through "Little Schemer" as a self study, and in the process of finding out how to do that I have found numerous references to "implementations" of Scheme. My question is, what are implementations?

Are they sub-dialects of Scheme, or is that something else (DrScheme seem to allow for different "flavors" of the language)? Is it just the name given to any given ecosystem incorporating an IDE, interpreter, interactive tool and the like?

Do all other languages (e.g., Java) also have a variety of "implementations", or is it something reserved to "open" languages?

Thank you,

Joss Delage

like image 755
JDelage Avatar asked Mar 04 '10 09:03

JDelage


1 Answers

An implementation of a programming language is a compiler or interpreter for that language. Additional components of the eco system, like IDEs, can be part of an implementation, but are not necessary. For Scheme there are many, for instance DrScheme, Guile, Gambit.

Many programming languages have different implementations, but all implementations of a certain language should implement (i.e., compile) the exact same dialect. That's easiest if there is a clear and official specification of the language, as is the case for Scheme. Of course, most language specifications go through many versions, so different implementations may support different versions of the language.

For Java, there are implementations from Sun, Oracle, IBM, and I think one other.

like image 62
Thomas Kappler Avatar answered Oct 26 '22 07:10

Thomas Kappler