Implementation
    - Can we use type info to remove some of the shift/reduce conflicts ?
    
Support System
    - the distribution should contain the results of the gperf (check how egcs
      handles this)

gb/
	Write the sandbox routines; we need to ensure files are below a
certain directory, that the disk cannot be filled, that security flags are
expanded to allow / inhibit file removal / truncation etc.

	Fix exception_firev / fire to take a va_list & inclue vararg.h
	Write decent function writing documentation
	Segment some of the structures / functions from gb-main.[ch], they
belong elsewhere.
	Sort out the 'Call' statement.
	Array support must move into 'gb'.
	Move object names into GbObject ?
	Fix the evilness of all these function names which are also
statements conflicting variously.

gbrun/

	For every function, split the vital function description string out
into a #define, and locate the definitions near the implementations in the
file.

	Replace &A with _A for gnome shortcuts to work.
	Implement Load / UnLoad, each will enter a new gtk_main, and hence
when all is unloaded we will quit.
	Move the array code into gb/ and make it more explicit / add handlers.
	Convert the form to a canvas and implement the line drawing methods
	Sort out collections, and particularly the '!' operator which does
a collection lookup in short hand somehow.

	Sort out the mess with GBExpr's as default values.
	Named parameters to functions.
	Get security on object arguments implemented.
	Is it possible to write VB procedures that have VarArg capabilities;
if so we need to put some more work into gbe_method_invoke_gb.
	Need some winelib stubs we can dlopen to allow native Windows functions
to be called, we need to split the stubs such that we only start linking the
massive winelib as and when we need to.
	Memprof the lot,
	Sort out nightmares such as Mid (str, 1, 3) = 'C' etc. Syntactic grimness.
	Bonobo property hookup,
	CORBA interface via Dick's code.
	Actually after reading Dick's code, it might be best to write a nice 'C'
interface to his CORBA and then use that ( that way we help everyone else that
wants to do DII/DSI without the horrors of exception handling ).
	Put the tooltip property in gbrun-form-item.c

	Good to split loop invariants out, esp. loop conditions, hook iteration
count into gbrun-statement.c (gbrun_frame_stmt_next): and start doing serious
optimization on loops with iteration counts > 5

	Wrap GTK objects with 'gb' objects, needs some clever hacking, and
	working out the minimal set of static functions we can get away with,
	we should be able to autogenerate this from the defs files perhaps.
