     YORICK(1)                                                         YORICK(1)
                                   1994 August 30

     NAME
          yorick

     SYNOPSIS
          yorick [ -i file1.i [ -i file2.i [ ... ]]]
          yorick -batch file.i

     DESCRIPTION
          Yorick is an interpreted language like Basic or Lisp, but far faster.
          It features:

          *  A C-like language, but without declarative statements.  Operations
             between arrays produce array results, which is one reason for
             Yorick's high speed.

          *  An X window system interactive graphics package.  Concentrates on
             x-y plots and filling and contouring quadrilateral meshes.  Also
             handles cell arrays.  Graphics can be output to binary CGM or
             PostScript files as well.  A separate CGM browser, gist(1), is
             included.

          *  A binary file package which can read or write floating point
             formats which are foreign to the machine where Yorick is running.
             Thus, you can share binary files freely on a heterogeneous network.

          *  A library of functions written in the Yorick language.  These
             include 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.  A compiled package which solves matrices and
             performs FFTs is supplied.

          You cannot learn to program in Yorick by reading this man page.
          Instead, start Yorick (with no arguments) and type:
             help
          This will tell you the name of the Yorick site directory at your site.
          The site directory contains a doc/ subdirectory; read the README file
          there to find out about more documentation.  The Yorick user manual is
          in project GNU's TeXinfo format, which can be either printed or read
          online as hypertext using the info command in GNU Emacs.  Also
          available are a set of six quick reference sheets (as PostScript), and
          alphabetized collections of all of Yorick's online help comments
          (accessible via the help command).  Finally, the include/ subdirectory
          of the Yorick site directory is a library of functions which are
          written in the Yorick language, which are also helpful as examples of
          how to write Yorick programs.

          To demonstrate Yorick, start Yorick and type the following two lines:
             #include "demo1.i"

                                        - 1 -           Formatted:  May 24, 2000

     YORICK(1)                                                         YORICK(1)
                                   1994 August 30

             demo1
          After the little movie runs on your X window system display, try:
             help, demo1
          Follow the SEE ALSO references in this help message by issuing
          additional help commands.  Also, the help command will print the full
          pathname of the demo1.i file.  Read this file to see how the demo1
          function works.  You can repeat this procedure with demo2.i, demo3.i,
          and demo4.i:
             demo1 - movies of sound and shock waves
             demo2 - movies of a drumhead oscillating
             demo3 - movie of a chaotic pendulum
             demo4 - visualization of the flow field around an airfoil
          You can run a crude tutorial introducing all of the Yorick graphics
          commands by starting Yorick and typing:
             #include "testg.i"
             grtest
          You can get a description of the various files in the interpreted
          library by typing (as a command to Yorick):
             library

        Options
          -i file.i           includes the Yorick source file file.i as Yorick
                              starts.  This is equivalent to the #include
                              directive after Yorick has started.

          -batch file.i       includes the Yorick source file file.i as Yorick
                              starts.  Your customization file custom.i, if any,
                              is not read, and Yorick is placed in batch mode.
                              Use the help command on the batch function (help,
                              batch) to find out more about batch mode.  In
                              batch mode, all errors are fatal; normally, Yorick
                              will halt execution and wait for more input after
                              an error.

     AUTHOR
          David H. Munro, Lawrence Livermore National Laboratory

     FILES
          Y_SITE refers to the Yorick site directory; use the help command to
          find its name at your site (the variable Y_SITE also contains the name
          of the site directory):

          Y_SITE/doc/*             documentation, including the quick reference
                                   sheets, user manual, and alphabetized
                                   collections of all the online help messages.

          Y_SITE/include/*.i       a library of interpreted Yorick functions.
                                   Here are Bessel, gamma, and beta functions,
                                   multiple key sorting, curve fitting
                                   functions, and more.  The file readme.i has a
                                   more complete description.

                                        - 2 -           Formatted:  May 24, 2000

     YORICK(1)                                                         YORICK(1)
                                   1994 August 30

          Y_SITE/gist/*            graphics style sheets, palettes, and
                                   PostScript template

          Y_SITE/startup/*.i       include files Yorick needs to read whenever
                                   it starts.  Several of these contain the
                                   definitions of functions which you may need
                                   to read in order to fully understand their
                                   operation, or as examples of Yorick programs.

     BUGS
          If x is a scalar int, long, or double,
             x(1)= scalar-expression
          will fail.  You normally wouldn't do the assignment like this (you
          would just redefine x).  Usually, you can work around this bug using
          the merge function; do "help, merge" and read Y_SITE/include/bessel.i
          for examples of the merge function.

          Expressions like openb("file_containing_x").x do not work, even though
          they are syntactically and logically correct.  It turns out the file
          closes before the data can be read.  This one may be fixable, but it's
          not easy.

          The nice= and restrict= keywords to the limits function don't seem to
          work properly.

          Clipping of filled mesh plots (the plf command) is not always correct.

          Text -- particularly curve markers -- is clipped by not drawing it;
          the absence of partial characters at the edge of a plot puzzles most
          people.

          Recursive debug mode (debugging an error which occurred while you were
          debugging) doesn't work.  Also, Yorick can't always get into and out
          of its debug mode properly.  Occasionally, it will get the line number
          where an error occurred wrong, especially if the error was in the
          condition or increment clause of a for loop.

          On pseudocolor displays, a color image may require you to move the
          mouse into yorick's X window to display properly, if you use the
          private=1 option of the window command.  Unless your window manager
          allows you to set colormap focus independently of keyboard focus, this
          can be annoying.

          Unless you use the dump=1 keyword with the hcp_file command,
          PostScript and CGM graphics output files will contain gray scale
          equivalents of the color images you see on your screen.  If you use a
          color printer, this can be confusing.

     SEE ALSO
          gist(1)

                                        - 3 -           Formatted:  May 24, 2000