home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #31 / NN_1992_31.iso / spool / comp / database / informix / 2767 < prev    next >
Encoding:
Internet Message Format  |  1992-12-21  |  3.7 KB

  1. Path: sparky!uunet!cs.utexas.edu!swrinde!emory!emory!not-for-mail
  2. From: obelix.informix.com!johnl@emory.mathcs.emory.edu (Jonathan Leffler)
  3. Newsgroups: comp.databases.informix
  4. Subject: Re: Improvements to I4GL
  5. Date: 21 Dec 1992 06:48:08 -0500
  6. Organization: Mailing List Gateway
  7. Lines: 92
  8. Sender: walt@mathcs.emory.edu
  9. Distribution: world
  10. Message-ID: <1h4atoINN9nq@emory.mathcs.emory.edu>
  11. Reply-To: obelix.informix.com!johnl@emory.mathcs.emory.edu (Jonathan Leffler)
  12. NNTP-Posting-Host: emory.mathcs.emory.edu
  13. X-Informix-List-ID: <list.1728>
  14.  
  15.  
  16. Dear Paul,
  17.  
  18. The following items are on my wishlist for I4GL, over and above the INPUT
  19. ARRAY stuff which has already been supplied by other people.
  20.  
  21. * Dynamically configurable reports.
  22.  
  23. * Modular report code.  So you can call a function to do a standard block of
  24.   PRINT statements without having to write it out several times.
  25.  
  26. * Concurrent activations of a single report, so that I could send one copy
  27.   of the report to the screen, a second copy to the printer, and a third
  28.   to the fax system, each with a different page size.
  29.  
  30. * An ELSIF clause.
  31.  
  32. * Removal of restrictions on where expressions can be used.  Eg: subscripts
  33.   cannot be function calls or subscripted variables; substrings cannot be
  34.   used in DISPLAY statements (INPUT statements, etc).
  35.  
  36. * Better format control for exponential notation decimal/float numbers.
  37.  
  38. * Mechanism to determine the current value of OPTIONS.
  39.  
  40. * ATTRIBUTE values should be able to be variables.  WINDOWS should be
  41.   variables, so if I need an array of windows, I can use one.  Ditto
  42.   forms.  I could then find the current window, make a different
  43.   window current, then restore the current window.  Ditto for things like
  44.   help files.
  45.  
  46. * Pass arrays between functions, even if only by reference.
  47.  
  48. * Pass records to functions by reference.
  49.  
  50. * Ability to define constants for use in array dimensions, etc (#cefine).
  51.  
  52. * Ability to include multiple globals files. (#include) Actually, should
  53.   also be able to include definitions too -- and arguably arbitrary code.
  54.  
  55. * Conditional compilation. (#if, #ifdef)
  56.  
  57. * Ability to hide functions. (static)
  58.  
  59. * Vertical menus.
  60.  
  61. * String concatenation in source code.
  62.  
  63.     PREPARE st_select FROM
  64.         "SELECT * FROM Quoted_products"
  65.         " WHERE Product_code = ?"
  66.  
  67. * Allow question marks in directly declared cursors.
  68.  
  69.     DECLARE c_select CURSOR FOR
  70.         SELECT * FROM Quoted_products
  71.             WHERE Product_code = ?
  72.  
  73. * More powerful picture validation.
  74.  
  75. * Ability to have arrays of word-wrapped fields in a form.
  76.  
  77. * Ability to distinguish between a blank and a null field in a form.
  78.  
  79. * Ability to find dimension of screen array.  Ditto dimensions of window,
  80.   position of menu line, prompt line, comment line, etc.
  81.  
  82. * PROMPT "Password: " FOR password WITHOUT ECHO.
  83.  
  84. * Screen dumps.
  85.  
  86. * Program Compile should be able to compile forms, and should recognise
  87.   globals files. (RDS does recognise globals, I4GL does not -- this
  88.   difference is unforgivable!)
  89.  
  90. * RDS should be provided with a library tool and a linker to use the
  91.   libraries.  I have a pair of programs called RDSLIB and RDSLINK.  RDSLIB
  92.   is like RANLIB; it creates a symbol-table file at the beginning of an
  93.   archive (with extension .4ga) which contains the symbols defined by .4go
  94.   files in the archive.  RDSLINK concatenates the .4go files and scans the .4ga
  95.   archives to produce an interpretable .4gi file.
  96.  
  97. I am studiously ignoring any inside information on what is going to happen
  98. in the next release of I4GL -- these features are simply a list of the
  99. principal modifications that I think should be made to I4GL.
  100.  
  101. I trust that you will eventually post a summary to the net of the changes
  102. suggested.
  103.  
  104. Yours,
  105. Jonathan Leffler (johnl@obelix.informix.com) #include <disclaimer.h>
  106.  
  107.