UNTITLED() LOCAL UNTITLED()
NAME
redfront, rfcsl, rfpsl — REDUCE frontend
SYNOPSIS
redfront [−bhuvV] [−c colorspec] [[
−m ] bytes[
kKmM ]] [−− ...]
rfcsl
[−bhuvV]
[−c colorspec]
[−− ...]
rfpsl [−bhuvV]
[−c colorspec] [[
−m ] bytes[
kKmM ]] [−− ...]
DESCRIPTION
redfront is a terminal-based interactive frontend for the reduce(1) computer algebra system. It uses the editline(3) library to provide editing facilities.
This man page only covers redfront. For information on REDUCE find its documentation at http://www.reduce-algebra.com.
The executable REDUCE to be used by redfront is compiled into the program. After proper installation you will find in the bin directory of your REDUCE tree symbolic links rfcsl and/or rfpsl for your CSL-based and PSL-based REDUCE, respectively.
The following options are available:
−b
Black-and-white mode. That is, do not adjust any terminal colors.
−c colorspec
The format of the colorspec string is adopted from the LSCOLOR environment variable of ls(1). It is a concatenation of pairs of the format fb, where f is the foreground color and b is the background color.
The color designators are as follows:
a
black
b
red
c
green
d
brown
e
blue
f
magenta
g
cyan
h
light grey
A
bold black, usually shows up as dark grey
B
bold red
C
bold green
D
bold brown, usually shows up as yellow
E
bold blue
F
bold magenta
G
bold cyan
H
bold light grey; looks like bright white
x
default foreground or background
Note that the above are standard ANSI colors. The actual display may differ depending on the color capabilities of the terminal in use.
The order of the attributes are as follows:
1.
redfront output,
2.
reduce(1) output that is not typeset as a mathematical formula,
3.
reduce(1) prompts,
4.
input lines,
5.
reduce(1) output that is typeset as a mathematical formula. As a rule these are the evaluation results in the algebraic mode,
6.
debugging output, which appears only when redfront is configured and compiled for debugging.
Except for the debugging output color the chosen order of the colors is as they appear on the screen when starting redfront.
The default is "fxxxbxbxexgx", i.e. magenta redfront output, general reduce(1) output in the terminal foreground color, red prompts, red input lines, blue mathematical output, and cyan debugging messages, where the background is generally the default terminal background.
−h
Print a help message
[
−m] bytes [
kKmM]
[PSL-based REDUCE only] Specify the number of bytes used for the Lisp heap. Case insensitive k ("kilo") is expanded to 000, and m ("mega") is expanded to 000000.
On PSL based 64 bit systems, heap sizes less than one million are multiplied on the REDUCE side by one million. This happens after the expansion of k and m. For instance, 1 = 1m yields 1 MB, and 1k yields 1000 MB. Consequently, k denotes GB until 1000k, which is again 1 MB. At present, this mechanism should be used in order to avoid a possible integer overflow in the heap size argument to the underlying binary PSL.
For historical reasons, it is also possible to drop the −m passing the heap size as a command instead of as an option. This variant is deprecated and likely to be removed in the future.
−u
Automatically load the reduce(1) package "utf8" at startup. This uses unicode characters for the mathematical output. Note that the use of −u requires a UTF-8-capable terminal, which is not checked by redfront.
−v | −V
Print a more verbose banner message. In addition, print information when updating the internal database of known packages, modules, and switches (see Section on TAB Completion below).
−−
A command line argument of "--" marks the end of option arguments. Any arguments following this are directly passed to the REDUCE program spawned by redfront, in addition and after those generated by redfront. For this sake, we consider the memory specification an option also when not using the −m format.
KEY BINDINGS
The editline(3) command line_help, which is bound to the function key F2 by default, displays all current bindings of key sequences to editline(3) commands.
TAB COMPLETION
The string "load_" is completed to "load_package." After "load_package" Reduce package names are completed. Reduce packages in this sense are exactly those listed in trunk/packages/package.map. rfpsl completes these package names also after all other load commands besides "load_package". rfcsl, in contrast, completes after any load command other than "load_package" loadable modules, which establish a quite comprehensive superset of the Reduce packages.
After double quotes there are filenames completed with respect to the directory that redfront has been started in.
After "on" and "off" there are switch names completed. To cover also switches that become available during a session via explicit declaration or loading or reading packages or modules, the database of redfront can be explicitly updated via the editline(3) command line_learn_completion, which is bound to ESC-Z by default. With the −V | −v option there is some information printend when updating.
IMPLEMENTATION NOTES
For redfront 1 KB is 1000 Bytes in contrast to 1024 Bytes, 1 MB is 1000 KB, and so on.
PSL based REDUCE on 32 bit systems generally does not admit more than 128m heap size. On some systems (e.g. Mac G4, Solaris) this even reduces to 64m. On some architectures the command and the −m option are generally ignored on the REDUCE side. The heap is then set to the maximum possible size.
FILES
$HOME/.reduce_history
stores command history between sessions.
$PWD/.editrc, $HOME/.editrc
are editline(3) configuration files, in which global settings as well as particular settings for redfront can be made. See editrc(5) for details. At startup redfront sources the first one of these that exists.
SEE ALSO
editline(3)
EXAMPLES
The following starts redfront for PSL-based reduce(1) via the corresponding symbolic link with unicode support and 1 GB heap on a 64 bit architecture:
rfpsl -u -m 1k
HISTORY
The first version of redfront was derived from an X(7) interface by C. Cannam and W. Neun. Earlier versions have been realized and distributed by W. Neun and by A. Dolzmann and T. Sturm starting in 1999.
AUTHORS
T. Sturm 〈sturm@redlog.eu〉
BUGS
Due to limitations of editline(3) the prompt coloring does not work. The prompt generally receives the same color as the input.
The builtin editline(3) command line_help (bound to F2) for displaying all current key bindings appears to have some problems with correctly printing key sequences.
The choice of background colors with −c is not implemented yet. Nevertheless, choices must be specified in the colorspec argument, which are generally treated like "x" at present.
The PSL heapsize selection policy for 64 bit architectures in contrast to 32 bit architectures (necessary to avoid some integer overflows on the former) is unintuitive and should probably be hidden via redfront. GNU Jan 6, 2010 REDFRONT(1)