DragonFly On-Line Manual Pages
Algae(1) DragonFly 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)