OK, I got exposed (if that is the correct word) many years ago to REXX
in an IBM/370 environment. It was kind of a fun language created, IIRC
by some IBM fellow in the UK.
I just Googled REXX and there seems to be various versions out there.
If I want to run REXX on my Windows 7 PC, which REXX is the one that is
linearly descended from that original REXX? And is it the best one to
get for personal use on a computer?
Would be nice if it would also run in a Windows Server 2003 (aka Windows
Home Server) environment.
Thanks!
|
|
0
|
|
|
|
Reply
|
MikeB
|
9/14/2010 6:09:13 PM |
|
MikeB wrote:
> OK, I got exposed (if that is the correct word) many years ago to REXX
> in an IBM/370 environment. It was kind of a fun language created, IIRC
> by some IBM fellow in the UK.
>
> I just Googled REXX and there seems to be various versions out there.
>
> If I want to run REXX on my Windows 7 PC, which REXX is the one that is
> linearly descended from that original REXX? And is it the best one to
> get for personal use on a computer?
>
> Would be nice if it would also run in a Windows Server 2003 (aka Windows
> Home Server) environment.
>
> Thanks!
I recommend you visit http://rexxla.org There you will find links to lots of
information about Rexx. RexxLA was given rights to the code of Object Rexx for
OS/2 and has made Open Object Rexx (ooRexx) available for free on SourceForge.
I also have a Windows 7 machine and use ooRexx along with THE, a free
Xedit/Kedit look-alike. The combination has let me port my skills from VM/CMS to
the pc with a minimum amount of pain.
Other interpreter/editor combinations might be better for you and what you want
to do with Rexx. Regina, for instance, has a lot of extensions to do special things.
--
Les (Change Arabic to Roman to email me)
|
|
0
|
|
|
|
Reply
|
LesK
|
9/14/2010 7:36:30 PM
|
|
On 09/14/2010 02:09 PM, MikeB wrote:
> If I want to run REXX on my Windows 7 PC, which REXX is the one that is
> linearly descended from that original REXX?
ooRexx is the open source version of IBM's Object Rexx, which is
directly descended from (but just shy of 100% compatible with) Mike
Cowlishaw's original Rexx that you know and love. It has the most
active support, and of course all the added Object Oriented features.
Regina is probably the most highly recommended of the Classic (original)
Rexx implementations.
If you learned REXX together with XEDIT, you might also check out THE
(The Hessling Editor) from the developer of Regina. It will work with
both of these and most other Rexx implementations.
Object Rexx compatibility gory details:
I think there are just two incompatibilities to watch out for in running
Classic Rexx programs in Object Rexx. One is that it allows line
comments starting with "--". If you have any expressions like "2--1",
they'll be broken at the dash. Not something you'd expect to write in
ordinary code, since "--" just means "+", but it might show up if you're
building expressions that you then INTERPRET.
(Comments are also something to watch for possible problems with in
Classic Rexx implementations, since some of them have ways of specifying
options and such in comments at the start of the program.)
The other has to do with assigning the default values of stem variables.
In Object Rexx, there are stem objects that include all the variables
with the same stem. "STEM." with no tail may represent either just the
default value (as in Classic Rexx) or the entire object, depending on
the context. When one stem object is assigned to another, Object Rexx
creates a reference, so that they are both actually the same object.
Also, a function may return a stem object, so this reference can be
created in assigning the result of a function to a stem:
/* demonstrate stem differences */
c.4 = 'Herbie'
p. = same(c.) /* assigns default value in Classic Rexx;
creates reference to stem in Object Rexx */
Say p.4 /* says 'C.' in Classic Rexx, 'Herbie' in Object Rexx */
p.2 = 'Horace' /* affects C. in Object Rexx, not in Classic Rexx */
Say c.2 /* says 'C.2' in Classic Rexx, 'Horace' in Object Rexx */
Exit
same:
Return Arg(1) /* returns default value in Classic Rexx;
returns stem object in Object Rexx */
You can avoid this incompatibility the same way you avoid problems with
variable names matching Rexx keywords in issuing a command, by
concatenating with the null string, whenever you assign the default
value of a stem:
p. = ''c. /* assigns default value concatenated with the
null string, in either Classic or Object Rexx */
Note that, in Object Rexx, this assignment creates a whole new P. object
and doesn't affect C.:
Say c.4 /* still says 'Herbie' in either Classic or Object Rexx */
There's a different construct for assigning the default value of an
existing object:
p. = c.
p.[] = 'new default value for both P. and C.' /* Object Rexx only! */
Say c.4 /* says 'new default value for both P. and C.' */
Say p.2 /* says 'new default value for both P. and C.' */
�R
|
|
0
|
|
|
|
Reply
|
Glenn
|
9/14/2010 8:45:24 PM
|
|
In <4c8fba53$1@news.x-privat.org>, on 09/14/2010
at 01:09 PM, MikeB <mpbrede@gmail.com> said:
>If I want to run REXX on my Windows 7 PC, which REXX is the one that
>is linearly descended from that original REXX?
None; the descendants of the original REXX implementation are on
mainframes. The implementations on PC's are from different code bases.
>And is it the best one to
>get for personal use on a computer?
Regina for classic REXX, OOREXX for more expressive power.
--
Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel>
Unsolicited bulk E-mail subject to legal action. I reserve the
right to publicly post or ridicule any abusive E-mail. Reply to
domain Patriot dot net user shmuel+news to contact me. Do not
reply to spamtrap@library.lspace.org
|
|
0
|
|
|
|
Reply
|
Shmuel
|
9/14/2010 10:43:12 PM
|
|
Glenn Knickerbocker wrote:
> On 09/14/2010 02:09 PM, MikeB wrote:
>> If I want to run REXX on my Windows 7 PC, which REXX is the one that is
>> linearly descended from that original REXX?
>
> ooRexx is the open source version of IBM's Object Rexx, which is
> directly descended from (but just shy of 100% compatible with) Mike
> Cowlishaw's original Rexx that you know and love. It has the most
> active support, and of course all the added Object Oriented features.
>
> Regina is probably the most highly recommended of the Classic (original)
> Rexx implementations.
>
> If you learned REXX together with XEDIT, you might also check out THE
> (The Hessling Editor) from the developer of Regina. It will work with
> both of these and most other Rexx implementations.
>
> Object Rexx compatibility gory details:
>
> I think there are just two incompatibilities to watch out for in running
> Classic Rexx programs in Object Rexx. One is that it allows line
> comments starting with "--". If you have any expressions like "2--1",
> they'll be broken at the dash. Not something you'd expect to write in
> ordinary code, since "--" just means "+", but it might show up if you're
> building expressions that you then INTERPRET.
>
> (Comments are also something to watch for possible problems with in
> Classic Rexx implementations, since some of them have ways of specifying
> options and such in comments at the start of the program.)
>
> The other has to do with assigning the default values of stem variables.
> In Object Rexx, there are stem objects that include all the variables
> with the same stem. "STEM." with no tail may represent either just the
> default value (as in Classic Rexx) or the entire object, depending on
> the context. When one stem object is assigned to another, Object Rexx
> creates a reference, so that they are both actually the same object.
> Also, a function may return a stem object, so this reference can be
> created in assigning the result of a function to a stem:
>
> /* demonstrate stem differences */
> c.4 = 'Herbie'
> p. = same(c.) /* assigns default value in Classic Rexx;
> creates reference to stem in Object Rexx */
> Say p.4 /* says 'C.' in Classic Rexx, 'Herbie' in Object Rexx */
>
> p.2 = 'Horace' /* affects C. in Object Rexx, not in Classic Rexx */
> Say c.2 /* says 'C.2' in Classic Rexx, 'Horace' in Object Rexx */
>
> Exit
>
> same:
> Return Arg(1) /* returns default value in Classic Rexx;
> returns stem object in Object Rexx */
>
> You can avoid this incompatibility the same way you avoid problems with
> variable names matching Rexx keywords in issuing a command, by
> concatenating with the null string, whenever you assign the default
> value of a stem:
>
> p. = ''c. /* assigns default value concatenated with the
> null string, in either Classic or Object Rexx */
>
> Note that, in Object Rexx, this assignment creates a whole new P. object
> and doesn't affect C.:
>
> Say c.4 /* still says 'Herbie' in either Classic or Object Rexx */
>
> There's a different construct for assigning the default value of an
> existing object:
>
> p. = c.
> p.[] = 'new default value for both P. and C.' /* Object Rexx only! */
> Say c.4 /* says 'new default value for both P. and C.' */
> Say p.2 /* says 'new default value for both P. and C.' */
>
> �R
More ooRexx gory compatibility details:
Although Glen referred to Object Rexx (for OS/2 and its follow-on), not Open
Object Rexx, I expect his observations hold true for both. Specifically for ooRexx:
The Rexx ANSI standard does not allow the mainframe characters: #@$ and
cent-sign in variable names, so neither does ooRexx. If you import code from the
mainframe, for instance the VM Download Library, you could easily trip over
this. A simple THE macro can fix this.
Another gotcha is that the 'logical not-sign' of the old 3270 days (shift 6) is
also illegal with an ANSI compliant Rexx interpreter. That includes ooRexx. Some
interpreters allow the carat (^) in its place. They all, that I know of, accept
the backslash (/), including zVM/CMS.
I think Regina is more lenient about characters in variable names but my memory
is a little hazy on that. You can always go to SourceForge and get the pdf for
either interpreter.
--
Les (Change Arabic to Roman to email me)
|
|
0
|
|
|
|
Reply
|
LesK
|
9/15/2010 4:12:15 AM
|
|
On Wed, 15 Sep 2010 00:12:15 -0400, LesK wrote:
>Although Glen referred to Object Rexx (for OS/2 and its follow-on), not Open
>Object Rexx, I expect his observations hold true for both.
Right, I meant the Object Rexx language, not the IBM Object Rexx or Open
Object Rexx implementation in particular.
>The Rexx ANSI standard does not allow the mainframe characters: #@$ and
>cent-sign in variable names, so neither does ooRexx.
>Another gotcha is that the 'logical not-sign' of the old 3270 days (shift 6) is
>also illegal with an ANSI compliant Rexx interpreter.
I have Regina and Reginald handy, and both of those accept #@$ but not �
or � (i.e., they like the ASCII characters but not the non-ASCII ones).
>the backslash (/)
That's forward! Backslash is the one that leans left: \
�R
|
|
0
|
|
|
|
Reply
|
Glenn
|
9/15/2010 6:59:18 AM
|
|
Glenn Knickerbocker wrote:
> On Wed, 15 Sep 2010 00:12:15 -0400, LesK wrote:
>> Although Glen referred to Object Rexx (for OS/2 and its follow-on), not Open
>> Object Rexx, I expect his observations hold true for both.
>
> Right, I meant the Object Rexx language, not the IBM Object Rexx or Open
> Object Rexx implementation in particular.
>
>> The Rexx ANSI standard does not allow the mainframe characters: #@$ and
>> cent-sign in variable names, so neither does ooRexx.
>> Another gotcha is that the 'logical not-sign' of the old 3270 days (shift 6) is
>> also illegal with an ANSI compliant Rexx interpreter.
>
> I have Regina and Reginald handy, and both of those accept #@$ but not �
> or � (i.e., they like the ASCII characters but not the non-ASCII ones).
>
>> the backslash (/)
>
> That's forward! Backslash is the one that leans left: \
>
> �R
Mea culpa! That should teach me to be *very* careful when posting just after
midnight after coding and testing since 4am.
One other thing: ooRexx can interact with all of Microsoft's OLE applications,
such as Excel, Word, etc. as well as Open Office via the BSF4Rexx package (which
also enables ooRexx and Java to work together).
--
Les (Change Arabic to Roman to email me)
|
|
0
|
|
|
|
Reply
|
LesK
|
9/15/2010 10:21:23 AM
|
|
In <4c9047a3$0$6977$9a6e19ea@unlimited.newshosting.com>, on 09/15/2010
at 12:12 AM, LesK <5mre20@tampabay.rr.com> said:
>Another gotcha is that the 'logical not-sign' of the old 3270 days
>(shift 6) is also illegal with an ANSI compliant Rexx interpreter.
Shift 6 is ^ on an ASCII device; it is only � on an EBCDIC device or
with a keyboard mapping patterned after EBCDIC devices.
>That includes ooRexx.
Are you sure? Certainly the OS/2 OREXX accepts � as a not sign. Try
this on OOREXX and Regina:
/* REXX */
if 1 �= 2 then say '1 �= 2'
--
Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel>
Unsolicited bulk E-mail subject to legal action. I reserve the
right to publicly post or ridicule any abusive E-mail. Reply to
domain Patriot dot net user shmuel+news to contact me. Do not
reply to spamtrap@library.lspace.org
|
|
0
|
|
|
|
Reply
|
Shmuel
|
9/15/2010 3:09:27 PM
|
|
On 9/15/2010 11:09 AM, Shmuel (Seymour J.) Metz wrote:
> In<4c9047a3$0$6977$9a6e19ea@unlimited.newshosting.com>, on 09/15/2010
> at 12:12 AM, LesK<5mre20@tampabay.rr.com> said:
>
>> Another gotcha is that the 'logical not-sign' of the old 3270 days
>> (shift 6) is also illegal with an ANSI compliant Rexx interpreter.
>
> Shift 6 is ^ on an ASCII device; it is only � on an EBCDIC device or
> with a keyboard mapping patterned after EBCDIC devices.
>
>> That includes ooRexx.
>
> Are you sure? Certainly the OS/2 OREXX accepts � as a not sign. Try
> this on OOREXX and Regina:
>
> /* REXX */
> if 1 �= 2 then say '1 �= 2'
>
In fact, the latest version of ooRexx accepts either 'AA'x or 'AC'x as a
not character. 'AA'x is the upper-left box corner character and 'AC'x is
the ISO 8859-1 logical not sign.
Rick
|
|
0
|
|
|
|
Reply
|
Rick
|
9/15/2010 3:24:35 PM
|
|
Rick McGuire wrote:
> In fact, the latest version of ooRexx accepts either 'AA'x or 'AC'x as a
> not character. 'AA'x is the upper-left box corner character and 'AC'x is
> the ISO 8859-1 logical not sign.
>
SHould that not be the "upper RIGHT box corner?"
|
|
0
|
|
|
|
Reply
|
MikeB
|
9/15/2010 4:20:00 PM
|
|
On 9/15/2010 12:20 PM, MikeB wrote:
> Rick McGuire wrote:
>
>> In fact, the latest version of ooRexx accepts either 'AA'x or 'AC'x as a
>> not character. 'AA'x is the upper-left box corner character and 'AC'x is
>> the ISO 8859-1 logical not sign.
>>
>
>
> SHould that not be the "upper RIGHT box corner?"
>
I have the same problem when giving directions :-)
|
|
0
|
|
|
|
Reply
|
Rick
|
9/15/2010 4:21:41 PM
|
|
> Are you sure? Certainly the OS/2 OREXX accepts � as a not sign.
REX0219E: Error 13.1: Incorrect character in program "�" ('AC'X)
---
|
|
0
|
|
|
|
Reply
|
spamgate
|
9/15/2010 5:25:05 PM
|
|
> RexxLA was given rights to the code of Object Rexx for OS/2
No, thanks goodness.
---
|
|
0
|
|
|
|
Reply
|
spamgate
|
9/15/2010 5:26:31 PM
|
|
Rick McGuire wrote:
> On 9/15/2010 12:20 PM, MikeB wrote:
>> Rick McGuire wrote:
>>
>>> In fact, the latest version of ooRexx accepts either 'AA'x or 'AC'x as a
>>> not character. 'AA'x is the upper-left box corner character and 'AC'x is
>>> the ISO 8859-1 logical not sign.
>>>
>>
>>
>> SHould that not be the "upper RIGHT box corner?"
>>
> I have the same problem when giving directions :-)
'AC'x displays as 1/4 on my w7 laptop with THE! I'll have a look at some old VM
code and see what it looks like on the pc.
--
Les (Change Arabic to Roman to email me)
|
|
0
|
|
|
|
Reply
|
LesK
|
9/15/2010 6:06:07 PM
|
|
On Wed, 15 Sep 2010 00:12:15 -0400, LesK <5mre20@tampabay.rr.com>
wrote:
>When one stem object is assigned to another, Object Rexx
>> creates a reference, so that they are both actually the same object.
This always causes me some confusion, as demonstrated in the following
sample code:
Signal on Novalue
A. = B()
Say A.z
Exit
B: Procedure
Z.1 = 'A'
return Z.
Novalue:
Say 'Variable' condition('D') 'is undefined at line' sigl
Say sigl '*-*' sourceline(sigl)
The Novalue handler tells you that variable "Z.Z" is undefined on line
4, but libe 4 contains no reference to Z.Z
If you have a line of code that sets two stems in one go, you'd have a
hard time working out which one was undefined, especially if both had
been pointed at different incarnations of Z.
--
Steve Swift
http://www.swiftys.org.uk/swifty.html
http://www.ringers.org.uk
|
|
0
|
|
|
|
Reply
|
Swifty
|
9/15/2010 6:32:36 PM
|
|
On 9/15/2010 2:06 PM, LesK wrote:
> Rick McGuire wrote:
>> On 9/15/2010 12:20 PM, MikeB wrote:
>>> Rick McGuire wrote:
>>>
>>>> In fact, the latest version of ooRexx accepts either 'AA'x or 'AC'x
>>>> as a
>>>> not character. 'AA'x is the upper-left box corner character and
>>>> 'AC'x is
>>>> the ISO 8859-1 logical not sign.
>>>>
>>>
>>>
>>> SHould that not be the "upper RIGHT box corner?"
>>>
>> I have the same problem when giving directions :-)
> 'AC'x displays as 1/4 on my w7 laptop with THE! I'll have a look at some
> old VM code and see what it looks like on the pc.
>
It all depends on what is used to display the source and what code page
is in effect. THE runs in a "dos box" and uses the DOS/OEM code page.
'aa'x displays as the logical not and 'ac'x displays as "1/4". With a
graphical editor such as Visual SlickEdit, 'ac'x displays as the logical
not, and 'aa'x is the "ordinal indicator" (a sort of superscripted a).
Rick
|
|
0
|
|
|
|
Reply
|
Rick
|
9/15/2010 6:35:30 PM
|
|
On Wed, 15 Sep 2010 06:21:23 -0400, LesK <5mre20@tampabay.rr.com>
wrote:
>One other thing: ooRexx can interact with all of Microsoft's OLE applications
Does it interact with PowerPoint? I've been asked to extract some text
from a powerpoint presentation. I tried Office OCR, but that was
hopeless. The pages are highly graphical, so it's hard to see what I
might get out of an object view of the presentation.
--
Steve Swift
http://www.swiftys.org.uk/swifty.html
http://www.ringers.org.uk
|
|
0
|
|
|
|
Reply
|
Swifty
|
9/15/2010 6:39:41 PM
|
|
On Wed, 15 Sep 2010 12:21:41 -0400, Rick McGuire
<object.rexx@gmail.com> wrote:
> have the same problem when giving directions :-)
Are you sure that you two haven't pressed the keystroke that turns
your display into mirror-image? It's something like Ctrl+Right, but is
dependant on the graphics card and installed S/W.
--
Steve Swift
http://www.swiftys.org.uk/swifty.html
http://www.ringers.org.uk
|
|
0
|
|
|
|
Reply
|
Swifty
|
9/15/2010 6:42:54 PM
|
|
On Wed, 15 Sep 2010 19:25:05 +0200, spamgate@hotmai1.com (ML) wrote:
>REX0219E: Error 13.1: Incorrect character in program "�" ('AC'X)
IBM Object Rexx under WinXP:
say �1
0
I don't trust it in any of my programs, though. I recall having to
translate all the "�" characters for code that I moved from CMS to
OS/2 - once bitten, twice shy.
--
Steve Swift
http://www.swiftys.org.uk/swifty.html
http://www.ringers.org.uk
|
|
0
|
|
|
|
Reply
|
Swifty
|
9/15/2010 6:46:03 PM
|
|
On Sep 14, 1:09=A0pm, MikeB <mpbr...@gmail.com> wrote:
> OK, I got exposed (if that is the correct word) many years ago to REXX
> in an IBM/370 environment. It was kind of a fun language created, IIRC
> by some IBM fellow in the UK.
>
> I just Googled REXX and there seems to be various versions out there.
>
> If I want to run REXX on my Windows 7 PC, which REXX is the one that is
> linearly descended from that original REXX? And is it the best one to
> get for personal use on a computer?
As for Classic REXX, none did. The first REXX available for the PC
was
REXX/PC or PC/REXX, written at that time by Mansfield Software. Since
then, the guy that wrote the REXX part, er, parted, and formed Quercus
Software. I believe the later versions are called Personal REXX (or
REXX/Personal). It wasn't (and still isn't) free. Mansfield
Software
wrote the XEDIT clone KEDIT (not free) which supported REXX/PC (as
well as KEXX, a much simplier/restricted/smaller version of REXX).
Also, that REXX "package" has several CMS-like commands: LISTFILE,
DESBUF, CONWAIT, MAKEBUF, DROPBUF, GLOBALV, SENTRIES, and the biggie,
EXECIO (which was modeled after the CMS version). I still prefer
LISTFILE's format (which supports the TODAY option) instead of
DIR.
LISTFILE and EXECIO (above) suport REXX stemmed variables.
REXX/PC does support the #$@ characters for REXX symbols, but not the
cent sign. It also supports the "not" symbol, and, of all the
REXXes,
has the fewest errors by far, and that's saying something about a
product that hasn't been updated since 1992.
R4 (Kilowatt Software, free) also supports the $#@ symbols, and also
the cent sign. It also supports the use of the not symbol. R4
also has the distinction of actually fixing errors (at least, all of
the errors that I reported), and in a timely manner as well. R4
has an EXECIO program, it's modeled after the TSO version.
Ever since Regina went off ASCI compliant and allowed x=3D2--1
statements as being partly a comment ... any double minuses are now
treated as a comment (which form of comments are still not
documented) and there isn't any way of disabling that "feature"
with any kind of REGINA (interpeter) option. The above example
sets X to a value of 2, not 3. One of my biggest peeves is
ever since Regina 3.4, any REXX program with a large number of
stemmed variables (particularly double or triple stemmed) is very
very
very slow comparied to earilier versions, and as such, I have to use
the older buggier Regina 3.3, leastwise my programs take many more
weeks to execute (I kid you not) --- it's about 30 or 40 times slower.
That particular slowness doesn't seem to be addressed and apparently,
no fix is forthcoming --- at least, there isn't any response to the
bug report (2663478) at (Regina) SourceForge, opened March 4, 2009.
------------------------------------------------ Gerard Schildberger
> Would be nice if it would also run in a Windows Server 2003 (aka Windows
> Home Server) environment.
>
> Thanks!
|
|
0
|
|
|
|
Reply
|
GerardS
|
9/15/2010 6:52:37 PM
|
|
On 9/15/2010 2:32 PM, Swifty wrote:
> On Wed, 15 Sep 2010 00:12:15 -0400, LesK<5mre20@tampabay.rr.com>
> wrote:
>
>> When one stem object is assigned to another, Object Rexx
>>> creates a reference, so that they are both actually the same object.
>
> This always causes me some confusion, as demonstrated in the following
> sample code:
>
> Signal on Novalue
> A. = B()
> Say A.z
> Exit
>
> B: Procedure
> Z.1 = 'A'
> return Z.
>
> Novalue:
> Say 'Variable' condition('D') 'is undefined at line' sigl
> Say sigl '*-*' sourceline(sigl)
>
> The Novalue handler tells you that variable "Z.Z" is undefined on line
> 4, but libe 4 contains no reference to Z.Z
>
> If you have a line of code that sets two stems in one go, you'd have a
> hard time working out which one was undefined, especially if both had
> been pointed at different incarnations of Z.
>
That looks like a bug to me, but I'm betting you've never reported it,
so it hasn't been fixed.
Rick
|
|
0
|
|
|
|
Reply
|
Rick
|
9/15/2010 7:48:26 PM
|
|
In <Tl8ko.73065$sL7.65474@newsfe15.iad>, on 09/15/2010
at 02:35 PM, Rick McGuire <object.rexx@gmail.com> said:
>It all depends on what is used to display the source and what code
>page is in effect.
I use 437 and 850; AA display as not and AC displays as 1/4. I took a
look at the HTML character entities, which presumably are ISO 8859-1,
and ¬ is not.
--
Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel>
Unsolicited bulk E-mail subject to legal action. I reserve the
right to publicly post or ridicule any abusive E-mail. Reply to
domain Patriot dot net user shmuel+news to contact me. Do not
reply to spamtrap@library.lspace.org
|
|
0
|
|
|
|
Reply
|
Shmuel
|
9/15/2010 8:08:14 PM
|
|
In <xFQkMlQNARbT090yn@hotmai1.com>, on 09/15/2010
at 07:25 PM, spamgate@hotmai1.com (ML) said:
> REX0219E: Error 13.1: Incorrect character in program " " ('AC'X)
What REXX and what character set?
--
Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel>
Unsolicited bulk E-mail subject to legal action. I reserve the
right to publicly post or ridicule any abusive E-mail. Reply to
domain Patriot dot net user shmuel+news to contact me. Do not
reply to spamtrap@library.lspace.org
|
|
0
|
|
|
|
Reply
|
Shmuel
|
9/15/2010 8:12:24 PM
|
|
In <bv4296d825rmmt6edt2oq37ha4e2qtlvpj@4ax.com>, on 09/15/2010
at 07:46 PM, Swifty <steve.j.swift@gmail.com> said:
>I recall having to translate all the "�" characters for code that
>I moved from CMS to OS/2 - once bitten, twice shy.
Any time that you move code between platforms with different character
sets your results will depend on the translation that you use. I ran a
test on OS/2 and it worked fine.
--
Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel>
Unsolicited bulk E-mail subject to legal action. I reserve the
right to publicly post or ridicule any abusive E-mail. Reply to
domain Patriot dot net user shmuel+news to contact me. Do not
reply to spamtrap@library.lspace.org
|
|
0
|
|
|
|
Reply
|
Shmuel
|
9/15/2010 8:15:37 PM
|
|
On 09/15/2010 03:48 PM, Rick McGuire wrote:
> On 9/15/2010 2:32 PM, Swifty wrote:
>> If you have a line of code that sets two stems in one go, you'd have a
>> hard time working out which one was undefined, especially if both had
>> been pointed at different incarnations of Z.
> That looks like a bug to me,
Bug or feechur, it matches the doc. Condition('D') returns the derived
name of the variable that hit NOVALUE, and the description of compound
symbols says:
> More formally, the derived name of a compound variable that is
> referenced by the symbol
>
> s0.s1.s2. --- .sn
>
> is given by
>
> d0.v1.v2. --- .vn
>
> where d0 is the name of the Stem object associated with the stem
> variable s0 and v1 to vn are the values of the constant or simple
> symbols s1 through sn.
It does seem a little bizarre--especially since the NEW method allows
the stem object to have any arbitrary string for a name, so the derived
name isn't even necessarily a valid symbol and doesn't necessarily
contain a dot marking the end of the stem name:
4 *-* a. = .stem~new('a$b(c')
>>> "a$b(c"
5 *-* x = a.z
8 *-* Novalue:
9 *-* Say 'Variable' condition('D') 'is undefined at line' sigl
>>> "Variable a$b(cZ is undefined at line 5"
Variable a$b(cZ is undefined at line 5
�R
|
|
0
|
|
|
|
Reply
|
Glenn
|
9/15/2010 11:04:06 PM
|
|
On 9/15/2010 7:04 PM, Glenn Knickerbocker wrote:
> On 09/15/2010 03:48 PM, Rick McGuire wrote:
>> On 9/15/2010 2:32 PM, Swifty wrote:
>>> If you have a line of code that sets two stems in one go, you'd have a
>>> hard time working out which one was undefined, especially if both had
>>> been pointed at different incarnations of Z.
>> That looks like a bug to me,
>
> Bug or feechur, it matches the doc. Condition('D') returns the derived
> name of the variable that hit NOVALUE, and the description of compound
> symbols says:
>
>> More formally, the derived name of a compound variable that is
>> referenced by the symbol
>>
>> s0.s1.s2. --- .sn
>>
>> is given by
>>
>> d0.v1.v2. --- .vn
>>
>> where d0 is the name of the Stem object associated with the stem
>> variable s0 and v1 to vn are the values of the constant or simple
>> symbols s1 through sn.
There's a big difference between the compound VARIABLE used to access
the stem and the stem object itself. NOVALUE conditions are driven by
the variable resolution process and the name given by the condition
should be the derived name of the variable, not the resulting default
value returned by the backing stem object. The derived variable name is
"A.Z". The value of that variable retrieved from the stem backing it is
"Z.Z". The wrong version of this is ending up on the condition object.
Rick
>
> It does seem a little bizarre--especially since the NEW method allows
> the stem object to have any arbitrary string for a name, so the derived
> name isn't even necessarily a valid symbol and doesn't necessarily
> contain a dot marking the end of the stem name:
>
> 4 *-* a. = .stem~new('a$b(c')
> >>> "a$b(c"
> 5 *-* x = a.z
> 8 *-* Novalue:
> 9 *-* Say 'Variable' condition('D') 'is undefined at line' sigl
> >>> "Variable a$b(cZ is undefined at line 5"
> Variable a$b(cZ is undefined at line 5
>
> �R
|
|
0
|
|
|
|
Reply
|
Rick
|
9/16/2010 9:30:14 AM
|
|
Hi,
On Sep 15, 1:52=A0pm, GerardS <gerar...@rrt.net> wrote:
>
> R4 (Kilowatt Software, free) also supports the =A0$#@ symbols, and also
> the cent sign. =A0It also supports the use of the =A0 not =A0 symbol. =A0=
R4
> also has the distinction of actually fixing errors (at least, all of
> the errors that I reported), and in a timely manner as well. =A0 R4
> has an =A0EXECIO =A0program, =A0it's modeled after the TSO version.
R4 is nice, but man is it's output slow (not line buffered??)! Also,
it's "classic" (TRL2, 4.00) only. Regina is ANSI (5.00), ooREXX is OOP
(duh), 6.00. (BRexx is something near ANSI but not quite.)
> Ever since Regina went off ASCI compliant and allowed =A0 x=3D2--1
> statements as being partly a comment ... any double minuses are now
> treated as a comment
Ada and Euphoria (and TMT Pascal) allow this, so Regina probably
thought it was safe. While rare, your point is valid. Ada claims "--"
makes it easier to easily know when something is commented (unlike C).
The other flaw I read was with this weird example, still compiles but
not as expected:
blah =3D a + b -- c
+ d;
In other words, "--" can be accidentally typed by a repeating or stuck
key. However, I don't think any of that's common enough to worry about
(and Ada hasn't, at least in thirty years). But it's indeed worth
mentioning. But surely test suites will uncover any obvious errors,
no? Or just strip the comments via sed! ;-)
> (which form of comments are still not
> documented) =A0and there isn't any way of disabling that "feature"
> with any kind of REGINA (interpeter) option.
Recompile from source?? :-)
> The above example
> sets =A0X =A0to a value of =A02, =A0not =A03. =A0 One of my biggest peeve=
s is
> ever since Regina 3.4, any REXX program with a large number of
> stemmed variables (particularly double or triple stemmed) is very
> very
> very slow comparied to earilier versions, and as such, I have to use
> the older buggier Regina 3.3, leastwise my programs take many =A0more
> weeks to execute (I kid you not) --- it's about 30 or 40 times slower.
> That particular slowness doesn't seem to be addressed and apparently,
> no fix is forthcoming --- at least, there isn't any response to the
> bug report (2663478) at (Regina) SourceForge, opened March 4, 2009.
Mark is probably just busy. "Patches welcome" is the familiar cry when
developers can't (or won't) do everything.
While I admit that's less than ideal, the fact that Regina is freely
available (LGPL) and extremely portable, I can't complain. Thanks a
billion for your efforts, Mark (et al.)!
P.S. What platform(s) are you running? Surely somebody can do a
recompile for you if you need it. It can't be that hard to profile the
bottleneck (regression), can it? BTW, here's the URL for the bug
report (and a small example if somebody else wants to test):
http://sourceforge.net/tracker/?func=3Ddetail&aid=3D2663478&group_id=3D2810=
2&atid=3D392412
|
|
0
|
|
|
|
Reply
|
Rugxulo
|
9/16/2010 7:41:35 PM
|
|
Hi again, Gerard,
On Sep 16, 2:41=A0pm, Rugxulo <rugx...@gmail.com> wrote:
>
> P.S. What platform(s) are you running? Surely somebody can do a
> recompile for you if you need it. It can't be that hard to profile the
> bottleneck (regression), can it? BTW, here's the URL for the bug
> report (and a small example if somebody else wants to test):
>
> http://sourceforge.net/tracker/?func=3Ddetail&aid=3D2663478&group_id=3D28=
10...
Even the bug report doesn't list platform, and the only example isn't
by you but someone else apparently ("I've noticed the same thing").
For real testing, we'd need your test case and data (or similar). But
here's other dude's silly example:
filename =3D 'file.txt'
DO WHILE LINES(filename) > 0
line =3D LINEIN(filename)
SAY WORD(line,1)
END
Anyways, large files wasn't very obvious to me, so I grabbed the
biggest single text file I could think of offhand, NASM 0.98.39's
NASMDOC.TXT (552 kb), did "ln -s nasmdoc.txt file.txt", and timed
Regina 3.5 and BRexx 2.1.8 (my own compiles? from a few months ago, at
least) on this P4 2.52 Ghz (Lucid Puppy 5.0.1):
# time ./regina ./tony.rex >regina.txt
real 0m0.216s
user 0m0.124s
sys 0m0.088s
# time ./brexx ./tony.rex >brexx.txt
real 1m13.172s
user 1m7.356s
sys 0m3.268s
This is not surprising at all (BRexx) since I know he doesn't cache
the LINES count. However, since Regina is instantaneous, I can't claim
to really reproduce your problem!
Even BRexx can be sped up to Regina's speed by this tiny change:
/* Regina needs: OPTIONS NOFAST_LINES_BIF_DEFAULT */
blah=3DLINES(filename)
DO blah
P.S. I know this doesn't directly help you, but it's a start! Tell us
more!
|
|
0
|
|
|
|
Reply
|
Rugxulo
|
9/16/2010 8:16:57 PM
|
|
> ooREXX is OOP (duh), 6.00.
Wrong, 3 times in a simple sentence. 1999's Object Rexx is "6.00".
There is no programming language "ooREXX", which isn't "OOP". Duh.
---
|
|
0
|
|
|
|
Reply
|
spamgate
|
9/17/2010 8:58:02 AM
|
|
Hi,
On Sep 17, 3:58=A0am, spamg...@hotmai1.com (ML) wrote:
> =A0> ooREXX is OOP (duh), 6.00.
>
> Wrong, 3 times in a simple sentence. 1999's Object Rexx is "6.00".
> There is no programming language "ooREXX", which isn't "OOP". Duh.
I don't understand your nitpicking here. There's also Roo! and
NetRexx, but I don't know how compatible those are with ooREXX.
Surely you aren't just complaining because I accidentally implied
implementation was same as language?
http://en.wikipedia.org/wiki/Object_Rexx
"On October 12, 2004, IBM released Object REXX as open source
software"
http://www.oorexx.org/docs/rexxref/c188.htm
"Open Object Rexx is compatible with earlier Rexx versions, both non-
object based Rexx and IBM's Object Rexx."
http://www-01.ibm.com/software/awdtools/rexx/opensource.html
"Object REXX for Windows was first announced in February 1997."
My "duh" sounds dumb, but it was because it's fairly obvious that Open
Object Rexx supports Object Oriented Programming!
http://en.wikipedia.org/wiki/Object-oriented_programming_language
"Object-oriented programming (OOP) is a programming paradigm that uses
"objects" =96 data structures consisting of data fields and methods
together with their interactions =96 to design applications and computer
programs."
|
|
0
|
|
|
|
Reply
|
Rugxulo
|
9/17/2010 11:02:10 PM
|
|
On Wed, 15 Sep 2010 15:48:26 -0400, Rick McGuire
<object.rexx@gmail.com> wrote:
>That looks like a bug to me, but I'm betting you've never reported it,
>so it hasn't been fixed.
Well, I'll put that right some time soon.
I'm usually so far behind the times that I tend to assume that bugs
like this will have been found and fixed in newer versions long before
I get there. I don't have any production code running under 4.0+ yet,
so I've been keeping quiet.
--
Steve Swift
http://www.swiftys.org.uk/swifty.html
http://www.ringers.org.uk
|
|
0
|
|
|
|
Reply
|
Swifty
|
9/19/2010 6:25:56 AM
|
|
On Tue, 14 Sep 2010 13:09:13 -0500, MikeB <mpbrede@gmail.com> wrote:
>OK, I got exposed (if that is the correct word) many years ago to REXX
>in an IBM/370 environment. It was kind of a fun language created, IIRC
>by some IBM fellow in the UK.
On a more practical level, you should have no great problems writing
REXX programs under Windows based on your S/370 experience until you
come to any of the parts that were implemented as host commands rather
than native REXX. Stuff like EXECIO and PIPE.
Some of these are easy to replace with pure REXX functions; I wrote a
records() function for reading a file into a stem variable, for
example. The resultant REXX is, if anything, more "pure" and I find it
more satisfying. My code can't compete on performance (especially with
PIPE), but it usually looks simpler (the complexity is hidden in the
add-on functions that I write).
I was rather wary when I migrated from VM REXX to Windows after
20+years in the S/370 environment, but I've enjoyed my Wondows/ooREXX
period far more.
I'm sure you will get plenty of help here.
--
Steve Swift
http://www.swiftys.org.uk/swifty.html
http://www.ringers.org.uk
|
|
0
|
|
|
|
Reply
|
Swifty
|
9/19/2010 6:54:32 AM
|
|
Swifty wrote:
> On Tue, 14 Sep 2010 13:09:13 -0500, MikeB <mpbrede@gmail.com> wrote:
>
>> OK, I got exposed (if that is the correct word) many years ago to REXX
>> in an IBM/370 environment. It was kind of a fun language created, IIRC
>> by some IBM fellow in the UK.
>
> On a more practical level, you should have no great problems writing
> REXX programs under Windows based on your S/370 experience until you
> come to any of the parts that were implemented as host commands rather
> than native REXX. Stuff like EXECIO and PIPE.
>
> Some of these are easy to replace with pure REXX functions; I wrote a
> records() function for reading a file into a stem variable, for
> example. The resultant REXX is, if anything, more "pure" and I find it
> more satisfying. My code can't compete on performance (especially with
> PIPE), but it usually looks simpler (the complexity is hidden in the
> add-on functions that I write).
>
> I was rather wary when I migrated from VM REXX to Windows after
> 20+years in the S/370 environment, but I've enjoyed my Wondows/ooREXX
> period far more.
>
> I'm sure you will get plenty of help here.
>
Having made the transition a little over 3 years ago, I certainly agree!
See:
http://www.rexxla.org/events/2007/presentations/lesk1.html
As it turned out, I discovered that I needed to write some *real* programs in
ooRexx as treasurer for our HOA. See:
http://www.rexxla.org/events/2007/presentations/lesk2.html
Don't download any of the above code except for education purposes. It's old and
stale. Drop me a note if you'd like to have a copy of what I'm using today from
the first presentation. I'm no longer treasurer of the HOA, and the code for
that has been rewritten to use my own INCLUDE facility:
http://www.rexxla.org/events/2008/presentations/les/rexxsymp2008_lesk_experimen.htm
One thing that has helped me a lot is my wrapper for the ooRexx SysDumpVars
http://www.rexxla.org/events/2008/presentations/les/rexxsymp2008_lesk_dumpvars.html
I should probably mention that I do all my work from THE with ooRexx on Windows.
THE traps Rexx trace info, etc. and shows it to me as a new file in the ring.
I have a macro to 'run' the .rex code I'm editing w/o my having to save it. More
and more I find that ooRexx and THE, plus some code for a macro, makes my life
on the pc easier and easier. I now have written an equivalent for
FILELIST ... (FILELIST
to handle an arbitrary list of files, just like I could with VM and Xedit.
Life is good in THE!
--
Les (Change Arabic to Roman to email me)
|
|
0
|
|
|
|
Reply
|
LesK
|
9/19/2010 8:25:34 AM
|
|
On Sun, 19 Sep 2010 07:25:56 +0100, Swifty wrote:
><object.rexx@gmail.com> wrote:
>>That looks like a bug to me, but I'm betting you've never reported it,
>>so it hasn't been fixed.
>Well, I'll put that right some time soon.
Rick already has!
http://sourceforge.net/tracker/?func=detail&aid=3067519&group_id=119701&atid=684730
(Rick, does your fix include wording for the doc? .stem~new needs a new
description of its argument, maybe just substituting "initial value" for
"derived name.")
�R http://users.bestweb.net/~notr/hassel.html
The worst thing that can happen is, tasty olives. --Stevven
|
|
0
|
|
|
|
Reply
|
Glenn
|
9/19/2010 1:26:01 PM
|
|
On Sun, 19 Sep 2010 09:26:01 -0400, Glenn Knickerbocker
<NotR@bestweb.net> wrote:
>Rick already has!
As I noticed just after creating, then closing as duplicate, my own
report. This is the price I pay for taking four days off for my
birthday.
--
Steve Swift
http://www.swiftys.org.uk/swifty.html
http://www.ringers.org.uk
|
|
0
|
|
|
|
Reply
|
Swifty
|
9/20/2010 12:40:48 PM
|
|
|
34 Replies
213 Views
(page loaded in 1.224 seconds)
Similiar Articles: Microsoft Arabic TypeSetting font, latest version - comp.fonts ...Will the "real" REXX plesae stand up? - comp.lang.rexx-- Les (Change Arabic to Roman to email me) ... other thing: ooRexx can interact with all of Microsoft's ... Courier monospace fonts and line spacing - comp.fontsWill the real participant please stand up? Character wrote: > Dick Margulis wrote: > >> RSD99 (and Character), >> > ?? How did *I* get into this ?? > For once, I ... Search in *.rex files - comp.lang.rexxPlease note: the following information was ... I.E. the real operating system ... Search in *.rex files - comp.lang.rexx You can edit the registry and set up each ... How to separate command line args - comp.lang.rexxI want to pass multiple arguments to a REXX script via a ... Set a var for the copy of Args we will hack up ... Probably Shmuel (Seymour J.) Metz typed into a real ... dmesg not from /var/adm/messages - comp.sys.hp.hpuxPlease put in some more effort before wasting everybodies ... virtual memory >> /stand/vmunix the ... adm/messages or /var/log/syslog. ... dmesg -- My real ... google home page comes up in Russian!! - comp.sys.mac.apps ...... page in Cyrillic letters, and am unable to bring up ... Please someone enlighten me. Thank you so much. ... is that Mac users tend not to be techies with a real ... How can you get an incomplete ARP? - comp.dcom.sys.cisco ...Perhaps > after the snooping or gratuiting:) the router does a real arp > to ... "will IP address X please stand up and reply to me with their ethernet address ? Athletic script TTF ? - comp.fontsAnd Spoleto (in my opinion the only real father) is ... sports, fraternities, or work, you just ... call a Rexx ... VOGUE magazine font id please - comp.fonts Please identify ... Trapezoidal Rule and Error? - comp.soft-sys.matlab... es,e]; end face=es; In this code I set the "real ... As they stand, they remain fixed at exp(-a^2) and exp(-b ... correct the correct the code.If there's an error please ... RESIGNATION OF STEVE JOBS!! - comp.sys.mac.systemPlease, make Steve Jobs understand that just because a ... Get a real girlfriend, and not one of those blowup dolls? ... addbar.php?Address=/PRODUCT/PAMA1/AMIGA001.HTM I stand ... w32tm DC error - comp.protocols.time.ntp... how close it is, you've got your syntax messed up. ... clock needs to be within 1000 seconds of the "real" time ... Please run these command and send the output: w32tm ... Best computer-based sampler for a Windows-based PC? - comp.music ...I am using Cubasis VST and will probably move up to ... simply for thickening or making an accenting moment stand ... resolution ? - comp.os.ms-windows ... List pc ... Please ... Does anyone recognize this problems with PSP8 - comp.graphics.apps ...... Mb memory, if you need to know more I will look it up ... where to look to solve it, so if you have any idea please ... I can't stand having to wait 5 seconds for PSP8 to be ... How to get a .lib from .dll - comp.lang.asm.x86... that these programs aren't "stand alone" and ... Well, I did warn that all your "real problems" would actually turn up because ... to get the library in COFF format. > > Please ... is programming becoming a low salary(low status) profession ...Will it end up being a low salary job with a 14 h ... Oh please, REAL programmers don't rest, don't exercise, and ... but then no-one else does - at least you'll stand a ... Will the "real" REXX plesae stand up?... - Groupsrv.com - Online ...OK, I got exposed (if that is the correct word) many years ago to REXX in an IBM/370 environment. It was kind of a fun language created, IIRC Will the real slim shady please stand up? - YouTubeUploaded by thelastvampirelord on May 4, 2008 I got board, so I made something... Yay? Category: Music Tags: eminem hip-hop rap world music britney spears ... 7/22/2012 12:41:42 AM
|