algae

Algae(1)                    General Commands Manual                   Algae(1)



NAME
       algae - another matrix programming language

SYNOPSIS
       algae [-DhinpRrSsVx] [-d num] [-e script] [ filename ... ]

DESCRIPTION
       algae is an interpreter for the Algae programming language.  This
       language provides a technical computing environment for numerical
       analysis.

       This entry describes only how to run algae; see the manual (either
       printed or on-line) for information on the Algae language, the standard
       functions, the data types, etc.  At algae's interactive prompt, type
       "help" to get the basics.

       The input to algae is read from the list of files on the command line,
       or from standard input if the list is empty.  Options are introduced
       with a hyphen, except that a lone hyphen acts as a file name and refers
       to standard input.

OPTIONS
       algae has the following options:

       -D     turns on the disassembler, which prints algae's opcodes in a
              form like assembly language.  This is used for debugging the
              algae implementation.  You'll probably want to combine this with
              the -S option.

       -di    sets the debug level to i, where i is an integer.  This is
              normally of use only for debugging the algae implementation.

       -e script
              allows you to provide a script for algae to execute from the
              command line, rather than from a file or from standard input.
              Such a script is executed after any startup files but before any
              other files are executed.  Any number of -e options may be
              given, and the specified scripts are executed in the order in
              which they appear on the command line.

       -h     prints a brief description of the command line arguments.

       -i     causes algae to use interactive mode when reading from the
              standard input device.  Without this option, algae uses
              interactive mode only when its input appears to be from a
              terminal.  In interactive mode, input is parsed a line at a time
              and exceptions do not cause algae to exit.

       -n     changes the way that scalars are displayed.  The printing
              statements normally precede the scalar's value with a tab, and
              follow it with a newline.  With this option set, neither the tab
              nor the newline is printed.  (For character scalars, the
              quotation marks are also omitted.)  This option affects the
              printing statements only, and has no effect on the functions
              like printf.

       -p     enables execution profiling, a means for determining the
              execution time characteristics of your Algae program.  When
              profiling is enabled, the profiler periodically interrupts algae
              and records the line that is currently being executed.  When
              algae exits, it records this data in the file algae.out in the
              current directory.  Use the prof function to read the algae.out
              file and summarize it by file and by line number.

              You may wish to use the strip function in conjunction with
              profiling.  Since strip removes the line and file information
              from a function, any time spent in a call to that function gets
              charged to the line from which it was called.

              We've encountered several systems on which operating system bugs
              prevent the execution profiler from working correctly.  These
              include a DECstation and a Titan, both with MIPS architectures.
              If you have such a system, then algae should have been installed
              with the execution profiler disabled.  In that case, you'll get
              an error message if you try to use the -p option.

       -R     causes algae to run in restricted mode.  The "system" function
              is disabled, as are "pipes".

       -r     forces algae to skip its command line editing and history
              facility.  This facility is normally available, unless your
              version of algae was installed without it.  The editing commands
              are similar to Emacs: forward (C-f), backward (C-b), up (C-p),
              and down (C-n).  You can also change to vi style (M-C-j).

       -S     skips reading algae's startup files.  This means that many of
              the standard functions will be unavailable.

       -s     skips reading the user's startup file in ~/.algae.

       -V     prints the version information.

       -x     causes algae not to default to reading stdin when no file names
              are given on the command line.

FILES
       algae.A
              The system startup file for algae.  Often located in the
              /usr/local/lib directory, its default name and path may be set
              to something different during installation and they may be
              overridden with an environment variable named ALGAE_RC0.  This
              file is not read if the -S option is given.

       ~/.algae
              The user's startup file, normally read after algae.A.  This file
              need not exist, and is skipped if either -S or -s option is
              given.  Its name may be overridden with the ALGAE_RC1
              environment variable.

       tools  A directory containing Algae files to define many of the
              standard functions.  This is often named /usr/local/lib/algae,
              but its name is irrelevant so long as algae.A correctly
              identifies it.

       algae.info
              The on-line version of the manual (along with algae.info-1,
              algae.info-2, etc.).  These should be in /usr/local/info, or
              wherever your Info reader expects them.

BUGS
       Bugs should be reported to ksh@sideslip.org.  See the "Bugs" section of
       the manual for hints on how and when to report them.  A list of known
       bugs is also given there.

RESTRICTIONS
       Copyright (C) 1994-2001  K. Scott Hunziker.
       Copyright (C) 1990-1994  The Boeing Company.

       Algae is free software.  You can redistribute it and/or modify it under
       the terms of the GNU General Public License as published by the Free
       Software Foundation; either version 2 of the License, or (at your
       option) any later version.

       Algae is distributed in the hope that it will be useful, but WITHOUT
       ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       for more details.

       You should have received a copy of the GNU General Public License along
       with Algae; see the file LICENSE.  If not, write to the Free Software
       Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.

       The copyright to major portions of Algae belongs to The Boeing Company.
       The following permission notice and warranty disclaimer pertain to
       those portions of the code:

              Permission to use, copy, modify, and distribute this software
              and its documentation for any purpose is hereby granted,
              provided that the above copyright notice appear in all copies,
              that both the copyright notice and this permission notice and
              warranty disclaimer appear in supporting documentation, and that
              the names of Boeing or any of its entities not be used in
              advertising or publicity pertaining to distribution of the
              software without specific, written, prior permission.

              BOEING DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
              INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS,
              AND NONINFRINGEMENT.  IN NO EVENT SHALL BOEING BE LIABLE FOR ANY
              SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
              DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA, OR PROFITS,
              WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE, OR OTHER TORTIOUS
              ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
              PERFORMANCE OF THIS SOFTWARE.

       Caution: Use of this product as a substitute for a healthy physical,
       emotional, and spiritual life is not recommended and could be harmful.

AUTHORS
       algae was designed and implemented by Scott Hunziker and Mike Brennan.



Version 4.3.6                  February 22, 2004                      Algae(1)