Anonymous user
Rosetta Code:Village Pump/Dialects: Difference between revisions
Rosetta Code:Village Pump/Dialects (view source)
Revision as of 22:08, 15 August 2012
, 11 years ago→REXX and o-o REXXes: corrected a misspelling. -- ~~~~
(added comments on classic REXX versus object-orientated REXXes. -- ~~~~) |
m (→REXX and o-o REXXes: corrected a misspelling. -- ~~~~) |
||
(9 intermediate revisions by 2 users not shown) | |||
Line 53:
Some 'features' of the original Rexx were removed '''in this grandchild (ooRexx)'''
:- Use of @#$¢ as or in symbols
:- a= as a short form
:- Multi-line strings (extending a string over line boundaries
:- Bifs: externals, find, index, justify, linesize▼
- stream I/O (present in CMS but only optional on TSO (not on 'mine')▼
:- the Upper instruction▼
(on TSO I have to use EXECIO)▼
:- /= and /== as alternatives to \= or \== (see characters below)▼
▲- Bifs: externals, find, index, justify, linesize
▲- the Upper instruction
▲- /= and /== as alternatives to \= or \== (see characters below)
Other features were introduced '''with the ANSII standard''' created
by a committee comprising Rexx implementers from IBM (notably the
original author, Mike Cowlishaw) and from elsewhere:
:- Date and Time conversion
:- Parse Caseless
:- Address With (not available in ooRexx)
:- Bifs: changestr, countstr, qualify
A feature introduced with ooRexx (and Regina unless you opt out, see below)
:- -- as line comment (instead of /* ... */)
Regina 3.4 introduced the single-line comment feature, ▼
Regina 3.5 wasn't configurable concerning single-line comments, ▼
and it wasn't until▼
Regina 3.6 that allowed the noSingle_line_comments ▼
environmental variable. --- Gerard Schildberger▼
Avoiding all of the language elements mentioned above makes a program
portable across all Rexxes (including the two
Using additional features introduced with other implementations
(notably directives in ooRexx) will also prohibit program porting.
Characters:
:Originally ¬ was
:This was later changed to the backslash on PCs and ^ on the host.
:On my German TSO I cannot use | and \ due to code page
:My Rexx sources on TSO use therefore ! and ^, respectively.
:(I avoid the ^ by using lt-gt instead of ^=)
::For a Brief History of Rexx see
:: http://www.speleotrove.com/rexxhist/rexxhistory.html
::For a rather complete list of Rexx implementations see
:: http://www.speleotrove.com/rexxhist/rexxplat.html
::(both courtesy Mike Cowlishaw)
--[[User:Walterpachl|Walterpachl]] 20:23, 8 July 2012 (UTC)
▲ Regina 3.4 introduced the single-line comment feature,
▲ Regina 3.5 wasn't configurable concerning single-line comments,
▲ and it wasn't until
▲ Regina 3.6 that allowed the noSingle_line_comments
▲ environmental variable. --- Gerard Schildberger
===REXX and o-o REXXes===
Line 126 ⟶ 127:
-----
Classic REXX is not object-orientated REXX. To put them under an o-o umbrella would be a disservice to both languages. A classic REXX entered under the ooRexx language would (to me) imply that it would work using ooRexx, and I have no way of testing/verifying that. My main interest is in classic REXX and have no need for object-oriented features. Again: hammer, fly. I test all of my classic REXX program examples (unless noted otherwise) under three classic REXXes:
I don't know what you mean by ''plain'' REXX; the point under discussion is classic REXX vs. the o-o (object-orientated) REXXes.
Line 207 ⟶ 208:
So the major hangup here is the use of assignment without righthandside
and second comes the use of symbols (symbol characters that ooRexx does not support.
Fixing these would be easy and allow for stating that "all Rexx programs shown here can run under ooRexx". A statement I would love to make.
ooRexx IS a grandchild of original Rexx because it was raised in the IBM family.
Now it has found a new home in RexxLA and is open source, free, stable and top quality.
Line 242:
-----
Er, no. The example version 2 for REXX was a straight copy of version 1's functionality (but with the
This also implies that the NetRexx version has the same problem, as the REXX version (as stated) was taken/copied/transcribed from NetRexx), but I can't verify if the NetRexx version as I don't have access to the NetRexx language. Most likely, other examples have the same inability.
Line 266:
-----
Again a long story not addressing the points that I made:
You changed the program to the worse (for ooRexx!) by changing a reasonable name to a
characted not supported by ooRexx.
I had the time and the inclination to test (some of) your programs with ooRexx
and have shown the results.
SCRSIZE: of course you said that. My point: All 40 programs work on ooRexx unchanged or
with minimal changes @->a #->n $->d except for this ONE.
It's your choice to insist on using @ and # and $ forever.
And I end the analysis now.
--[[User:Walterpachl|Walterpachl]] 06:49, 11 July 2012 (UTC)
|