Programming Languages Directory

Site Topics

C Programming Language
Assembling Computers
CIS
Computer Science Careers
Women and Computer Science
ADA Programming Language
ALGOL Programming Language
APL Programming Language
AWK Programming Language
Basic Programming Language
C++ Programming Language
COBOL Programming Language
Delphi Programming Language
Eiffel Programming Language
Euphoria Programming Language
Forth Programming Language
FORTRAN Programming Language
HTML Programming Language
ICON Programming Language
Java Programming Language
Javascript Programming Language
LISP Programming Language

 

The Scheme Programming Language

Free resources updated everyday:

XXXLINKSXX

Scheme started as an experiment in programming language design by challenging some fundamental design assumptions. It emerged from MIT in the mid-1970's. It is a dialect of the Lisp Programming Language invented by Guy Lewis Steele Jr. and Gerald Jay Sussman. Originally called Schemer, it was shortened to Scheme because of a 6 character limitation on file names. Scheme is a small, exceptionally clean language which is fun to use. The language was designed to have very few, regular constucts which compose well to support a variety of programming styles including functional, object-oriented, and imperative.

Significant Language Features

Scheme has lexical scoping, uniform evaluation rules, and uniform treatment of data types. Scheme does not have the concept of a pointer, uninitialized variables, specialized looping constucts, or explicit storage management. In Scheme, all data types are equal. What one can do to one data type, one can do to all data types.

  • There are seven kinds of expressions:
    • Constant, Variable reference, Procedure creation, Procedure application, Conditional, Assignment, and Sequence.

  • Scheme also has the usual assortment of data types:
    • Characters, Strings, Arrays, Lists, Numbers, Functions (also called procedures), Boolean, Ports, and Symbols. Numbers are especially interesting in that an integer is a rational and a real is a complex. Scheme requires no looping constructs. Any function which calls itself in the "tail" position is just a loop.

Scheme has several important advantages. It is elegantly simple in that regular structure and trivial syntax avoids "special case" confusion. Its expressiveness means that one spends little time trying to work around the language--it lets users concentrate on what they want to say rather than on how to say it. Its support of a variety of styles (including object-oriented) allows users to better match their solution style to the style of the problems to be solved. Its formal underpinnings make reasoning about programs much easier. Its abstractive power makes it easy to separate system specific optimizations from reusable code. Its composability makes it easy to construct systems from well-tested components.

Areas of Application

Scheme is currently gaining favor as a first programming language in universities and is used in industry by such companies as DEC, TI, Tektronix, HP, and Sun.

Sample Program

Source Code: (Hello World)
(define hello-world
(lambda ()
(begin
(write ‘Hello-World)
(newline)
(hello-world))))

This program was submited by indigo@owlnet.rice.edu (Scott Ruthfield)

This program prints the phrase "Hello World".

 

 

 
 

 

 

 

 

 

 

 

 


 



 

Site Topics

LOGO Programming Language
Mathematica Programming Language
MATLAB Programming Language
Miranda Programming Language
Modula-2 Programming Language
Oberon Programming Language
Pascal Programming Language
PERL Programming Language
PL/I Programming Language
Prolog Programming Language
Python Programming Language
REXX Programming Language
SAS Programming Language
Scheme Programming Language
SED Programming Language
Simula Programming Language
Smalltalk Programming Language
SNOBOL Programming Language
Database Programming Language
Visual Basic Programming Language
Visual C++ Programming Language
XML Programming Language

 

 

 

 

C Programming Language | Assembling Computers | CIS | Computer Science Careers | Women and Computer Science | ADA Programming Language | ALGOL Programming Language | AWK Programming Language | Basic Programming Language | C++ Programming Language | COBOL Programming Language | Delphi Programming Language | Eiffel Programming Language | Euphoria Programming Language | Forth Programming Language | FORTRAN Programming Language | HTML Programming Language | ICON Programming Language | Java Programming Language | Javascript Programming Language | LISP Programming Language | LOGO Programming Language | Mathematica Programming Language | MATLAB Programming Language | Miranda Programming Language | Modula-2 Programming Language | Oberon Programming Language | Pascal Programming Language | PERL Programming Language | PL/I Programming Language | Prolog Programming Language | Python Programming Language | REXX Programming Language | SAS Programming Language | Scheme Programming Language | SED Programming Language | Simula Programming Language | Smalltalk Programming Language | SNOBOL Programming Language | Database Programming Language | Visual Basic Programming Language | Visual C++ Programming Language | XML Programming Language | Home | Site Map