PLANS:	These plans are tentative, and there is no asociated timetable.

	v1.0: Release

	v1.1: Dynamic linking

	v1.2; Dynamic linking libraries

	v1.3: Function compiler.

TODO:	Contributors database....

	Function to detect inf and NaN before it is passed to a
	Fortran routine.

	64 bit machines need some help, like with Inf and Nan
	definitions. 

	Timing tests...

	Add loadir () to rlib

	Allow RLAB_LIB_DIR to be a separated path list.

	SUPPORT/contrib/hypermat.r
	SUPPORT/contrib/gnuplot.r

	Allow the lib directories to contain non .r files.

	DYNAMIC LINKING...

	Integrate OS/2, DOS ports...

	Figure out why plalt() produces "funny" plots with alt=90 deg.
	Look in plot3d default scale values.

	Make the data stack into a stack-of-stacks, use existing
	checks in pop() and push() to jump between stacks.

FINISH:

ADD:

	Solve, factor etc, need to recognize symmetric inputs, and do
	something better, maybe chol...

	Write btree_node_delete();

	Make scanner read from a character string, then make eval read
	directly from string, and create meval() which will evaluate
	string matrices.
	
	error tracebacks (shouldn't be too hard if we use the current
	frame-stack to get our error information).

	Make using system() easier. Some kind of simpler syntax. `!'
	is already used for `!='.

	rlib/tanh.r -> instead of calling sinh() and cosh(), you should
	expand it to (exp(x) - 1/exp(x) ./ (exp(x) + 1/exp(x)), as this would
	reduce the number of exponentials calculated. You could also use the
	exp(-x) = 1/exp(x) trick in cosh.r and sinh.r.

Start thinking about:

	Consider a more elaborate help-file searching scheme. One that
	could find the help file `IF' with a `help if'.

	ReDo if, for, while, use jmps instead.

	Interactive debugging (single step capability)

	Sparse matrices (?, a real maybe)

	Consider labels, and regular expression matching in strings.
	Also more elaborate find(), maybe an expression ? 

	Make [fps]rintf() recognize %m (matrix)
