REXX was first introduced in VM/SP Release 3 (January 14, 1983).
That first This discussion was held in the REXX forum in March 1993, we
reproduce it here as you may find it amusing :
This was back in 1993, REXX now is really an adult...
The PARSE VERSION statement returns something like
this :
Next table summarizes the different REXX versions on different
platforms. For some entries we couldn't find an accurate value, so
we left them blank.
Notes:
These were the additions over time for the different REXX levels:
Level 3.40
Base is SAA Procedures Language Level 1 being a (rather
comprehensive) subset of REXX as supported by CMS Release 5 System
Product Interpreter.
Level 3.45
All the following is not part of SAA Procedures Language. It is
still supported in VM and MVS implementations. REXX OS/2 is the first
implementation that really takes them out.
Level 3.46
Level 3.48
Level 3.50
This is the level corresponding to the REXX Handbook of Mike
Cowlishaw, edition 1985.
Level 4.00
This is the level corresponding to the REXX Handbook of Mike
Cowlishaw, edition 1990.
Level 4.01
The DATE() function is enhanced to support the Year 2000
century. For more information, consult the Help, or alternatively,
have a look at
Handling DATES with REXX, an article that gives plenty of coding
examples for working with dates.
Use the backward navigation button to return to the lesson text.
A bit of history.
----- REXX FORUM appended at 14:07:21 on 94/03/20 GMT -----
Subject: A milestone
For those collectors of dates and events .. REXX is 15 years old,
today. Still an adolescent .. with much to look forward to.
Mike Cowlishaw
----- REXX FORUM appended at 17:17:38 on 94/03/22 GMT -----
Out of curiosity, what happened on its date of birth? Did you wake up
and think to yourself, "I must write a spiffy new language today" ?
Steve Swift
----- REXX FORUM appended at 17:25:57 on 94/03/22 GMT -----
No, I woke up (at about 03:15) and designed the language while tossing
and turning for the next few hours .. then wrote down (typed in) the
specification from memory that evening after work-for-the-day was
over. No home terminals those days...
Mike Cowlishaw
----- REXX FORUM appended at 17:49:52 on 94/03/22 GMT -----
Geez. And here I thought it was going to be something impressive....
15 years, huh? It's getting close to the age where it will learn
drive and leave home.... ;-) (I hope not!)
Alan Altmark -- VM/ESA System Test -- Glendale Programming Lab
----- REXX FORUM appended at 10:41:04 on 94/03/23 GMT ----
In '79, 3:15am was the time I would go to bed (*)!!! Now I understand
why I never invented Rexx :-)
(*) In '92/93, despite the help of my daughter Marie, waking up at
3:15 didn't have any results either. I must be doomed :-)
----- REXX FORUM appended at 12:06:06 on 94/03/23 GMT ----
Simple as that, eh ? I look forward to insomnia, followed by fame.
Steve Hayes ISL SD VM Systems Support, Sudbury
Version table.
REXX370 4.00 01 May 1993
Platform
Keyword
Level
Date
CMS
VM/SP Rel 5.0
REXX370
3.40
17 Jan 1984
VM/SP Rel 6.0
REXX370
3.45
VM/SP Rel 6.0 with SPE
REXX370
3.46
31 May 1988
VM/ESA Rel 2.0
REXX370
3.48
01 May 1992
VM/ESA Rel 2.1
REXXSAA
4.00
01 May 1993
VM/ESA Rel 2.1.0
REXX370
4.00
01 May 1993
VM/ESA Rel 2.2.0
REXX370
4.01
20 Dec 1996
VM/ESA Rel 2.3.0
REXX370
4.01
20 Dec 1996
VM/ESA Rel 2.4.0
REXX370
4.02
01 Dec 1998
CMS REXX Compiler
REXXC370
3.46
30 Jun 1989
REXX/370 Compiler R2
REXXC370
3.48
28 May 1993
TSO/E Version 2
original shipment
REXX370
3.45
with SPE
REXX370
3.46
31 May 1988
TSO/E V2.4
REXX370
3.48
01 May 1992
OS/2 V2
REXXSAA
4.00
24 Oct 1997
Windows Object Rexx
OBJREXX
6.00
19 Nov 1998
OS/400
REXXSAA
3.48
21 Aug 1990
Version features
a='AA BB CC'
DROP (a) /* is the same as DROP AA BB CC */
PROCEDURE EXPOSE x (a) /* exposes x, a, aa, bb and cc */
Portability remarks.
<> is safe for not equal across all platforms
>= can be used instead of ¬<
The problem is that upload/download utilities do usually not
properly translate this character.
/* instead of */ v='first part
and second part of string'
/* use this : */ v='first part',
'and second part of string'
/* or this : */ v='first pa'||,
'rt and second part of string'