NAME RLaB - matrix oriented, interactive programming environment SYNOPSIS rlab [-Vdlmnpqr] [file(s)] [-] DESCRIPTION rlab is an interpreter for the RLaB Programming Language/Environment. The RLaB language is useful for matrix or array oriented numerical analyses. RLaB is especially useful for prototyping and experimenting with algorithms. rlab also provides a convenient interface to many of the LAPACK, FFTPACK, and RANLIB subroutines. OPTIONS -V Prints the version number to stderr and exits. -d causes a readable form of the internal stack machine's compiled program to be output to stderr. This option should be used in conjunction with `-qln' options. This option is not intended for general use. -l prevents loading of the rlab library of rfiles. -m prevents printing of the greeting message. -n prevents line number and file name information from being used in the internal stack machine codes. This option should only be used with the `-dlnq'. This option is not intended for general use. -p prevents rlab from using the specified pager for all output. -q prevents loading of the startup file -r prevents usage of the GNU readline library for command line editing. file(s) are loaded and executed by rlab after the `.rlab' file, and after the library files. - forces rlab to go interactive after all the files on the command line have been executed. ENVIRONMENT rlab checks the values of several environment variables upon Version 0.95 beta 3 October 1993 1 startup, and uses them to overide the compiled in defaults. If a particular environment variable has not been set, the default value is used. RLAB_RC0 Startup rfile. RLAB_HELP_DIR The principle directory of help files. RLAB_LIB_DIR The directory of rfiles to load on startup. RLAB_PAGER The pager to use for paging help files to the screen. If RLAB_PAGER is not set, then the environment is checked for PAGER . If neither exists, then the pager speci- fied at compile time is used. RLAB_SEARCH_PATH The set of directories to search when attempting to load rfiles. EXECUTION rlab is normally executed from a shell command line. Upon startup rlab Processes the command line options and files. Executes the `.rlab' file. Executes any `.r' files in the library directory. Executes any files specified on the command line. Goes into interactive mode if no files are specified on the command line, or if the `-' option is used. rlab can also be invoked by using the `#!' convention employed by exec(2). A rlab script that begins with a line of the form: #! pathname [arg] where pathname is the full pathname to the rlab executable, and arg is optional argument(s). Note that if the `-' option is not specified rlab will not go interactive after the script has been executed. DOCUMENTATION rlab has an on-line help system, which can be accessed by typing `help'. A tutorial and a reference manual are currently being worked on. This man-page was not intended to provide a description of Version 0.95 beta 3 October 1993 2 the language, or rlab's features. Please refer to the manu- als, or the on-line help. BUGS Paged output gets hosed after an `out of memory' message. rlab implements fprintf(), printf() and sprintf() using the C library functions, fprintf, printf and sprintf, so rlab inherits any bugs or limitations of the library functions. Using the load() function on the same line as another expression may cause the other expression to be ignored. For example: load ("test.r"); a = 100 Will result in the second expression being ignored. This is caused by the original syntax being used with the new parser/machine capability. What happens: the tokens for the second expression get wiped out when the parser is called to start parsing the statements in test.r. The workaround is simple; don't put calls to load() on the same line as other expressions. This bug will be fixed in one or two releases. Send bug reports to: ians@eskimo.com. Bug reports should include the rlab version number, a short rfile that exercises the bug, and a description of the host operating system and hardware. AUTHORS Ian Searle (ians@eskimo.com) Phillip Musumeci is the author of the RLaB Tutorial (Not Available Yet) Brad Hards is the author of the RLaB Reference Manual (Not Available Yet) Mike Brennan has contributed some code from mawk. SEE ALSO sh (1) more (1) exec (2) Version 0.95 beta 3 October 1993 3