Jump to content

Rosetta Code:Village Pump/Dialects: Difference between revisions

Rexx Dialects (?) or Implementation differences
mNo edit summary
(Rexx Dialects (?) or Implementation differences)
Line 37:
 
--[[User:Kernigh|Kernigh]] 16:12, 28 January 2012 (UTC)
 
=== REXX, ooRexx, and others ===
Nowadays there are many implementations of Rexx.
 
As 'my' two Rexxes are currently TSO-Rexx (still Classic Rexx to me)
and ooRexx I shall enumerate the incompatibilities between these two.
 
Rexx was created some 30 years ago for VM/CMS and was later ported
to MVS/TSO. Its current grandchild for Windows and other PC-platforms
is ooRexx.
 
Some 'features' of the original Rexx were removed
- Use of @#$¢ as or in symbols
- a= as a short form of a=''
- Multi-line strings (extending a string over line boundaries'
- stream I/O (present in CMS but only optional on TSO (not on 'mine')
(on TSO I have to use EXECIO)
- 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 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):
 
- -- as line comment (instead of /* ... */)
 
Avoiding all of the language elements mentioned above makes a program
portable across the two Rexxes I am using and therefore interested in.
Using additional features introduced with other implementations
(notably directives in ooRexx) will also prohibit program porting.
 
Characters:
Originally ¬ was defines as not-character and /= was accepted for not equal.
This was later changed to the backslash and ^ on the host.
 
On my German TSO I cannot use | and \ due to code page differences.
My Rexx sources on TSO use therefore ! and ^, respectively.
(I avoid the ^ by using <> 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)
2,295

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.