
Announcing the release of Yorick version 1.4, now available for UNIX,
MacIntosh, and Windows platforms from several Internet archive sites.
The new Windows port is beta or maybe alpha software -- caveat user.

------------------------------------------------------------------------

			  Yorick Version 1.4

What is Yorick?
---------------

Yorick is an interpreted language like Basic or Lisp.  For an interpreter,
Yorick is very fast for many scientific applications.  It features:

     * A C-like language, but without declarative statements.  Operations
       between arrays require no explicit loops, which accounts for
       Yorick's high speed.  Scientific computing and numerical analysis
       are the goals of most Yorick sessions.

     * An X window system interactive graphics package.  Concentrates on
       x-y plots and filling and contouring quadrilateral meshes.  Also
       handles cell arrays.  Hardcopy to binary CGM or PostScript files.
       Includes a separate CGM browser.  The MacIntosh version draws
       graphics to an ordinary Mac window and can write PICT files.
       Tools to assist making animated and simple 3D graphics.

     * Yorick's binary file package can read or write floating point
       formats foreign to the machine where Yorick is running.  Thus,
       you can share binary files freely on heterogeneous networks.

     * A library of functions written in the Yorick language.  Includes
       Bessel, gamma, and related functions, multiple key sorting,
       spline, rational function, and least squares fitting, and routines
       to read and write netCDF files.

     * Provisions for embedding compiled subroutines and functions within
       a Yorick interpreter.  Includes a sample package which solves
       matrices and performs FFTs.

Because Yorick can read either text or binary files, it can be used
"out of the box" as a pre- and post-processor for most existing
physics simulation programs:

  As a pre-processor, you can write a Yorick program that produces
  complicated input files for a simulation.  These might be based on
  output from other programs, or might require evaluation of complicated
  functions or involve a lot of repetition.

  As a post-processor, Yorick allows you to compare the results of
  several simulations or to analyze results of a single simulation in
  ways you did not forsee when you ran it.

Also, developing a simulation code is considerably easier when you
have a tool like Yorick: If you plan to use Yorick to generate input
files, you don't need to fuss about making your input "user friendly";
if you plan to post-process with Yorick, your simulation code doesn't
need any graphics, and its output can be generally less flexible.

Finally, you can build special versions of Yorick to act as drivers
for your compiled routines.  An interpreted Yorick program can
generate input for your routine and plot its output.  A large modular
simulation code could be built by loading several such routines and
writing the main control loop as interpreted code.

Read the article in the Nov/Dec 1995 issue of Computers in Physics
(Vol. 9, p. 609) for more details.


Requirements
------------

You need an ANSI C compiler in order to build Yorick "as is".

The Yorick configure script knows about the following platforms:

     Sun SPARC   (SunOS or Solaris)
     HP PA-RISC  (HPUX)
     SGI         (IRIX)
     Cray Y/MP   (UNICOS)
     IBM RS6000  (AIX)
     DEC alpha   (OSF)
     Intel Pentium (Linux)

Other flavors of UNIX should present few problems.

A 99% complete port to the MacIntosh architecture exists.  This is
especially useful for sharing binary data between UNIX and Mac
platforms; not only can Yorick read data files, but analysis
algorithms written in the Yorick language can be used on either
platform.  The MacIntosh Yorick is distributed as executable binaries
in self-extracting archives.

A rather less complete Windows port exists.  The main limitations right
now are that you can't print graphics (although you can make PostScript
files, so if you can print those you're OK), and you need an external
text editor (the Mac version has an integrated text editor).

Availability
------------

Yorick is available at the following archive sites:

     wuarchive.wustl.edu: /languages/yorick/yorick-1.4.tar.gz
     sunsite.unc.edu: /pub/Linux/apps/math/matrix/yorick-1.4.tgz
     netlib.att.com: /netlib/env/yorick-1.4.tar.gz
     netlib2.cs.utk.edu: /env/yorick-1.4.tar.gz

The MacIntosh version of Yorick will soon become available at:

     sumex-aim.stanford.edu: /info-mac/dev/yorick-*

and its many mirrors (e.g.- ftp.uu.net:/archive/systems/mac/info-mac).

My home machine is not really equipped to be an archive, but if any
version of Yorick is there, it will be the current one.  Please use the
mirror of /pub/Yorick on my machine at wuarchive.wustl.edu: in the
/languages/yorick directory, if possible:

     ftp-icf.llnl.gov:/pub/Yorick/yorick-1.4.tar.gz
     ftp-icf.llnl.gov:/pub/Yorick/macintosh/yorick-*
     (only off hours; use wuarchive mirror if possible)

I will also keep a list of known bugs and installation problems on ftp-icf:

     ftp-icf.llnl.gov:/pub/Yorick/yorick-README
     ftp-icf.llnl.gov:/pub/Yorick/yorick-NEWS

Finally, ftp-icf will have any patches to the current distribution.


Who to contact
--------------

If you write an interesting, self-documenting Yorick include file,
please tell me about it at munro@icf.llnl.gov.  I will try to collect
useful programs to be part of the next distribution.

If you repair a bug or have constructive comments, send email to:

     munro@icf.llnl.gov       <David H. Munro>

The MacIntosh port was done by Steven H. Langer, shl@icf.llnl.gov.

You can also subscribe to the Yorick mailing list by sending the message
     subscribe yorick
(in the *body* of the message, *not* the Subject: header) to
     majordomo@lists.llnl.gov
If you have some question, comment, or Yorick source code you think
might be valuable to other Yorick users, you may post it to all the
subscribers by sending it to
    yorick@llnl.gov
(Potentially dumb questions - and all installation problems - should
still go to munro@icf.llnl.gov.)

------------------------------------------------------------------------
Note on version 1.4:

Version 1.3 was too big a step from 1.2 -- I introduced a large number
of rather nasty bugs.  The bug fixes have settled down pretty well
now, so version 1.4 is pretty much what 1.3 was supposed to be.  The
Mac and Windows ports use the 1.4 patches, so the easiest thing was to
bump the version number to 1.4 when these were released, so that the
version number 1.4 means the same thing on any platform.

------------------------------------------------------------------------
New with version 1.3:

The optional MPY (Message Passing Yorick) package, which adds a
message passing interface to Yorick based on the MPI standard.  It is
still unclear what role an interpreter like Yorick will play in
parallel processing environments, so this is very experimental.

Rotated text and escapes for symbols, super, and subscripts, filled
contour plots, user definable polymarker shapes.

Major bug fixes to X graphics error and color handling.  (Now works on
DEC alpha consoles.)

The rlterm terminal emulation program is part of the yorick
distribution.  This is for people who want to run yorick in an xterm
window and want GNU readline functionality.  The readline package is
incompatible with Yorick (your graphics window goes dead when readline
blocks waiting for keyboard input), but you can build rlterm then
alias yorick to "rlterm yorick" to have your cake and eat it too.  (I
run Yorick under emacs shell mode, which provides a large superset of
the readline functionality, including automatically popping up an
editing window positioned at the point of an error in a Yorick program
by decoding Yorick error message information.)

------------------------------------------------------------------------
