Algae(1)Algae(1)NAMEalgae - another matrix programming language
SYNOPSISalgae [-DhinpRrSsVx] [-d num] [-e script] [ filename ... ]
DESCRIPTIONalgae is an interpreter for the Algae programming language. This lan‐
guage provides a technical computing environment for numerical analy‐
sis.
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.
OPTIONSalgae 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 nor‐
mally 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 stan‐
dard 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 excep‐
tions do not cause algae to exit.
-n changes the way that scalars are displayed. The printing state‐
ments 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 execu‐
tion 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 pro‐
filing. 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 facil‐
ity. 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 over‐
ridden 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 environ‐
ment variable.
tools A directory containing Algae files to define many of the stan‐
dard 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, pro‐
vided that the above copyright notice appear in all copies, that
both the copyright notice and this permission notice and war‐
ranty disclaimer appear in supporting documentation, and that
the names of Boeing or any of its entities not be used in adver‐
tising 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 DAM‐
AGES 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 PERFOR‐
MANCE 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.
AUTHORSalgae was designed and implemented by Scott Hunziker and Mike Brennan.
Version 4.3.6 February 22, 2004 Algae(1)