Path: utzoo!utgpu!watmath!iuvax!rutgers!elbereth.rutgers.edu!hardees.rutgers.edu!patterso From: patterso@hardees.rutgers.edu (Ross Patterson) Newsgroups: comp.lang.rexx Subject: Re: AREXX vs REXX Message-ID:Date: 17 Aug 89 02:09:17 GMT References: <7841@ardent.UUCP> Distribution: comp.lang.rexx Organization: Rutgers Univ., CCIS Lines: 76 Back at home now, I've had a chance to check Cowlishaw's book. He details the differences between 370 REXX and his definition in Part 3, Section 5. The 370 implementation differs in that: 1) Literal strings are allowed to cross line boundaries. 2) There is no WordPos() function. Instead, there is a Find() function that takes the arguments reversed (but lacks a "start" argument. 3) The Time() function doesn't accept the "Civil" or "Normal" options. [remedied in VM/SP release 6] 4) The Date() function doesn't accept the "Normal" option. [also remedied in VM/SP 6] 5) The Verify() function doesn't accept the "NoMatch" option, although it is the default action. 6) SIGNAL ON FAILURE and TRACE FAILURE are not implemented. [remedied in VM/SP 6] 7) NUMERIC FORM doesn't accept the VALUE option, and the Digits(), Form() and Fuzz() functions aren't implemented. 8) "\" isn't a "not sign" (the EBCDIC not sign is used instead). 9) "==" and "\==" are the only implemented strict comparison operators. 10) The CharIn(), CharOut(), Chars(), LineIn(), and LineOut() functions aren't implemented. Lines() is implemented as Externals(), and PARSE LINEIN is implmented as PARSE EXTERNAL. 11) Several functions are included that the language doesn't define. They are: Find(string,phrase) - Search "string" for "phrase", blank delimited. Returns the number of the first matching word, or 0 to indicate failure. Index(haystack,needle[,start]) - Search "haystack" for "needle", beginning at character "start". Returns the number of the first matching character, or 0 to indiciate failure. Justify(string,length[,padchar]) - Insert "padchar"s between blank delimited words in "string" until it is "length" characters long. The default "padchar" is the space. Returns the justfied string. LineSize() - Returns the maximum line length for the SAY instruction, or 0 if indeterminate. UserId() - Returns the userid of the user running the REXX program. 12) The Date() function accepts an option not defined in the language, "Julian-OS". This returns the date as yyddd, where ddd is the number of days since January 0, 19yy (e.g. 1/1/89 is 89001). 13) The TRACE instruction and the Trace() function accept a "!" prefix, which indicates that Host Commands are not to be passed to the execution environment. 14) There is an UPPER instruction to translate variables to upper case. 15) Later release of VM/SP have supported OPTIONS DBCS, for Double Byte Character Set support. This allows things like Japanses Kanji characters in literal strings. That's the definitive list. Ross Patterson Rutgers University