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 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.) ------------------------------------------------------------------------