Welcome to the Dictionary of Programming Languages, a compendium
of computer coding methods assembled to provide information and
aid your appreciation for computer science history.
Browse the dictionary by clicking on a section:
Get a full dump of the dictionary:
List of Names
- Language type:
M - Mathematical or Simulation
Reduce is a system for computer algebra and
symbolic mathematics, featuring a language
named Reduce in which users can define new
functions and symbolic computation rules.
The expression syntax of Reduce is similar
to that of FORTRAN, but with a variety of
extensions for symbolic operations.
The following data types are supported:
integers, reals, rationals, and complex
numbers, all infinite-precision, strings,
matrices, arrays, and patterns.
Reduce supports definition of procedures and
functions, but has no support for
object-oriented programming or package
Reduce is written in Lisp, and the source
code for the kernel is normally supplied
with the distribution. There is a
low-level extension language under Reduce
, but above Lisp, called RLisp. RLisp is
used in some versions of Reduce for code
efficiency or to build complicated data
Reduce is available as a
commercial product for most computer
Free demo versions are also available.
Anthony Hearn, RAND Corp, 1963.
- See Also:
Reduce was one of the earliest portable
symbolic computation systems. Implemented
in a dialect of Lisp called
Portable Standard Lisp, Reduce was widely
used in industry and academia.
While Reduce is not as large or sophisticated
as some more recent symbolic math systems
(e.g. Maple, Mathematica), its long history
and stability have earned it a loyal
following. Also, a great many libraries
for specialized scientific and
engineering calculations have been developed
While the syntax of Reduce resembles that of
Fortran in some respects, it was originally
based on Algol and actually resembles Algol60
more than it does Fortran.
Formerly, Reduce had been available to
academic institutions for free. The
current version of Reduce is 3.6.
- Sample code:
A polynomial GCD routine from REDUCE -
Software for Algebraic Computation by G. Rayna.
AA := A; BB := B;
SA := FIRST; SB := SECOND;
WHILE (R := POLYREM(AA,BB,X)) NEQ 0 DO
Q := (AA - R) / BB;
SR := SA - Q * SB;
D := DEN Q;
SA := SB * D; SB := SR * D;
AA := BB * D; BB := R * D>>;
Descriptions in this dictionary are ©1997-99 Neal Ziring. Some
examples copyright of their respective authors. Some
technologies and languages are trademarked. Permission to
copy descriptions is granted as long as authorship credit is preserved.
Comments on this dictionary, corrections and suggestions, are all welcome.
Please use email, the address is firstname.lastname@example.org
[Ziring MicroWeb Home]
Dictionary and script maintained by Neal Ziring, last major modifications 3/18/98. Most recent
additions to dictionary and master list, 1/00.