In contrast to most other symbolic math systems, REDUCE
traditionally is completely open:
- REDUCE is written in a language RLISP, which
incorporates the functionality of LISP in a user friendly syntax.
At the same time RLISP is the language of application.
- Traditionally REDUCE is delivered with all sources. So the
algorithmic basis is visible to any user. Even the REDUCE
translator (compiling RLISP to LISP) is delivered as
source code.
- Any internal REDUCE function and data structure can be
accessed by the user directly (in symbolic style programming). Most of
the REDUCE implementations contain a LISP compiler, such
that the user can produce very efficient modules. REDUCE can be
integrated into other (LISP-) packages as an algebraic engine.
- REDUCE inherits automatically from LISP the
facility of dynamic loading of modules, of incremental compilation and
dynamic function redefinition. Even the kernel of REDUCE is open
for local modification. Obviously this is a dangerous feature where
system integrity is concerned, but, on the other hand, an innovative user
finds a rich testbed here.
One effect of the liberality of REDUCE is the large number of
application packages written by users. Many of these packages now are now
included in REDUCE or in the REDUCE Network Library.
REDUCE Homepage
Winfried Neun,
13-July-1999