home *** CD-ROM | disk | FTP | other *** search
- Path: sparky!uunet!cs.utexas.edu!swrinde!emory!emory!not-for-mail
- From: obelix.informix.com!johnl@emory.mathcs.emory.edu (Jonathan Leffler)
- Newsgroups: comp.databases.informix
- Subject: Re: Improvements to I4GL
- Date: 21 Dec 1992 06:48:08 -0500
- Organization: Mailing List Gateway
- Lines: 92
- Sender: walt@mathcs.emory.edu
- Distribution: world
- Message-ID: <1h4atoINN9nq@emory.mathcs.emory.edu>
- Reply-To: obelix.informix.com!johnl@emory.mathcs.emory.edu (Jonathan Leffler)
- NNTP-Posting-Host: emory.mathcs.emory.edu
- X-Informix-List-ID: <list.1728>
-
-
- Dear Paul,
-
- The following items are on my wishlist for I4GL, over and above the INPUT
- ARRAY stuff which has already been supplied by other people.
-
- * Dynamically configurable reports.
-
- * Modular report code. So you can call a function to do a standard block of
- PRINT statements without having to write it out several times.
-
- * Concurrent activations of a single report, so that I could send one copy
- of the report to the screen, a second copy to the printer, and a third
- to the fax system, each with a different page size.
-
- * An ELSIF clause.
-
- * Removal of restrictions on where expressions can be used. Eg: subscripts
- cannot be function calls or subscripted variables; substrings cannot be
- used in DISPLAY statements (INPUT statements, etc).
-
- * Better format control for exponential notation decimal/float numbers.
-
- * Mechanism to determine the current value of OPTIONS.
-
- * ATTRIBUTE values should be able to be variables. WINDOWS should be
- variables, so if I need an array of windows, I can use one. Ditto
- forms. I could then find the current window, make a different
- window current, then restore the current window. Ditto for things like
- help files.
-
- * Pass arrays between functions, even if only by reference.
-
- * Pass records to functions by reference.
-
- * Ability to define constants for use in array dimensions, etc (#cefine).
-
- * Ability to include multiple globals files. (#include) Actually, should
- also be able to include definitions too -- and arguably arbitrary code.
-
- * Conditional compilation. (#if, #ifdef)
-
- * Ability to hide functions. (static)
-
- * Vertical menus.
-
- * String concatenation in source code.
-
- PREPARE st_select FROM
- "SELECT * FROM Quoted_products"
- " WHERE Product_code = ?"
-
- * Allow question marks in directly declared cursors.
-
- DECLARE c_select CURSOR FOR
- SELECT * FROM Quoted_products
- WHERE Product_code = ?
-
- * More powerful picture validation.
-
- * Ability to have arrays of word-wrapped fields in a form.
-
- * Ability to distinguish between a blank and a null field in a form.
-
- * Ability to find dimension of screen array. Ditto dimensions of window,
- position of menu line, prompt line, comment line, etc.
-
- * PROMPT "Password: " FOR password WITHOUT ECHO.
-
- * Screen dumps.
-
- * Program Compile should be able to compile forms, and should recognise
- globals files. (RDS does recognise globals, I4GL does not -- this
- difference is unforgivable!)
-
- * RDS should be provided with a library tool and a linker to use the
- libraries. I have a pair of programs called RDSLIB and RDSLINK. RDSLIB
- is like RANLIB; it creates a symbol-table file at the beginning of an
- archive (with extension .4ga) which contains the symbols defined by .4go
- files in the archive. RDSLINK concatenates the .4go files and scans the .4ga
- archives to produce an interpretable .4gi file.
-
- I am studiously ignoring any inside information on what is going to happen
- in the next release of I4GL -- these features are simply a list of the
- principal modifications that I think should be made to I4GL.
-
- I trust that you will eventually post a summary to the net of the changes
- suggested.
-
- Yours,
- Jonathan Leffler (johnl@obelix.informix.com) #include <disclaimer.h>
-
-