New in Version 1.2

New in 1.2: Kernel

This section summarizes the features of the Mathematica Kernel that have been added or changed since Mathematica release 1.1.  For a complete update on the functionality of the Mathematica Kernel, you need the booklet Mathematica Version 1.2: Reference Guide Updates, available as part of the Mathematica documentation kit from Wolfram Research, Inc.,  The documentation kit and how to get it is described in the Release Notes.
See /NextLibrary/Documentation/NeXT/RelNotes/MathematicaNotes.wn.


Almost all known bugs have been fixed.  Many operations have been made much more efficient.  Various new compatible features have been added.

Basic System Features

Responsiveness to interrupts has been improved throughout the system.
The main evaluator has been restructured so that many recursive operations have
been made iterative.  This increases speed and saves stack space.  It does mean that
some infinitely recursive definitions which used to be stopped by
$RecursionLimit now continue until interrupted.  [H. Cejtin]
Hash tables have been introduced to allow lists of rules to be scanned more
rapidly.  The function Dispatch allows explicit lists of rules to be optimized using
hash tables.  Hash tables are introduced automatically in assignments, making
function definitions that involve dynamic programming much more efficient.  [S.
Operations that modify elements of lists and other structures have been made
much more efficient.  Copying of internal data structures is now avoided in almost all
[H. Cejtin]

Block[{vars}, body /; test] has been introduced, to allow local variables to
be shared between tests and function bodies. [S. Wolfram]
Certain pattern-matching operations involving commutative functions have been
greatly speeded up. [K. MacIsaac and S. Wolfram]

Input and Output

The appearance and speed of OutputForm output has been improved.  Lines
are broken more consistently, and exponents are printed more compactly.
[B. Smith and S. Wolfram]
Format definitions now print out with their formatting directives given
[B. Smith]
Compress has been added to allow external files to be stored in a compressed
form.  Compress also allows files to be keyed, or to be accessible only on machines
with particular ID's.  [D. Ballman]
The infix forms lhs === rhs and lhs =!= rhs have been added for SameQ[lhs,
rhs] and UnsameQ[lhs, rhs].  [H. Cejtin]

Mathematical Operations

Symbolic integration has been greatly enhanced.  A much larger class of
integrals can now be done, and results are given in simpler and more useful forms.
[D. Withoff]
Multivariate polynomial GCD and factorization has been made much more
[R. Maeder]
Algebraic functions now allow approximate numbers in a larger range of cases.
[R. Maeder]
Solve has been taught to solve transcendental and other equations that require
explicit use of inverse functions.  [D. Grayson]
The linear programming functions DomainMax and DomainMin have been
[I. Rivin]
Rudimentary differential equation solving capabilities have been introduced in
the function DSolve.  [I. Rivin]
Power series have been speeded up, and have been extended to deal with many
classes of special functions.  [J. Keiper and I. Rivin]
MatrixPower and MatrixExp have been added.  [I. Rivin]
The functions GCD for numbers, and PolynomialGCD for polynomials, have
been separated.  [R. Maeder]
A Modulus option has been added to LinearSolve.  [I. Rivin]
The function GroebnerBasis, which gives explicit forms of Grobner bases,
has been added.  [D. Grayson]

Numerical Operations

The granularity in numerical precision has been reduced.  SetPrecision and
SetAccuracy have been added to provide additional control over the properties of
approximate numbers.  [D. Grayson]
Matrix multiplication and related operations have been greatly speeded up.  [I.
The functions InverseErf, etc., needed for statistics applications, have been
added.  [J. Keiper]


Axes and labels can now be drawn on three-dimensional plots.  [H. Cejtin]
The Ticks option has been enhanced, to allow more flexible placement and
labelling of tick marks.  [H. Cejtin]
New options Background, DefaultColor, Prolog, Epilog,
AxesStyle, etc. have been added to give more flexibility in the rendering of plots.
[S. Wolfram]
A Disk primitive has been added for two-dimensional graphics.  [H. Cejtin]
Graphics3D[SurfaceGraphics[...]] converts a surface into general
3D graphics representation.  [S. Wolfram]
Scaled has been enhanced to allow scaled offsets to be specified.  [H. Cejtin]
The graphics primitive PostScript has been added, to allow verbatim
PostScript code to be included in graphics output.  [S. Wolfram]

New in 1.2: Front End

This section summarizes the features of the Mathematica Kernel that have been added or changed since Mathematica release 1.1.  For documentation of Front End features see NextLibrary/Documentation/Mathematica/FrontEndSummary, and the online help available from within the Mathematica Front End.


A number of new features have been added, and some aspects of the user
interface have been reorganized.  Notebooks created under Version 1.1 are fully
compatible with Version 1.2 (though not vice versa).  [T. Gray]

Basic System Features

Kernel computations can now run concurrently with Front End operations such
as Notebook browsing and editing.  While Kernel computations are occuring,
Running... is displayed in the title bar of the current window.  Cells whose execution
is pending are indicated with outlined cell brackets.
Startup time for both Kernel and Front End has been greatly reduced.
Calculations can now be interrupted in the Front End using Command-period, or
the Interrupt menu command.
Notebooks can now be printed from the Front End.

User Interface Features

Menus have been rearranged. The Settings submenu has been moved to the main
menu and renamed as the Preferences menu.  New commands include Split Cell and
Merge Cells.
Copy Input from Above, Copy Output from Above, Complete Selection, Make
Template, and 3D Viewpoint Selector have all been collected under the Prepare Input
submenu of the Action menu.
The Font menu has taken the place of the Style menu. The Font, Face and Size
submenus that used to be in the Style menu have been replaced by the standard
NeXT Font panel. Cell styles are now given in the Cell Styles submenu, rather than
directly under the Font menu. The Format submenu allows special formatting of
individual cells, replacing the Formats menu that appeared when the Styles window
was in front.
Various Command-Shift key equivalents have been added for commands.


Communication with the Mathematica Kernel on other computers via the UNIX
remote shell mechanism has been added.