% (C) Copyright International Business Machines Corporation 23 January 
% 1990.  All Rights Reserved. 
%  
% See the file USERAGREEMENT distributed with this software for full 
% terms and conditions of use. 
% File: user.tex  (the users guide for Hermes)
% SCCS Info: "@(#)changelog.tex	1.1 3/14/91"

\setcounter{section}{-1}
\section{Change History}
\label{changelog}

\subsection{Prior To Release 0.6alpha}

This User's Guide was first prepared for release 0.6alpha, which was
also the first release that was made available for outside users.
There is no change information from prior releases.

\subsection{Changes From Release 0.6alpha To Release 0.7alpha}

\begin{itemize}

\item{\em Real numbers.}  Some rudimentary support for real numbers
has been added.  Specifically, machines with a 32-bit int and a 64-bit
double float should work properly.  The ACCURACY specification on real
type definitions is ignored.  Depletion exceptions are raised for
real computations that exceed the range or precision of the
representation.

\item{\em Polymorph checking.}  Polymorphs are now actually wrapped
with correct type information, and this information is checked on
UNWRAP operations.  Currently, polymorphs are wrapped with empty
typestates, and the wrapped typestates are still ignored on UNWRAP
operations.

\item{\em Improved MAIN interface.}  The MAIN interface (defined in
interfaces/main.d) has been substantially redesigned for added
flexibility and convenience.  Most of what was formerly provided in
the main interface is now available via a resource manager that is
provided directly in the main interface.  The old main interface is
available under the name ``oldmain,'' and a program named ``oldmain''
translates the new main interface to the old for the purpose of
running programs written to the old main interface.  The oldmain
definitions and process modules may disappear in some future release.
The ``rmain'' interface, which was formerly an alternative to
``main,'' has been removed; programs written to it should be converted
to use the new ``main'' interface.

\item{\em Unbundled distributed support.}  The functionality that was
formerly provided in the ``dmain'' program has been split into three
separate programs: ``startnet,'' ``getlink,'' and ``linkserver.''  See
section~\ref{distributed} for details.

\item{\em Definitions module checking.}  Complete checking of
definitions modules is now performed by ``dcom.''  This includes
detecting erroneous modules that cannot be produced by the Hermes
parser but could nevertheless be constructed by a Hermes program.

\item{\em Value constructor.}  A new C program program, ``construct,''
can be used to construct arbitrary Hermes values and store them in
files in a form suitable for reading via the ``readObject'' and
``pathReadObject'' functions.

\item{\em Name changes.}  The ``hermi'' command has been renamed to
``hermes'', and what was formerly called ``hermes'' is now ``hparse.''
There's also a new command ``hsh'' which is simply an abbreviation for
``hermes cache shell.''

\item{\em New platforms.} Ports to three new platforms have been
provided by users of release 0.6alpha:

\begin{itemize}

\item NeXT Machine: ported by Seth Strumpf and Rob Lehman of Columbia
University's Center for Computing Activities.

\item HP 9000-series running HP-UX: ported by Willard Korfhage of
Brooklyn Polytechnic Institute.

\item Convex: ported by Willard Korfhage of Brooklyn Polytechnic
Institute.

\end{itemize}


\end{itemize}
