regina-rexx-users Mailing List for Regina REXX Interpreter
Brought to you by:
rexx
You can subscribe to this list here.
| 2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
(1) |
Dec
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(5) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2003 |
Jan
(2) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2004 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2005 |
Jan
|
Feb
(3) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2006 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2009 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
| 2010 |
Jan
|
Feb
(2) |
Mar
|
Apr
|
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2011 |
Jan
|
Feb
|
Mar
(1) |
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2013 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(3) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2014 |
Jan
(3) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(3) |
Nov
(1) |
Dec
(1) |
| 2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(3) |
Jul
(2) |
Aug
(1) |
Sep
|
Oct
|
Nov
(4) |
Dec
(1) |
| 2017 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(3) |
Jun
(1) |
Jul
|
Aug
(14) |
Sep
(4) |
Oct
|
Nov
|
Dec
|
| 2019 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(4) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2020 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
| 2021 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(5) |
| 2022 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(27) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(1) |
Dec
|
| 2023 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2024 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(2) |
Jun
|
Jul
|
Aug
(4) |
Sep
|
Oct
(1) |
Nov
|
Dec
|
| 2025 |
Jan
(1) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
|
From: Ross P. <ros...@gm...> - 2025-09-24 14:56:21
|
The Subversion repository for Regina ( https://sourceforge.net/p/regina-rexx/code/HEAD/tree/) appears to be out of date. It's showing revision 119, dated 2024-05-25, "Tagging 3.9.6" as the current one. But 3.9.7 was released on 2025-04-08. Is that the correct repo? Or is there a more-current repo (of any VCS) someplace else? Thanks, Ross |
|
From: Mark H. <mar...@gm...> - 2025-01-27 05:20:31
|
Just a quick notification about the next Rexx Symposium. I will be attending and hopefully presenting on a couple of topics. Announcement: https://www.rexxla.org/document.rsp?base=events&year=2025&doc=announcement.html&title=Announcement <https://www.rexxla.org/document.rsp?base=events&year=2025&doc=announcement.html&title=Announcement> Cheers, Mark -- ------------------------------------------------------------------------ * Mark Hessling, ma...@re... https://www.rexx.org/ * Author of THE, a Free XEDIT/KEDIT editor and, Rexx/SQL, Rexx/CURL, etc. * Maintainer of Regina Rexx interpreter * Use Rexx? join the Rexx Language Association: https://www.rexxla.org/ ------------------------------------------------------------------------ |
|
From: David G. <da...@zx...> - 2024-10-25 22:28:27
|
Hi, I posted this to the Sourceforge discussion thing about a month back but perhaps that was the wrong place. I've got a need to cross-compile Regina REXX for Windows on Itanium, ARM32 and ARM64 from an x86 Windows host. I've given it a go but it turns out the build process generates an intermediate rexx interpreter (trexx) which gets built for the target architecture so the build fails as soon as nmake tries to run it. Is there any preferred workaround for this? Regards, David |
|
From: Paul G. <Pau...@AI...> - 2024-08-08 16:11:38
|
On 8/8/24 08:18, Phil Smith III wrote: > So why didn't it whinge about the unexpected END? Did it have a flag set saying "We're in a weird state"? Or were unexpected ENDs not an error at that point? > . Suppose the code RETURNs, EXITs, or SIGNALs out of that group before encountering the END? > Just curious--this clearly gets into compiler/interpreter theology, which I've always been fascinated by while realizing it's not something you just dip a toe into! -- gil |
|
From: Phil S. I. <li...@ak...> - 2024-08-07 13:49:03
|
Meant to add: I don't get that message, just "label not found". You likely have a newer Regina than I do:
regina: REXX-Regina_3.9.3(MT) 5.00 5 Oct 2019 (64 bit)
It bothers me that this is inconsistent across implementations. Seems like VM Rexx should be canonical, though of course that can be argued plausibly.
-----Original Message-----
From: Paul Gilmartin via Regina-rexx-users <reg...@li...>
Sent: Tuesday, August 6, 2024 4:02 PM
To: reg...@li...
Subject: Re: [Regina-rexx-users] SUMER
On 8/6/24 11:35, Phil Smith III wrote:
> I got tinkering and tried the Rexx version of SUMER (created for VM) with Regina Rexx. It mostly works (had to remove some VMFCLEARs and the like, and fix the Syntax: handler to be more modern and not use some VM utility that I never heard of) but there are various points where it does a “*signal flop*” and Regina claims the label doesn’t exist! On VM those work fine. I suspect it’s because “*flop:*” is in the middle of a structure, but that’s…weird. Is this a Regina restriction or bug?
>
> Here’s a snippet:
> * signal flop; end
> ...
Is that snippet supposed to be testable? I get:
Error 10 running "/private/tmp/Darwin-23.6.0-paulgilm/fl", line 2: Unexpected or unmatched END Error 10.1: END has no corresponding DO or SELECT
Ask Shmuel for an opinion about SIGNAL into a block, even though C allows something similar.
I added a DO and got:
Error 14 running "/private/tmp/Darwin-23.6.0-paulgilm/fl", line 19: Incomplete DO/SELECT/IF
I added an END and got:
2 +++ signal flop
Error 16 running "/private/tmp/Darwin-23.6.0-paulgilm/fl", line 2: Label not found Error 16.2: Cannot SIGNAL to label "FLOP" because it is inside an IF, SELECT or DO group
<https://master.dl.sourceforge.net/project/regina-rexx/regina-documentation/3.9.6/regina.pdf?viasf=1>
regiina.pdf Version 3.9.6 says:
Example: Transferring control to inside a loop When the control of execution is transferred by a SIGNAL instruction, all active loops at the current procedural level are terminated, i.e. they can not continued later, although they can of course be reentered from the normal start. The consequence of this is that the following code is illegal:
do forever
signal there
there:
nop
end
--
gil
_______________________________________________
Regina-rexx-users mailing list
Reg...@li...
https://lists.sourceforge.net/lists/listinfo/regina-rexx-users
|
|
From: Paul G. <Pau...@AI...> - 2024-08-06 20:52:45
|
On 8/6/24 11:35, Phil Smith III wrote:
> I got tinkering and tried the Rexx version of SUMER (created for VM) with Regina Rexx. It mostly works (had to remove some VMFCLEARs and the like, and fix the Syntax: handler to be more modern and not use some VM utility that I never heard of) but there are various points where it does a “*signal flop*” and Regina claims the label doesn’t exist! On VM those work fine. I suspect it’s because “*flop:*” is in the middle of a structure, but that’s…weird. Is this a Regina restriction or bug?
>
> Here’s a snippet:
> * signal flop; end
> ...
Is that snippet supposed to be testable? I get:
Error 10 running "/private/tmp/Darwin-23.6.0-paulgilm/fl", line 2: Unexpected or unmatched END
Error 10.1: END has no corresponding DO or SELECT
Ask Shmuel for an opinion about SIGNAL into a block,
even though C allows something similar.
I added a DO and got:
Error 14 running "/private/tmp/Darwin-23.6.0-paulgilm/fl", line 19: Incomplete DO/SELECT/IF
I added an END and got:
2 +++ signal flop
Error 16 running "/private/tmp/Darwin-23.6.0-paulgilm/fl", line 2: Label not found
Error 16.2: Cannot SIGNAL to label "FLOP" because it is inside an IF, SELECT or DO group
<https://master.dl.sourceforge.net/project/regina-rexx/regina-documentation/3.9.6/regina.pdf?viasf=1>
regiina.pdf Version 3.9.6 says:
Example: Transferring control to inside a loop
When the control of execution is transferred by a SIGNAL instruction, all active loops at the current procedural level are terminated, i.e. they can not continued later, although they can of course be reentered from the normal start. The consequence of this is that the following code is illegal:
do forever
signal there
there:
nop
end
--
gil
|
|
From: Phil S. I. <li...@ak...> - 2024-08-06 17:51:58
|
I got tinkering and tried the Rexx version of SUMER (created for VM) with Regina Rexx. It mostly works (had to remove some VMFCLEARs and the like, and fix the Syntax: handler to be more modern and not use some VM utility that I never heard of) but there are various points where it does a "signal flop" and Regina claims the label doesn't exist! On VM those work fine. I suspect it's because "flop:" is in the middle of a structure, but that's.weird. Is this a Regina restriction or bug?
Here's a snippet:
signal flop; end
if e2 then do
if e1<=0 then /* no contribution */
if e1<0|e2^=1 then do
say 'However, alas! a recent coup d''etat has deposed you from office.'
signal flop
end;
else
say 'Luckily, you managed to maintain your dictatorship during the year.'
else /* contributed */
if e2^=1 then do
say 'Alas! you lost the election - it therefore seems that'
flop:
say 'frankly, Master, as a ruler you are a flop!'
f3=1
signal L469
end
(Yes, it's ugly; I didn't write it!)
|
|
From: Mark H. <mar...@gm...> - 2024-05-06 21:10:37
|
If you downloaded one of the Regina v3.9.6 Windows packages in the last day, please download the package again and reinstall. There was an issue with the regutil external function package that has now been resolved. Thanks, Mark On 6/5/24 09:19, Mark Hessling wrote: > I have released Regina v3.9.6. Files are available via SourceForge: > https://sourceforge.net/projects/regina-rexx/files > > Changelog for v3.9.6: > > Changes in this release (from 3.9.5) > ------------------------------------ > * Bugs Fixed: > - Crash with UPPER and LOWER BIFs > - #560 MAX(1m2m05,0,4) returns 5 (not what the doc says) > - #561 Crash with 10 trace off > - #564 Two STREAM QUERY EXISTS generate wrong result Rexx >= 3.7 > - #575 Parsing fails > - #581 Silly syntax typo causes Regina to CRASH > - #583 Trace "Failure" ineffective. > - #586 syssearchpath() under Windows not using updated > - #588 Configure probes for gethostbyname_r and getpwuid_r fail > incorrectly with strict compilers > - #589 Translate BIF only translates aplha characters > - #593 bad format, numeric digits not honoured > - #594 FORMAT(123.4573, ,3,0,0) > * Feature Requests: > - #44 Regina pauses at execution end - installation check box pls > * Potentially improve performance by reducing initial variable pool > hash size from > 2003 to 227. Certainly improves rexxcps - suggested by Jake Hamby > * Add REGINA_HASHTABLELENGTH to enable initial variable pool size to > be changed > at runtime. This value MUST be a prime number! Use with caution. > * Add sysgetline() and sysgetlinehistory() to Regutil; > implementation of GNU Readline > (actually added in v3.9.5) > * Add handling support for SIGUSR1 and SIGUSR2 to turn on/off TRACE I > * Add ReginaGetAddonDir() API call to obtain location where Regina > looks for external function packages > * Initial support for Windows ARM64 platform > * Check for Windows 11 and arm/arm64 architecture in UNAME BIF > * Add OPTION STRICT_ANSI_FORMAT_BIF to apply strict ANSI rules to > the FORMAT BIF > > Cheers, Mark > -- ------------------------------------------------------------------------ * Mark Hessling, ma...@re... https://www.rexx.org/ * Author of THE, a Free XEDIT/KEDIT editor and, Rexx/SQL, Rexx/CURL, etc. * Maintainer of Regina Rexx interpreter * Use Rexx? join the Rexx Language Association: https://www.rexxla.org/ ------------------------------------------------------------------------ |
|
From: Mark H. <mar...@gm...> - 2024-05-05 23:19:58
|
I have released Regina v3.9.6. Files are available via SourceForge: https://sourceforge.net/projects/regina-rexx/files Changelog for v3.9.6: Changes in this release (from 3.9.5) ------------------------------------ * Bugs Fixed: - Crash with UPPER and LOWER BIFs - #560 MAX(1m2m05,0,4) returns 5 (not what the doc says) - #561 Crash with 10 trace off - #564 Two STREAM QUERY EXISTS generate wrong result Rexx >= 3.7 - #575 Parsing fails - #581 Silly syntax typo causes Regina to CRASH - #583 Trace "Failure" ineffective. - #586 syssearchpath() under Windows not using updated - #588 Configure probes for gethostbyname_r and getpwuid_r fail incorrectly with strict compilers - #589 Translate BIF only translates aplha characters - #593 bad format, numeric digits not honoured - #594 FORMAT(123.4573, ,3,0,0) * Feature Requests: - #44 Regina pauses at execution end - installation check box pls * Potentially improve performance by reducing initial variable pool hash size from 2003 to 227. Certainly improves rexxcps - suggested by Jake Hamby * Add REGINA_HASHTABLELENGTH to enable initial variable pool size to be changed at runtime. This value MUST be a prime number! Use with caution. * Add sysgetline() and sysgetlinehistory() to Regutil; implementation of GNU Readline (actually added in v3.9.5) * Add handling support for SIGUSR1 and SIGUSR2 to turn on/off TRACE I * Add ReginaGetAddonDir() API call to obtain location where Regina looks for external function packages * Initial support for Windows ARM64 platform * Check for Windows 11 and arm/arm64 architecture in UNAME BIF * Add OPTION STRICT_ANSI_FORMAT_BIF to apply strict ANSI rules to the FORMAT BIF Cheers, Mark -- ------------------------------------------------------------------------ * Mark Hessling, ma...@re... https://www.rexx.org/ * Author of THE, a Free XEDIT/KEDIT editor and, Rexx/SQL, Rexx/CURL, etc. * Maintainer of Regina Rexx interpreter * Use Rexx? join the Rexx Language Association: https://www.rexxla.org/ ------------------------------------------------------------------------ |
|
From: David <epi...@gm...> - 2023-10-12 17:44:19
|
hihi all I'm looking to port REXX to a z80 hobby computer. I've found the source code and documentation. I'm curious to know if there any additional resources for folks porting stuff around. If not no worries. I'll sort it out. Just wanted to ask before I dive in. ty! |
|
From: <jpk...@be...> - 2022-11-08 18:27:23
|
I started getting this error after installing what looked like a newer version of RexxCurl-Regina, but I re-installed the one that was working yesterday and still get the error. 35 - error:1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version I do not get it for all websites, but for one of them I do get it the native windows CURL console command seems to work just fine. I'd appreciate any suggestions. Thanks. |
|
From: Dave J. <vm...@ru...> - 2022-10-20 15:48:52
|
Hi, Mark. Yes, please, I would like to try your Rexx/Package external function package generator. The DISLIN *.h include file is very simple, and only has about 800 or so lines in it. Where might I find the Rexx/Package code and any documentation that might be available? Many thanks for all of your help here, too. DJ On Wed, 19 Oct 2022 16:37:38 +1000, Mark Hessling <mar...@gm...> wrote: > For some reason I don't think I've ever been subscribed to this mailing > list. If it wasn't for the email from Dave Jones that I needed to > approve I still don't think I would have realised. So apologies for not > responding to anyone's emails. > > In response to Dave's email, the DISLIN package is a perfect candidate > for my Rexx/Package external function package generator. It takes a C > header file and builds the majority of the code and infrastructure to > configure, compile and build installable packages. All that needs to be > done is create a file with settings and run the generate program. Dave, > if you want to look at this let me know. The package is poorly > documented so I'd be happy to help get you going :-( > > Thanks Jake for the performance tip for Regina. The original value for > hash size was 71 and was changed presumably because a large Rexx program > was inefficient due to having to resize the hash table. Who's Rexx > program I don't know; the change was made in 2009. I've made the value > settable via an environment variable at runtime, and the default at 227 > as suggested. This will be in the next Regina release. > > I'll also apply the patches for the UPPER and LOWER BIFs. > > Cheers, Mark > > -- > ------------------------------------------------------------------------ > * Mark Hessling, ma...@re... http://www.rexx.org/ > * Author of THE, a Free XEDIT/KEDIT editor and, Rexx/SQL, Rexx/CURL, etc. > * Maintainer of Regina Rexx interpreter > * Use Rexx? join the Rexx Language Association: https://www.rexxla.org/ > ------------------------------------------------------------------------ > > > > _______________________________________________ > Regina-rexx-users mailing list > Reg...@li... > https://lists.sourceforge.net/lists/listinfo/regina-rexx-users |
|
From: Dave J. <da...@vs...> - 2022-10-19 16:21:44
|
Hi, Mark. Yes, please, I would like to try your Rexx/Package external function package generator. The DISLIN *.h include file is very simple, and only has about 800 or so lines in it. Where might I find the Rexx/Package code and any documentation that might be available? Many thanks for all of your help here, too. DJ On Wed, 19 Oct 2022 16:37:38 +1000, Mark Hessling <mar...@gm...> wrote: > For some reason I don't think I've ever been subscribed to this mailing > list. If it wasn't for the email from Dave Jones that I needed to > approve I still don't think I would have realised. So apologies for not > responding to anyone's emails. > > In response to Dave's email, the DISLIN package is a perfect candidate > for my Rexx/Package external function package generator. It takes a C > header file and builds the majority of the code and infrastructure to > configure, compile and build installable packages. All that needs to be > done is create a file with settings and run the generate program. Dave, > if you want to look at this let me know. The package is poorly > documented so I'd be happy to help get you going :-( > > Thanks Jake for the performance tip for Regina. The original value for > hash size was 71 and was changed presumably because a large Rexx program > was inefficient due to having to resize the hash table. Who's Rexx > program I don't know; the change was made in 2009. I've made the value > settable via an environment variable at runtime, and the default at 227 > as suggested. This will be in the next Regina release. > > I'll also apply the patches for the UPPER and LOWER BIFs. > > Cheers, Mark > > -- > ------------------------------------------------------------------------ > * Mark Hessling, ma...@re... http://www.rexx.org/ > * Author of THE, a Free XEDIT/KEDIT editor and, Rexx/SQL, Rexx/CURL, etc. > * Maintainer of Regina Rexx interpreter > * Use Rexx? join the Rexx Language Association: https://www.rexxla.org/ > ------------------------------------------------------------------------ > > > > _______________________________________________ > Regina-rexx-users mailing list > Reg...@li... > https://lists.sourceforge.net/lists/listinfo/regina-rexx-users |
|
From: Mark H. <mar...@gm...> - 2022-10-19 06:37:49
|
For some reason I don't think I've ever been subscribed to this mailing list. If it wasn't for the email from Dave Jones that I needed to approve I still don't think I would have realised. So apologies for not responding to anyone's emails. In response to Dave's email, the DISLIN package is a perfect candidate for my Rexx/Package external function package generator. It takes a C header file and builds the majority of the code and infrastructure to configure, compile and build installable packages. All that needs to be done is create a file with settings and run the generate program. Dave, if you want to look at this let me know. The package is poorly documented so I'd be happy to help get you going :-( Thanks Jake for the performance tip for Regina. The original value for hash size was 71 and was changed presumably because a large Rexx program was inefficient due to having to resize the hash table. Who's Rexx program I don't know; the change was made in 2009. I've made the value settable via an environment variable at runtime, and the default at 227 as suggested. This will be in the next Regina release. I'll also apply the patches for the UPPER and LOWER BIFs. Cheers, Mark -- ------------------------------------------------------------------------ * Mark Hessling, ma...@re... http://www.rexx.org/ * Author of THE, a Free XEDIT/KEDIT editor and, Rexx/SQL, Rexx/CURL, etc. * Maintainer of Regina Rexx interpreter * Use Rexx? join the Rexx Language Association: https://www.rexxla.org/ ------------------------------------------------------------------------ |
|
From: Dave J. <dj...@it...> - 2022-10-17 15:27:51
|
Hello, all. I want to write a subcommand handler interface between Regina (on Linux if that matters) and the graphics library DISLIN, very much what VM/CMS implements with GDDM-Rexx on the mainframe. Since I am not a C language expert, I would like to find an example/sample code of a subcommand handler that does something simple, like reverse a character string and return it to the Rexx program. I am looking for a sample of all of the steps needed....how to write it, how to compile/link it, how to use it from Rexx. If it would be better to implement this as an external function package, I would like to hear about that as well. I am interested in the old-style, "classic" interface only. The Regina is 3.9.5, and the Linux is openSuSE Tumbleweeds 64 bit. Anything I can come up with will of course be shared back to the community. Many thanks. DJ |
|
From: Jake H. <jak...@gm...> - 2022-05-22 22:30:29
|
For the past several weeks, I've been working on resurrecting and modernizing the OpenVMS support in Regina so that I can use it on my own hobby systems as an alternative to DCL, and also because I've become intrigued by the idea of using REXX for scripting tasks after learning about its usefulness on mainframes. I have some fairly large changes that I've been working on in my own fork on GitHub, which I'd love to get feedback on and testing from any VMS and Regina users: https://github.com/jhamby/vms-regina/ I also wanted to report a bug that I've discovered (and fix), and a performance tweak that improves the speed of the RexxCPS benchmark by 15-18% on my two VMS systems (Alpha and Itanium) and my 2020 Xeon PC running Linux. The bug is an assertion failure that I kept seeing running "builtin.rexx" (multiple test case failures there, on all platforms), that I traced to UPPER() and LOWER() not allocating enough RAM when the output is larger than the input. Apparently people aren't running that script and compiling with assertions enabled? Here's the patch to allocate the longer of the two lengths for both functions. diff --git a/arxfuncs.c b/arxfuncs.c index 4001d4e..8845525 100644 --- a/arxfuncs.c +++ b/arxfuncs.c @@ -992,7 +993,7 @@ streng *arexx_upper( tsd_t *TSD, cparamboxptr parms ) /* * Create our new starting; duplicate of input string */ - ptr = Str_makeTSD( rlength ); + ptr = Str_makeTSD( (length > rlength) ? length : rlength ); memcpy( Str_val( ptr ), Str_val( str ), Str_len( str ) ); /* * Determine where to start changing case... diff --git a/builtin.c b/builtin.c index 60bcb09..53c1b7b 100644 --- a/builtin.c +++ b/builtin.c @@ -2696,7 +2696,7 @@ streng *rex_lower( tsd_t *TSD, cparamboxptr parms ) /* * Create our new starting; duplicate of input string */ - ptr = Str_makeTSD( rlength ); + ptr = Str_makeTSD( (length > rlength) ? length : rlength ); memcpy( Str_val( ptr ), Str_val( str ), Str_len( str ) ); /* * Determine where to start changing case... The performance bottleneck I discovered is with a too-large initial hash table size in init_vars() in variable.c. What I discovered from profiling RexxCPS.rexx is that as much as 20% of the CPU time was spent in assign_foliage() and remove_foliage() iterating over the entire hashtable. By empirical testing of smaller prime numbers, I've found that 227 appears to be a sweet spot, at least for RexxCPS scores, but hopefully also for any Rexx script that wouldn't benefit from a larger hashtable due to having hundreds of variables. I'd be interested to hear whether setting vt->initialHashTableLength = 227 instead of 2003, or using some other smaller value, provides similar performance gains for other Rexx scripts that are performance-sensitive. Intuitively, 2003 seems much too large an initial size, especially if there's *any* function that has to loop over the entire table. Regards, Jake |
|
From: Stuart K. <st...@ku...> - 2022-05-16 18:39:33
|
Oh oh, my mainframer colors are showing, altho most REXX was on OS2. FORMAT is nicer than TRUNC and both are way better than WORDPOS looking for the decimal. The number of decimals would depend on the use case. ;-) Stay healthy & be well, -Stuart cell: 303.587.2295 On Mon, May 16, 2022 at 11:05 AM Paul Gilmartin via Regina-rexx-users < reg...@li...> wrote: > On May 16, 2022, at 09:56:10, Stuart Kuzminsky wrote: > > > > I would also uppercase the input to avoid unnecessary locked keyboard > errors- > > 'parse pull choice' to 'parse upper pull choice .' > > with changed upper cased conditions like 'when choice = "a" ' to ' "when > choice = "A", ... > > > Spoken like a true mainframerr. Who else operates with CAPS LOCK? > > > Perhaps using the TRUNC function for the result would be nice too. For a > 1 decimal return: > > "return (0.5556 * (fahr - 32.0)): becomes "return TRUNC((0.5556 * (fahr > - 32.0)), 1) " > > > Tough call. > > Do all users prefer not to see many digits? > For that case, I'd prefer > format( 0.5556 * (fahr - 32.0), , 1 ) > In order to round rather than truncate. > > -- > gil > > > > _______________________________________________ > Regina-rexx-users mailing list > Reg...@li... > https://lists.sourceforge.net/lists/listinfo/regina-rexx-users > |
|
From: Paul G. <Pau...@AI...> - 2022-05-16 17:04:47
|
On May 16, 2022, at 09:56:10, Stuart Kuzminsky wrote: > > I would also uppercase the input to avoid unnecessary locked keyboard errors- > 'parse pull choice' to 'parse upper pull choice .' > with changed upper cased conditions like 'when choice = "a" ' to ' "when choice = "A", ... > Spoken like a true mainframerr. Who else operates with CAPS LOCK? > Perhaps using the TRUNC function for the result would be nice too. For a 1 decimal return: > "return (0.5556 * (fahr - 32.0)): becomes "return TRUNC((0.5556 * (fahr - 32.0)), 1) " > Tough call. Do all users prefer not to see many digits? For that case, I'd prefer format( 0.5556 * (fahr - 32.0), , 1 ) In order to round rather than truncate. -- gil |
|
From: Duke N. <duk...@gm...> - 2022-05-16 16:15:30
|
On Mon, 16 May 2022 09:56:10 -0600 Stuart Kuzminsky <st...@ku...> wrote: > I would also uppercase the input to avoid unnecessary locked > keyboard errors- > 'parse pull choice' to 'parse upper pull choice .' > with changed upper cased conditions like 'when choice = "a" ' to > ' "when choice = "A", ... > > Perhaps using the TRUNC function for the result would be nice > too. For a 1 decimal return: > "return (0.5556 * (fahr - 32.0)): becomes "return TRUNC((0.5556 * > (fahr - 32.0)), 1) " Recommendations noted! Thanks for your input! -- Duke ** Text only please. Bottom post works best for me ** |
|
From: Stuart K. <st...@ku...> - 2022-05-16 15:56:31
|
I would also uppercase the input to avoid unnecessary locked keyboard errors- 'parse pull choice' to 'parse upper pull choice .' with changed upper cased conditions like 'when choice = "a" ' to ' "when choice = "A", ... Perhaps using the TRUNC function for the result would be nice too. For a 1 decimal return: "return (0.5556 * (fahr - 32.0)): becomes "return TRUNC((0.5556 * (fahr - 32.0)), 1) " Stay healthy & be well, -Stuart cell: 303.587.2295 On Sat, May 14, 2022 at 5:23 PM Paul Gilmartin via Regina-rexx-users < reg...@li...> wrote: > On May 13, 2022, at 21:21:46, Duke Normandin wrote: > > > > https://controlc.com/db38d3cb > > > Allow temp optionally on the "choice" line. > > On invalid "temp", retry rather than crashing. > > Patch: > > > -- > gil > > _______________________________________________ > Regina-rexx-users mailing list > Reg...@li... > https://lists.sourceforge.net/lists/listinfo/regina-rexx-users > |
|
From: Duke N. <duk...@gm...> - 2022-05-15 04:45:31
|
On Sat, 14 May 2022 19:43:53 -0600 Paul Gilmartin <pau...@ai...> wrote: > On May 14, 2022, at 18:55:59, Duke Normandin wrote: > > > > Thx Paul. I’ll sure study your code /after/ I brush up on how > > to apply a patch. LOL DDG is my friend. > You're welcome. Is there a way I could have downloaded your > file? I resorted to "Select All; Copy; Paste to a local file." https://www.dropbox.com/s/bo96njkdhizn05f/tempConv.rex?dl=0 -- Duke ** Text only please. Bottom post works best for me ** |
|
From: Duke N. <duk...@gm...> - 2022-05-15 04:30:40
|
On Sat, 14 May 2022 19:43:53 -0600 Paul Gilmartin <pau...@ai...> wrote: > On May 14, 2022, at 18:55:59, Duke Normandin wrote: > > > > Thx Paul. I’ll sure study your code /after/ I brush up on how > > to apply a patch. LOL DDG is my friend. > You're welcome. Is there a way I could have downloaded your > file? I resorted to "Select All; Copy; Paste to a local file." I'll UL it to Dropbox tomorrow (Sunday) and send you/or the mailing list the link. Would that work for you? -- Duke ** Text only please. Bottom post works best for me ** |
|
From: Paul G. <pau...@ai...> - 2022-05-15 01:44:11
|
On May 14, 2022, at 18:55:59, Duke Normandin wrote: > > Thx Paul. I’ll sure study your code /after/ I brush up on how to apply a patch. LOL DDG is my friend. > You're welcome. Is there a way I could have downloaded your file? I resorted to "Select All; Copy; Paste to a local file." >> On May 13, 2022, at 21:21:46, Duke Normandin wrote: >>> >>> https://controlc.com/db38d3cb -- gil |
|
From: Duke N. <duk...@gm...> - 2022-05-15 00:56:16
|
Thx Paul. I’ll sure study your code /after/ I brush up on how to apply a patch. LOL DDG is my friend. Thx again! — Duke Sent from my iPhone > On May 14, 2022, at 5:01 PM, Paul Gilmartin <pau...@ai...> wrote: > > On May 13, 2022, at 21:21:46, Duke Normandin wrote: >> >> https://controlc.com/db38d3cb >> > Allow temp optionally on the "choice" line. > > On invalid "temp", retry rather than crashing. > > Patch: > <patch.txt> > > > -- > gil > |
|
From: Paul G. <pau...@ai...> - 2022-05-14 23:23:38
|
On May 13, 2022, at 21:21:46, Duke Normandin wrote: > > https://controlc.com/db38d3cb > Allow temp optionally on the "choice" line. On invalid "temp", retry rather than crashing. Patch: |