This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 |
Um, how does it have NO reserved words, especially when "DO" is a reserved word as explained in the article? -- Anon
say=4;end = 2; do=say+end; do me=end to do; say say + me; end
I think that the /* */ start is only required in OS/2 .CMDs. I guess that in Unix the required start is #!/bin/regina or something similar. -- Error
#!/usr/bin/regina
will work, if you happen to have Regina installed in /usr/bin (so will /usr/bin/rexx - Regina installs both). But that's a Unix-ism (the whole #!/path/to/interpreter/executable
thing), and Regina doesn't require it - you can run a Rexx program simply by typing rexx filename
, event if it doesn't have the "sh-bang" line.
RossPatterson
02:28, 11 February 2006 (UTC)I'm pretty sure (although I can't test it) that VM/CMS requires a starting comment only in some circumstances. You can write a Rexx program with no comments at all, compile it, and run it with no problems. I think you can also call a Rexx program without a starting comment from another Rexx program. Therefore, it's not technically a requirement of the language, but of a specific execution environment on the platform, (The "EXEC PROCESSOR") and more because of a historical "accident" than anything else. Had IBM allowed a file type of REXX, it would not have been an issue. Presumably, the rationale was that people would want to rewrite existing EXEC2 macros in REXX and use the same filename and type, so the requirement for interpreted versions was necessary. -- Hagrinas 18:05, 27 June 2007 (UTC)
The first line of an OS390 rexx script must be /* rexx ..... */. This informs the TSO interpreter that it is REXX and not a CLIST.
Rexx by itself, under Windows or OS/2 does not require a comment at the beginning of the code. This is used by the default command processor to pass commands to the rexx processor. For example, one could create a file with the single line in it:
returns WIN32 COMMAND D:\cdata\test.me REXX-Regina_3.3(MT) 5.00 25 Apr 2004
If this is run, eg by invoking the rexx processor, eg regina test.me, then it works as expected. You can also invoke rexx lines inside 4nt or tcmd by @rexx[], as shown below:
returns WIN32 SUBROUTINE parse REXX-Regina_3.3(MT) 5.00 25 Apr 2004
None the same, the rexx invoked in this way runs in a different shell to that invoked by the command processor by /* rexx */, in as much that it does not have access to the launching process's environment etc. For example, the 4nt command of thhe form set zm=%@rexx[return reverse(value(zm,,SYSTEM))] replaces zm by its string-reverse, using the rexx interpreter to do this. -- Wendy.krieger 08:12, 28 October 2007 (UTC)
{{
cite web}}
: Cite has empty unknown parameters: |trans_title=
, |month=
, and |coauthors=
(
help); Unknown parameter |separator=
ignored (
help) the IBM announcement for REXX support in TSO/E Version 2?
Shmuel (Seymour J.) Metz Username:Chatul (
talk)
18:57, 31 August 2010 (UTC)This new section replacing the former "Arrays" is much better, thanks. It's a bit long, and I'd prefer to kill the first of the two "dictionary" examples. The 2nd example is compact and documents when it will fail. The 1st example is limited to the REXX concept of words, and ANSI REXX managed to FUBAR this simple concept. --
Omniplex
08:13, 27 June 2006 (UTC)
P.S.: Of course we can just use a separate stem enumeration of defined tails instead of a string of blank (or ANSI else) separated words if necessary, but the more interesting case is to mix it as in the second example.
My reading of this section makes me think that compound variables are more like Java Maps than Vectors. -- ABala 62.189.157.240 15:32, 27 April 2007 (UTC)
Another, occasionally handy loop construct:
do 20 [instructions] end
That will simply run the loop 20 times, without any tracking variable. 212.85.68.44 11:59, 19 September 2007 (UTC)
Does the do until loop not check if the condition is met before the first iteration, i.e. shouldn't the expansion
do forever [instructions] if [condition] then leave end
be enclosed into a if [not condition] do ... end? (I'm just curious, I don't know REXX). 84.150.122.29 21:02, 19 January 2007 (UTC)
Example: do i=1 to 10 by 2 until i>6 say i end /* Would display: 1, 3, 5, 7 */
RossPatterson 21:13, 20 January 2007 (UTC)
I'm no REXXpert, but I think there's a mistake in the article. I would expect "do while [condition]" to be equivalent to "do until [not condition]". I would expect both of those forms to test [condition] before each iteration of [instructions], which would mean that they are not equivalent to the form
do forever [instructions] if [condition] then leave end
which looks like it tests [condition] after each iteration. Would anyone care to disagree, or tell me that I should edit the article? ⫷ SkiSkywalker ⫸ ( talk) 23:36, 24 April 2012 (UTC)
do while
tests at the top of the loop, and do until
at the bottom, just like the article says. That's typical for those constructs, in every language that has them.
RossPatterson (
talk)
01:42, 25 April 2012 (UTC)Shouldn't the article mention the necessity of third party libraries, for additional functions, and to interface with specific OS services and software? I guess that should be in the Features section; i see a brief mention in the paragraph on the Interpret verb. I'm not adding it myself because at present i can't find the right wording, and am not quite sure of how to not make a mistake. Moreover, perhaps it is considered evident, that a programming language limit itself to only general logic processing?
Some buzzwords/articles to point to:
-- Jerome Potts 23:19, 21 July 2007 (UTC)
I remember that, on VM/CMS, not all external host commands would be able to set Rexx variables, there was some kind of requirement, but i don't remember the terminology for the mechanism. Does anyone know, and if so, is it something which could/should be present in this article? And i don't know whether this was an issue with the later implementations of Rexx, on other OSes.
-- Jerome Potts 23:28, 21 July 2007 (UTC)
One of the boxes mentiones Rexx was influenced by PL/I, EXEC II, and Basic.
I can see PL/I and even ALGOL for syntax and EXEC II in regard to internals. I could even imagine an argument for SNOBOL. But it's beyond me what BASIC has to do with it. Does anyone know why Basic is mentioned?
-- UnicornTapestry ( talk) 01:52, 8 November 2008 (UTC)
I would argue that the similarity with BASIC is its ease of initial learning and suitability for tyros. Gomberg ( talk) 21:02, 6 March 2009 (UTC)
Basic was a strong influence .. several of the built-in functions come from Basic (RANDOM was originally called RND, for example), and much of the ease-of-use features (no declarations, just one type of number, etc.). Indeed, Thomas Kurtz (one of the original authors of Basic) wrote:
Too bad most language designers don't bother to read about older languages. mfc ( talk) 11:42, 10 March 2009 (UTC)
Currently, this article has way too much content in the Syntax section. It should just give one or two brief examples, but instead it takes up more than half the article; it needs to be shortened down, a lot. See WP:NOT, Wikipedia is not a manual or tutorial of any kind. Thanks. — Fatal Error 03:03, 6 January 2009 (UTC)
On an unrelated subject, and just style, in the interpret example, (4) should be replaced by 4. The parens do no harm in this particular case, but it looks a bit odd to use them with a space after the routine name. Gomberg ( talk) 21:00, 6 March 2009 (UTC)
NetRexx is a separate language, with its own syntax, although it is certainly inspired be Rexx. Shmuel (Seymour J.) Metz Username:Chatul ( talk) 18:19, 31 August 2010 (UTC)
This is an archive of past discussions. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
Archive 1 |
Um, how does it have NO reserved words, especially when "DO" is a reserved word as explained in the article? -- Anon
say=4;end = 2; do=say+end; do me=end to do; say say + me; end
I think that the /* */ start is only required in OS/2 .CMDs. I guess that in Unix the required start is #!/bin/regina or something similar. -- Error
#!/usr/bin/regina
will work, if you happen to have Regina installed in /usr/bin (so will /usr/bin/rexx - Regina installs both). But that's a Unix-ism (the whole #!/path/to/interpreter/executable
thing), and Regina doesn't require it - you can run a Rexx program simply by typing rexx filename
, event if it doesn't have the "sh-bang" line.
RossPatterson
02:28, 11 February 2006 (UTC)I'm pretty sure (although I can't test it) that VM/CMS requires a starting comment only in some circumstances. You can write a Rexx program with no comments at all, compile it, and run it with no problems. I think you can also call a Rexx program without a starting comment from another Rexx program. Therefore, it's not technically a requirement of the language, but of a specific execution environment on the platform, (The "EXEC PROCESSOR") and more because of a historical "accident" than anything else. Had IBM allowed a file type of REXX, it would not have been an issue. Presumably, the rationale was that people would want to rewrite existing EXEC2 macros in REXX and use the same filename and type, so the requirement for interpreted versions was necessary. -- Hagrinas 18:05, 27 June 2007 (UTC)
The first line of an OS390 rexx script must be /* rexx ..... */. This informs the TSO interpreter that it is REXX and not a CLIST.
Rexx by itself, under Windows or OS/2 does not require a comment at the beginning of the code. This is used by the default command processor to pass commands to the rexx processor. For example, one could create a file with the single line in it:
returns WIN32 COMMAND D:\cdata\test.me REXX-Regina_3.3(MT) 5.00 25 Apr 2004
If this is run, eg by invoking the rexx processor, eg regina test.me, then it works as expected. You can also invoke rexx lines inside 4nt or tcmd by @rexx[], as shown below:
returns WIN32 SUBROUTINE parse REXX-Regina_3.3(MT) 5.00 25 Apr 2004
None the same, the rexx invoked in this way runs in a different shell to that invoked by the command processor by /* rexx */, in as much that it does not have access to the launching process's environment etc. For example, the 4nt command of thhe form set zm=%@rexx[return reverse(value(zm,,SYSTEM))] replaces zm by its string-reverse, using the rexx interpreter to do this. -- Wendy.krieger 08:12, 28 October 2007 (UTC)
{{
cite web}}
: Cite has empty unknown parameters: |trans_title=
, |month=
, and |coauthors=
(
help); Unknown parameter |separator=
ignored (
help) the IBM announcement for REXX support in TSO/E Version 2?
Shmuel (Seymour J.) Metz Username:Chatul (
talk)
18:57, 31 August 2010 (UTC)This new section replacing the former "Arrays" is much better, thanks. It's a bit long, and I'd prefer to kill the first of the two "dictionary" examples. The 2nd example is compact and documents when it will fail. The 1st example is limited to the REXX concept of words, and ANSI REXX managed to FUBAR this simple concept. --
Omniplex
08:13, 27 June 2006 (UTC)
P.S.: Of course we can just use a separate stem enumeration of defined tails instead of a string of blank (or ANSI else) separated words if necessary, but the more interesting case is to mix it as in the second example.
My reading of this section makes me think that compound variables are more like Java Maps than Vectors. -- ABala 62.189.157.240 15:32, 27 April 2007 (UTC)
Another, occasionally handy loop construct:
do 20 [instructions] end
That will simply run the loop 20 times, without any tracking variable. 212.85.68.44 11:59, 19 September 2007 (UTC)
Does the do until loop not check if the condition is met before the first iteration, i.e. shouldn't the expansion
do forever [instructions] if [condition] then leave end
be enclosed into a if [not condition] do ... end? (I'm just curious, I don't know REXX). 84.150.122.29 21:02, 19 January 2007 (UTC)
Example: do i=1 to 10 by 2 until i>6 say i end /* Would display: 1, 3, 5, 7 */
RossPatterson 21:13, 20 January 2007 (UTC)
I'm no REXXpert, but I think there's a mistake in the article. I would expect "do while [condition]" to be equivalent to "do until [not condition]". I would expect both of those forms to test [condition] before each iteration of [instructions], which would mean that they are not equivalent to the form
do forever [instructions] if [condition] then leave end
which looks like it tests [condition] after each iteration. Would anyone care to disagree, or tell me that I should edit the article? ⫷ SkiSkywalker ⫸ ( talk) 23:36, 24 April 2012 (UTC)
do while
tests at the top of the loop, and do until
at the bottom, just like the article says. That's typical for those constructs, in every language that has them.
RossPatterson (
talk)
01:42, 25 April 2012 (UTC)Shouldn't the article mention the necessity of third party libraries, for additional functions, and to interface with specific OS services and software? I guess that should be in the Features section; i see a brief mention in the paragraph on the Interpret verb. I'm not adding it myself because at present i can't find the right wording, and am not quite sure of how to not make a mistake. Moreover, perhaps it is considered evident, that a programming language limit itself to only general logic processing?
Some buzzwords/articles to point to:
-- Jerome Potts 23:19, 21 July 2007 (UTC)
I remember that, on VM/CMS, not all external host commands would be able to set Rexx variables, there was some kind of requirement, but i don't remember the terminology for the mechanism. Does anyone know, and if so, is it something which could/should be present in this article? And i don't know whether this was an issue with the later implementations of Rexx, on other OSes.
-- Jerome Potts 23:28, 21 July 2007 (UTC)
One of the boxes mentiones Rexx was influenced by PL/I, EXEC II, and Basic.
I can see PL/I and even ALGOL for syntax and EXEC II in regard to internals. I could even imagine an argument for SNOBOL. But it's beyond me what BASIC has to do with it. Does anyone know why Basic is mentioned?
-- UnicornTapestry ( talk) 01:52, 8 November 2008 (UTC)
I would argue that the similarity with BASIC is its ease of initial learning and suitability for tyros. Gomberg ( talk) 21:02, 6 March 2009 (UTC)
Basic was a strong influence .. several of the built-in functions come from Basic (RANDOM was originally called RND, for example), and much of the ease-of-use features (no declarations, just one type of number, etc.). Indeed, Thomas Kurtz (one of the original authors of Basic) wrote:
Too bad most language designers don't bother to read about older languages. mfc ( talk) 11:42, 10 March 2009 (UTC)
Currently, this article has way too much content in the Syntax section. It should just give one or two brief examples, but instead it takes up more than half the article; it needs to be shortened down, a lot. See WP:NOT, Wikipedia is not a manual or tutorial of any kind. Thanks. — Fatal Error 03:03, 6 January 2009 (UTC)
On an unrelated subject, and just style, in the interpret example, (4) should be replaced by 4. The parens do no harm in this particular case, but it looks a bit odd to use them with a space after the routine name. Gomberg ( talk) 21:00, 6 March 2009 (UTC)
NetRexx is a separate language, with its own syntax, although it is certainly inspired be Rexx. Shmuel (Seymour J.) Metz Username:Chatul ( talk) 18:19, 31 August 2010 (UTC)