home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #20 / NN_1992_20.iso / spool / comp / lang / rexx / 1034 < prev    next >
Encoding:
Text File  |  1992-09-15  |  3.1 KB  |  72 lines

  1. Comments: Gated by NETNEWS@AUVM.AMERICAN.EDU
  2. Path: sparky!uunet!paladin.american.edu!auvm!SERVER.UWINDSOR.CA!OPHOF
  3. X-Mailer: ELM [version 2.3 PL11]
  4. Message-ID: <9209151933.AA07564@SERVER.uwindsor.ca>
  5. Newsgroups: comp.lang.rexx
  6. Date:         Tue, 15 Sep 1992 15:33:20 EDT
  7. Sender:       REXX Programming discussion list <REXXLIST@UGA.BITNET>
  8. From:         Scott Ophof <ophof@SERVER.UWINDSOR.CA>
  9. Subject:      Re: Expressions in compound variables (was Re: NOVALUE)
  10. Comments: To: REXXLIST@uga.cc.uga.edu
  11. In-Reply-To:  <9209151222.AA07451@SERVER.uwindsor.ca>; from "Linda Littleton"
  12.               at Sep 14, 92 5:13 pm
  13. Lines: 57
  14.  
  15. On Mon, 14 Sep 1992 17:13:16 EDT Linda Littleton said:
  16. >In article <REXXLIST%92091210585300@UGA.CC.UGA.EDU>, Dave Gomberg says:
  17. >>On Sat, 12 Sep 1992 06:22:02 GMT Paul Gilmartin said:
  18. >>>   say a.(substr('UVWXYZ',4,1))   /* Why not, haven't you wanted it? */
  19. >>it turned out to be next to impossible to define.
  20. >extension and would reduce the "astonishment factor" new users have when
  21. >they find that things like this (especially simpler things like x.(y+1))
  22. >don't work.
  23.  
  24. We're now 3 years further.  The ANSI-REXX committee might be able to
  25. do what didn't seem possible back then to the SHARE REXX committee?
  26.  
  27. Like in Linda's example:
  28.    x.(y+1)
  29. currently is a call to the FUNCTION "x."...  How's *that* for an
  30. "astonishment factor"?  (*grin*)
  31. TRL says that a functionname must be a symbol or a literal string.
  32. And the dot is a valid character in a symbol.
  33. Do we need to give up the dot as ending character in a function-
  34. name to achieve this?
  35. May I suggest that we *not* suggest use of "{}} (curly braces) or
  36. "[]" (square brackets)?  That's national language stuff, and thus
  37. even "worse" than the whitespace subject...  (*WINK*)
  38.  
  39. In REXX as-is, "stem.'LiTeRaL'" is taken as a stem abutted with a
  40. literal (the stem may or may not have been initialised).
  41.  
  42.    a.x =;    a. =;        (Undefined stem/tail and stem itself)
  43.    Say a.'X'    -->  A.X  (Undefined var abutted with literal)
  44.    a.x = 4;  a. = 0
  45.    Say a.x      -->  0    (Initialised stem, Undefined tail)
  46.    Say a.'X'    -->  0X   (Initialised stem abutted with literal)
  47.  
  48. The last example here actually was a bit astonishing, till the mush
  49. (No, Al, *not* the mail program!  ;-> ) started bubbling...
  50. The problem is, do we want to give up (part of) the abuttal concept?
  51. In other words (with tongue in cheek), must we type:
  52.    a. || 'o'        -->  Hello  (after setting a.='Hell')
  53. if we want abuttal of the value of a stem and a literal,
  54. and:
  55.    lastname.'John'  -->  Doe
  56. to do what doesn't seem very astonishing but isn't allowed with the
  57. current REXX standard?
  58.  
  59. These are *some* of the problems we'd run into.  Are there any other
  60. areas which might cause breakage?
  61.  
  62. As a side note, I wish that there was a file available somewhere
  63. with all the suggestions for enhancements/extensions which did *not*
  64. make it into REXX, with the reasons.  Anyone having an idea could
  65. then determine from that file whether the idea was worth bringing up
  66. (possibly again).  Mike Cowlishaw must have a 3370 disk full of such
  67. suggestions, at 350 items/day when he wrote REXX...
  68.  
  69.  
  70. Regards.
  71. $$/
  72.