[Oorexx-devel] Questions ad RexxPackageEntry fields for 5.0

2014-10-20 Thread Rony G. Flatscher
The RexxPackageEntry structure has a few fields that might be interesting for 
Rexx programs:

  * apiVersion
  * requiredVersion
  * packageName
  * packageVersion
  * loader and unloader (whether they exist at all)
  * routines
  * methods

Will 5.0 allow for retrieving these values (maybe via existing package methods, 
if applicable, as
package annotations else)?

Should packageName be in uppercase (for being usable as a namespace) or will it 
be uppercased anyway
in 5.0?

---rony



--
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Question ad annotations ...

2014-10-20 Thread Rony G. Flatscher
It is really great that annotations get added to the language!

It may be conceivable that there are annotations that consist of many 
field/value pairs, but also of
field-names only (like "deprecated" or "testmethod", which in junit allows one 
to annotate methods
to be testmethods even if they do not start with the string "test", and the 
like).

How could one distinguish easily which symbols in annotations are field names 
and which ones are
their values (assuming a long list of annotation fields) ?

Would something like "fieldname[=value]" or "(fieldname[,value])" be applicable?

---rony



--
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Ad [] to call a routine

2014-10-20 Thread Rony G. Flatscher
It seems that 5.0 will supply square brackets to call a routine object. Why is 
this?

Square brackets have been in ooRexx for a long time and have been used for 
accessing collections.
Making square brackets call a routine object somehow breaks that 
collection-related notion, and
seems a little bit counter intuitive.

OTOH, if a new meaning is added to square brackets that can be generalized, new 
concepts, notions
can be added to the imagination as well. So, the question, why, how could one 
perceive what square
brackets do in what contexts.

---rony




--
Comprehensive Server Monitoring with Site24x7.
Monitor 10 servers for $9/Month.
Get alerted through email, SMS, voice calls or mobile push notifications.
Take corrective actions from your mobile device.
http://p.sf.net/sfu/Zoho
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Fwd: [RexxLA] Announcing updated "ooRexxDoc" ...

2015-01-20 Thread Rony G. Flatscher
Hi there,

FYI.

ad this year's International Rexx Symposium: please check out the information at
<http://www.rexxla.org>.

---rony

 Forwarded Message 
Subject:[RexxLA] Announcing updated "ooRexxDoc" ...
Date:   Tue, 20 Jan 2015 19:05:31 +0100
From:   Rony G. Flatscher
To: RexxLA Members mailing list



Hi there,

a student of mine, Alexander Seik, created a platform-independent documentation 
tool for Rexx and
ooRexx programs, that I introduced at last year's International Rexx symposium. 
The generated
documentation is HTML-based and includes links to navigate among some of the 
documentation's artifacts.

In the meantime he invested more efforts in order to brush it up a little bit 
and make it even more
user-friendly.

In addition he updated the tool to document some of the features in the 
upcoming ooRexx 5.0. So
running his code against ooRexx 5.0 code should be reflected in the created 
documentation. If there
is something missing or not being picked up, please let him know via the 
ooRexxDoc ticket system at
sourceforge.

"ooRexxDoc" is hosted at 
<https://sourceforge.net/projects/oorexxdoc/?source=navbar>.

Directions:

  * download the tool: go to the "Files" menu and download the latest 
"ooRexxDoc-x.y.z.zip" file 
  o at the time of this writing the latest version is at

<http://sourceforge.net/projects/oorexxdoc/files/ooRexxDoc-4.3.2.zip/download>
  * unzip the archive and study "README.txt" and the "ooRexxdoc - User 
Guide.pdf"
  * double-click on "ooRexxDoc.jar" and a GUI should show up. Fill in the 
necessary information and
"Save Config", which will save your entries in a xml-file that you can also 
edit directly with a
text editor later on

If you have usage questions, then please come forward.

If you have suggestions or need further assistance, then please use the above 
Sourceforge site which
has a "Tickets" and a "Discussion" feature for that purpose.

Hint: "ooRexxDoc.jar" is a Java application and as such can be run on all 
operating systems where
Java is installed! Also note, that on the command line you could start the 
generation of
documentation with appropriate switches that are documented in the 
aforementioned "study" materials.

I will try to motivate this student to talk about and demo this tool at this 
year's International
Rexx Symposium here in Vienna.

---rony


___
rexxla-members mailing list -- mailto:rexxla-memb...@rexxla.org
http://rexxla.org/mailman/listinfo/rexxla-members

--
New Year. New Location. New Benefits. New Data Center in Ashburn, VA.
GigeNET is offering a free month of service with a new server in Ashburn.
Choose from 2 high performing configs, both with 100TB of bandwidth.
Higher redundancy.Lower latency.Increased capacity.Completely compliant.
http://p.sf.net/sfu/gigenet___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Looking Forwards...

2015-04-16 Thread Rony G. Flatscher
Hi Jon,

thank you for your initiative and leadership in this interesting phase of the 
ooRexx project!

Even though I am really *very* tight on time (80+ hrs week), maybe I can offer 
a little help here
and there which would be hopefully better than nothing :) and thereby help you 
and the ooRexx
project a little bit!

Currently, I could offer to make the MacOSX installation of ooRexx with 
BSF4ooRexx available (it
follows the Apple guidelines and goes back to the work of two of my students, 
although I have later
adapted/changed the installation procedure quite a bit to safe time and 
efforts). Unfortunately, I
do not have the skills to debug under MacOSX, such that I could not tackle the 
MacOSX memory leak
bug of ooRexx 4.2.0 reported in .

Another area where I might be able to help a little bit, if there is a need, 
would be in the testing
framework that I initiated many years ago, but which has undergone quite some 
changes, adaptations
and extensions by Mark Miesfeld and Rick, which means, that there is a need for 
me to re-acquaint
myself before being able to help (e.g. lately Rick added a lot of helpful 
functionality in the trunk
version of ooTest, which needs to be researched and digested, if development of 
the innovative
version 5 should continue). Probably there is a need to (re-)document the 
purpose and usage of the
ooRexx testing framework for the ooRexx developers themselves, but also for 
"normal" ooRexx
programmers who could take advantage of it; some sort of a nutshell/cookbook to 
help jump-start any
interested developer.

---

Independently of these two areas I have been quite busy with *BSF4ooRexx* 
(making Java classes and
Java objects available to ooRexx as if they were ooRexx classes and ooRexx 
objects) and the
*dbusoorexx* ooRexx function library and package, which makes it a breeze from 
ooRexx to interact
with the (Linux) D-Bus infrastructure, allowing automation, D-Bus services and 
macros written in
ooRexx and this in a much easier form as with many other programming languages 
on Linux (also
dbusoorexx is multiplatform, I have created and tested libraries for MacOSX and 
Windows). You may
want to take a look at the D-Bus presentations at this year's International 
Rexx Symposium at
, there are either slides or 
papers available on that
particular and important Linux topic. [The latest version of dbusoorexx needs 
to be recompiled and
repackaged (actually a new installer needs to be written and tested, which I 
hope to get time for at
this weekend).]

---rony

P.S.: For any potential ooRexx developer who has a need to make external 
functions available via C++
for ooRexx: this is *very* easy and can be studied in the presentation
, the 
zip-archive with the
demo-code of the presentation can be downloaded from
 from
.

P.P.S.: Maybe you could add the experimental and interesting platform 
"Barrelfish", learning that
Moritz tackles it?



--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Looking Forwards...

2015-04-19 Thread Rony G. Flatscher
Hi Moritz,

thanks for all of your initiatives (causing me to finally get me an account at 
github!), *very* much
appreciated!

On 18.04.2015 21:54, Moritz Hoffmann wrote:
> We also have a presence on Facebook [1] and Google+ [2] where I'm currently 
> admin. I'd appreciate
> if someone else could join me in maintaining them.
>
> Cheers,
> Moritz
>
> [1] https://www.facebook.com/ooRexx
> [2] https://plus.google.com/+ooRexxOrg
Just a comment from my side: personally I have not been using either facebook 
nor google+ for
principal reasons. As long as I am not able to fully control my own data on 
social networks, I
boycott them, visibly for my students as well. As a result, I cannot help you 
administrate these two
groups, but hope that others, who are actively using FB or g+ will step up.

Please keep your initiatives up and running!

Best regards,

---rony


In the case of google+ Google - against my will - added me to it, without any 
means on my side to
cancel that, which shows how powerful and in my opinion how ruthless these 
mega-IT-companies have
become.


--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Looking Forwards...

2015-04-20 Thread Rony G. Flatscher
Hi Dan,

On 20.04.2015 17:10, Dan Carter wrote:
>
> Come on, guys!  Facebook, Twitter, and the other “social networking” sites 
> are simply a waste of
> Internet bandwidth, doing a job that does not need doing.  Social networking 
> is nothing more than
> a teen-agers’ replacement for party-line telephones and a gold mine for 
> market analysis.  The
> whole “social” phenomenon is a pernicious disease that should be stamped out. 
>  We don’t need to
> “come together”;  we need to get back to work and stop wasting time. 
>
:)

Like it or not, most of the planet is *hooked* on Facebook and/or google+ and 
the like! These social
networks have quite a few benefits (like Mike pointing out that he found 'lost' 
friends of earlier
days). Therefore I appreciate Moritz initiative a lot as it truly makes ooRexx 
much more visible
than it could possibly be otherwise!

My posting only intended to explain why I (and obviously a few others like Chip 
or you) are not able
to step in and help out as administrators for the Facebook and google+ ooRexx 
groups.

René volunteered to step in and maybe others who use FB or g+ are also offering 
their help in
administrating these groups. It would benefit the ooRexx project a lot over 
time, I am convinced,
especially in drawing a younger crowed into the project and user base!

Best regards,

---rony

P.S.: We could engage in interesting discussions the next time we meet in 
person, hopefully at the
upcoming International Rexx symposium in 2016!
:)

--
BPM Camp - Free Virtual Workshop May 6th at 10am PDT/1PM EDT
Develop your own process in accordance with the BPMN 2 standard
Learn Process modeling best practices with Bonita BPM through live exercises
http://www.bonitasoft.com/be-part-of-it/events/bpm-camp-virtual- event?utm_
source=Sourceforge_BPM_Camp_5_6_15&utm_medium=email&utm_campaign=VA_SF___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] New beta of BSF4ooRexx with full JSR-223 support ...

2015-05-12 Thread Rony G. Flatscher
Hi there,

at  you'll 
find a new beta version
of BSF4ooRexx (an external function package to allow ooRexx access to Java, and 
Java access to
ooRexx), a zip-archive for Windows and Linux, and two MacOSX installation 
packages, one for 32- and
one for 64-bit ooRexx.

There are two changes, one important but minor, one major:

  * This version attempts to fix an installation issue on 64-bit Windows, 
running 32-bit Rexx (which
also needs a 32-bit Java installed). (So Les, you might want to try this 
version!)

  * This version fullly supports JSR-223 (the Java scripting framework in the 
package javax.script),
which means that any Java program can take advantage of ooRexx scripts by 
using the Java
scripting standard. Please look-up the samples in "samples/Java/jsr223" 
which highlights the
full implementation done for ooRexx, i.e. including the Java interfaces 
Compilable and Invocable.
  *

It would be interesting to learn how it does performancewise as well. So, 
if you have a
possibility to test multiple JSR-223 languages and compare them with the 
ooRexx scripting
engine, then please share your findings!

As I am off for a few days, I only will become able to react upon questions 
starting next Monday.

If you find bugs, please file them with the sourceforge bsf4oorexx tracker.

---rony

--
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] stem assignment

2015-05-25 Thread Rony G. Flatscher
Hi Walter,

first the example on Rosetta code you cite as a "real life" example comes from 
your special friend,
who tries to write Rexx as if it was Assembler at times. So you should ask 
yourself how a "real
life" example that would be.

(I have never seen a classic Rexx program that would use that kind of an 
assignment. In this case I
think it was used intentionally by the author to not allow his program to run 
under ooRexx out of
the box; it is not the first such program he wrote as you know. Just ask 
yourself: how would you
have programmed that particular section yourself, the way your friend did it or 
differently?)

Secondly, in ooRexx a stem is a reference to a stem object. If you assign a 
stem (object) reference
to a stem variable, then that stem variable refers to the same stem object 
afterwards. A concept of
a reference is not available in classic Rexx that is the reason why stems 
cannot be passed directly
as arguments to Rexx internal routines. Rather you need to break the local 
(procedure) scope with
the expose statement in order to become able to reference the stem in the 
calling part of the Rexx
code. So in classic Rexx you are also not able to pass stems as arguments to 
external routines
because of this restriction.

ooRexx introduced the "USE ARG" keyword statement to allow keeping the local 
scope but becoming able
to fetch any object, including a stem object via reference and thereafter refer 
to it.

This behavior has been discussed here quite a few times over the years over 
again (also on
news:comp.lang.rexx).

The ooRexx documentation explicitly documents this, cf. "Example 1.24 Stems" in 
ooRexx 4.2.0
rexxref.pdf.

---rony



On 25.05.2015 17:10, Walter Pachl wrote:
> I wa surprised to 'find' it in real life!
> And a little sentence right at the description of 'assignment' about this 
> special 
> treatment could help.
> Such as mentioning the special treatment of the case when source and targed 
> are stems,
> And the feature of a.=fun() fun:... with return res. was news to me.
> --
> Walter Pachl
>
>  Mike Cowlishaw  schrieb:
>>  
>> Walter, wasn't this one of the points you already made in your presentation
>> about differences between different Rexxes?
>>
>> Not a lot of point in banging on it again -- it isn't going to change.
>>
>> Mike
>>
>>
>> --
>>> That's the inside view.
>>> When I read about assingment, it says that the value of the 
>>> expression on the righthand side is assigned to the variable 
>>> on the lefthand side.
>>>
>>> consider
>>> r.=0
>>> r.3=16
>>> rr.=r.
>>> blabla=r.
>>> Say 'blabla='blabla  
>>>  
>>> Walter Pachl
>>>
>>>  Rick McGuire  schrieb:
 It most certainly IS an assignment.  The stem variable rr. 
>>> is set to 
 contain a reference to the same stem object referenced by the stem 
 variable r.  ooRexx does not have a concept of variable 
>>> aliasing. This 
 is the same assignment mechanism that allows USE ARG to work or 
 returning a stem object from a function or method call.  I 
>>> don't have 
 the reference handy right now so I can't cite chapter and 
>>> verse, but this is most certainly documented.
 Rick

 On Mon, May 25, 2015 at 7:10 AM, Walter Pachl 
 
 wrote:

> In REXX version 1 of this RC-task:
>
>
>>> http://rosettacode.org/wiki/Hofstadter_Figure-Figure_sequences#REXX
> there is this statement
>
> rr.=r.;
>
> which shows a severe incompatibility.
>
>
>
> With Regina, this program runs fine.
>
> With ooRexx it fails!
>
>
>
> The reason is that the above is NOT an assignment
>
> but it makes rr. a synonym/alias for r.
>
>
>
> I skimmed the ooRexx reference and could not find a
>
> description of this fact.
>
>
>
> Besides: This IS a bit of a surprise and what I
>
> don't quite understand what this is good for.
>
>
>
> Regards,
>
> Walter
>>

--
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Apple Mac

2015-05-26 Thread Rony G. Flatscher
Walter,

you can get ooRexx 4.2.0 for MacOSX by downloading and installing BSF4ooRexx 
for MacOSX, which
includes a build of ooRexx 4.2.0:
.

HTH,

---rony

On 26.05.2015 15:33, Erich Steinböck wrote:
> Walter,
> René is referring to 
> https://sourceforge.net/projects/oorexx/files/oorexx/4.1.2/
>
> On Tue, May 26, 2015 at 1:54 PM, Walter Pachl  > wrote:
>
> There are 56 or so links:
>  ooRexx-4.2.0-1.ubuntu1310.x86_64.deb
>  ooRexx-4.2.0-1.ubuntu1310.i386.deb
>  ooRexx-4.2.0-1.ubuntu1304.x86_64.deb
>  ...
> How should she (or me) know which to use? :-(
> Definitely NOT the windows version, I guess.
>
> -Ursprüngliche Nachricht-
> Von: René Jansen [mailto:rvjan...@xs4all.nl ]
> Gesendet: Dienstag, 26. Mai 2015 13:31
> An: Open Object Rexx Developer Mailing List
> Betreff: Re: [Oorexx-devel] Apple Mac
>
> Walter,
>
> I think the new 4.2.0. installers from Rony’s students would be best. 
> Maybe Bruce knows of the
> Rxapi daemon problem is still in there.
> Otherwise, there is a 4.1.2 installer on sourceforge.
>
> best regards,
>
> René.
>
>
> > On 26 mei 2015, at 13:23, Walter Pachl  > wrote:
> >
> > My daughter has a new Laptop
> > Which link should she use to get ooRexx installed so that she can use 
> my programs?
> > Thanks
> > Walter
> >
>

--
One dashboard for servers and applications across Physical-Virtual-Cloud 
Widest out-of-the-box monitoring support with 50+ applications
Performance metrics, stats and reports that give you Actionable Insights
Deep dive visibility with transaction tracing using APM Insight.
http://ad.doubleclick.net/ddm/clk/290420510;117567292;y___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] [OT] MYSQL

2015-06-04 Thread Rony G. Flatscher
Terry,

it would be nice to have that in public, e.g. on the RexxLA list or the ooRexx 
user list.

This way search engines can turn up this conversation at later times.

Personally, in additon to NetRexx, I would also add/hint at Mark Hessling's 
RexxSQL and BSF4ooRexx.

The problem solution space has become rather large and the pro and cons and the 
context are probably
interesting for anyone.

---rony




On 04.06.2015 20:02, Terry Fuller wrote:
> I'll take this off list.  Dan and Michael, if you'd like to be copied on 
> the traffic, let me know.
>
> On 2015-06-04 07:21, René Jansen wrote:
>> Dan,
>>
>> In know this is nearly sacrilegious on this list, and let’s move it off to 
>> somewhere else, but I need to tell you that NetRexx offers quite some 
>> advantages in the JVM/J2EE world, by being Java. If you want to get to know 
>> web containers, jdbc, messaging and jsp/javascript interaction, I can help 
>> you get started.
>>
>> best regards,
>>
>> René.
>>
>>> On 4 jun. 2015, at 15:30, Dan Carter  wrote:
>>>
>>> I second that.  I, too, need to implement an Enterprise Java development
>>> environment.  Tutoring by a master would be invaluable.
>>>
>>> -Original Message-
>>> From: Michael Lueck [mailto:mlu...@lueckdatasystems.com]
>>> Sent: Thursday, June 04, 2015 03:16
>>> To: Open Object Rexx Developer Mailing List
>>> Subject: Re: [Oorexx-devel] MYSQL
>>>
>>> Greetings Walter,
>>>
>>> Walter Pachl wrote:
 and come back off list if necessary
>>> Why to take this valuable KT off-list after sharing what technology stack
>>> you are working on with the list?
>>>
>>> If anything, perhaps shift to the RexxLA list since it is not specific to
>>> ooRexx development, rather utilizing ooRexx within a technology stack.
>>>
>>> I am thankful,
>>>
>>> -- 
>>> Michael Lueck
>>> Lueck Data Systems
>>> http://www.lueckdatasystems.com/


--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Beta # 2: New beta of BSF4ooRexx with full JSR-223 support ...

2015-06-10 Thread Rony G. Flatscher
Hi there,

at  you'll 
find a new beta version
of BSF4ooRexx (an external function package to allow ooRexx access to Java, and 
Java access to
ooRexx), a zip-archive for Windows and Linux, and two MacOSX installation 
packages, one for 32- and
one for 64-bit ooRexx.

Changes in this beta:

  * This version fixes a mixup and an installation issue on 64-bit Windows, 
running 32-bit Rexx
(which also needs a 32-bit Java installed). (So Les, you might want to try 
this version!)

  * This version fullly supports JSR-223 (the Java scripting framework in the 
package javax.script),
which means that any Java program can take advantage of ooRexx scripts by 
using the Java
scripting standard. Please look-up the samples in "samples/Java/jsr223" 
which highlights the
full implementation done for ooRexx, i.e. including the Java interfaces 
Compilable and Invocable.

  o This beta includes a new external Rexx function called 
"BsfContextVariables()", which allows
one to set (drop) local Rexx variables to the values found in a 
directory. This features is
exploited in a new nutshell example in "samples/Java/jsr223"; the Rexx 
programs there will
get invoked via Java and the new javax.script support and demonstrate 
also how to get at the
information in the supplied ScriptContext.

  * It would be interesting to learn how it does performancewise as well. So, 
if you have a
possibility to test multiple JSR-223 languages and compare them with the 
ooRexx scripting
engine, then please share your findings!

If you find bugs, please file them with the sourceforge bsf4oorexx tracker.

---rony


--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Current rail-diagrams in ooRexx 5.0 docs wrong

2015-06-14 Thread Rony G. Flatscher
The syntax rail-diagrams that currently get created are wrong in the areas, 
where there are optional
arguments. The optional arguments are not identifiable and it is not clear what 
the default values
would be, if an optional value is left out.

This is probably due to a limitation in the rail-diagram tool that is being 
used, which I understand
is some service on the WWW which has these limitations. Judging from studying 
the thread that David
Ashley started (2014-07-31, 17:57) 

until the last post where this shortcoming was pointed out, without any further 
feedback by David
Ashley:  
(2014-08-09, 18:32, by J.
Leslie Turriff).

---

Not all developers may be aware, that years before that Jean-Louis has suggested
svn-syntax-rail-diagrams to replace the (rather ugly) 
ASCII-syntax-rail-diagrams already. He not
only suggested it but did all the necessary work and came up with beautiful 
PDFs and HTMLs
renderings that include syntax rail-diagrams that are able to document optional 
arguments and
default values. Unfortunately (and for no apparent reasons that I am aware of), 
years ago, his hard
work was not picked up and put into production for the ooRexx distributions.

Maybe it is worthwhile at this point of development to take a look at the 
different presentations of
syntax-rail-diagrams,

  * rendered as ASCII-snytax-rail-diagrams (just load the ooRexx 4.2.0 
rexxref.pdf from your ooRexx
installation),
  * the current 5.0 rexxref.pdf rendering (thanks to Erich in his svn-sandbox,
'sandbox/erich/docs/build' which one gets when checking out the ooRexx 
project with svn) at


 named
"rexxref5.pdf" and
  * the ooRexx 4.2.0 rexxref.pdf by Jean-Louis at
.

You can find all three versions of the PDF-documentation at
 so it is easier for you to load and 
compare them (listed
in the same order is above):

  * ooRexx 4.2.0 official ASCII-syntax-rail-diagrams:
,
  * ooRexx 5.0.0, Erich's preliminary rendering 
,
  * ooRexx 4.2.0, Jean Louis's renderings:
.

Then in all three versions go to chapter "Functions -> Built-in Functions -> 
Stream" and compare the
syntax rail-diagrams of the three, and I think you will see for yourself, why I 
suggest to go with
Jean-Louis' solution for creating correct and still very nice looking syntax 
rail-diagrams for the
project.

---rony

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Current rail-diagrams in ooRexx 5.0 docs wrong

2015-06-14 Thread Rony G. Flatscher
Hi there,

just saw that Erich committed an actual set of the PDF documentation at
<https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0alpha/> a few 
moments ago where you
can get  from!

---rony


On 14.06.2015 17:55, Rony G. Flatscher wrote:
> The syntax rail-diagrams that currently get created are wrong in the areas, 
> where there are
> optional arguments. The optional arguments are not identifiable and it is not 
> clear what the
> default values would be, if an optional value is left out.
>
> This is probably due to a limitation in the rail-diagram tool that is being 
> used, which I
> understand is some service on the WWW which has these limitations. Judging 
> from studying the
> thread that David Ashley started (2014-07-31, 17:57)
> <https://sourceforge.net/p/oorexx/mailman/message/32669824/> until the last 
> post where this
> shortcoming was pointed out, without any further feedback by David Ashley:
> <https://sourceforge.net/p/oorexx/mailman/message/32699294/> (2014-08-09, 
> 18:32, by J. Leslie
> Turriff).
>
> ---
>
> Not all developers may be aware, that years before that Jean-Louis has 
> suggested
> svn-syntax-rail-diagrams to replace the (rather ugly) 
> ASCII-syntax-rail-diagrams already. He not
> only suggested it but did all the necessary work and came up with beautiful 
> PDFs and HTMLs
> renderings that include syntax rail-diagrams that are able to document 
> optional arguments and
> default values. Unfortunately (and for no apparent reasons that I am aware 
> of), years ago, his
> hard work was not picked up and put into production for the ooRexx 
> distributions.
>
> Maybe it is worthwhile at this point of development to take a look at the 
> different presentations
> of syntax-rail-diagrams,
>
>   * rendered as ASCII-snytax-rail-diagrams (just load the ooRexx 4.2.0 
> rexxref.pdf from your
> ooRexx installation),
>   * the current 5.0 rexxref.pdf rendering (thanks to Erich in his svn-sandbox,
> 'sandbox/erich/docs/build' which one gets when checking out the ooRexx 
> project with svn) at
> 
> <https://sourceforge.net/p/oorexx/code-0/HEAD/tarball?path=/sandbox/erich/docs/build>
>  named
> "rexxref5.pdf" and
>   * the ooRexx 4.2.0 rexxref.pdf by Jean-Louis at
> 
> <https://dl.dropboxusercontent.com/u/20049088/oorexx/docs/trunk/index.html>.
>
> You can find all three versions of the PDF-documentation at
> <http://wi.wu.ac.at/rgf/rexx/tmp/docs.tmp/> so it is easier for you to load 
> and compare them
> (listed in the same order is above):
>
>   * ooRexx 4.2.0 official ASCII-syntax-rail-diagrams:
> <http://wi.wu.ac.at/rgf/rexx/tmp/docs.tmp/rexxref.pdf>,
>   * ooRexx 5.0.0, Erich's preliminary rendering
> <http://wi.wu.ac.at/rgf/rexx/tmp/docs.tmp/rexxref5.pdf>,
>   * ooRexx 4.2.0, Jean Louis's renderings:
> <http://wi.wu.ac.at/rgf/rexx/tmp/docs.tmp/rexxref4.2-jlf.pdf>.
>
> Then in all three versions go to chapter "Functions -> Built-in Functions -> 
> Stream" and compare
> the syntax rail-diagrams of the three, and I think you will see for yourself, 
> why I suggest to go
> with Jean-Louis' solution for creating correct and still very nice looking 
> syntax rail-diagrams
> for the project.
>
> ---rony

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Current rail-diagrams in ooRexx 5.0 docs wrong

2015-06-15 Thread Rony G. Flatscher
AREWrite' )?
>( 'NOBuffer' | 'BInary' ( 'REClength' length )? )*
>
>  
> Only a small fraction of diagrams use the default-above-main path convention, 
> many default values
> easily cannot be described in that way.
>
> bottlecaps.de/rr <http://bottlecaps.de/rr> doesn't support the 
> default-above-line convention, so
> you would need to find another tool to generate the SVG's or convince the 
> bottlecaps.de/rr
> <http://bottlecaps.de/rr> owner to implement it.  I've already talked to him 
> about a) displaying
> the main path /above /any optional items (bottlecaps.de/rr 
> <http://bottlecaps.de/rr> currently
> generates the main path /below /optional items), b) I mentioned the 
> default-above-line convention,
> and c) asked about italic font for non-terminal items (which we "use" as 
> variables).  He says, he
> has done some tests regarding a) but he hasn't published that yet. He isn't 
> convinced about b) or c).
>
>
> I would be glad to work on the syntax diagrams, if someone would be kind 
> enough to explain the
> tools involved (SVG, DocBook, ...?).
>
> I'll gladly share everything I know about that.  When just working on the 
> diagrams you will not
> need any knowledge of DocBook or Publican.  You'll just need to generate 
> SVG's from the EBNF files
> in SVN.
>
> Note that there are currently 1000+ SVG's in the SVN.
>
> I have worked on (checked & corrected) some of the SVG's.  You can recognized 
> the ones I went
> through - those already use italic font for variables (I'm adding italic font 
> in a special SVG
> post-processing step).
>
> Erich
>
> On Mon, Jun 15, 2015 at 3:06 AM, J. Leslie Turriff  <mailto:jlturr...@mail.com>> wrote:
>
> However, the syntax diagrams for default values are still incorrect in 
> rexxref5.pdf; they
> should appear on a branch Above the main line, not on the main line 
> itself:
>
> ►►─command┬default┬──►◄
>
> ├option1┤
>
> ├option2┤
>
> └option3┘
>
> should look like this:
>
> ┌default┐
>
> ►►─command┼───┼──►◄
>
> ├option1┤
>
> ├option2┤
>
> └option3┘
>
> I would be glad to work on the syntax diagrams, if someone would be kind 
> enough to explain the
> tools involved (SVG, DocBook, ...?).
>
> Leslie
>
> On Sunday 14 June 2015 10:56:55 Rony G. Flatscher wrote:
>
> > Hi there,
>
> >
>
> > just saw that Erich committed an actual set of the PDF documentation at
>
> > <https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0alpha/> 
> a
>
> > few moments ago where you can get  from!
>
> >
>
> > ---rony
>

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Current rail-diagrams in ooRexx 5.0 docs wrong

2015-06-15 Thread Rony G. Flatscher
Ahem, sorry, forgot the URL: <http://wi.wu.ac.at/rgf/diplomarbeiten/>.

---rony

On 15.06.2015 13:34, Rony G. Flatscher wrote:
> Maybe Jean-Louis Faucher can chime in and explain how he did the syntactical 
> correct svg diagrams.
>
> Also, there was a student of mine who worked on EBNF to allow OpenOffice to 
> be used as an "editor"
> which was able to render the EBNF to ASCII syntax-diagrams (the current 
> style, but with glyphs
> that made the lines appear to be solid, like the ones in the old IBM Object 
> Rexx documentations)
> et.al., taking also advantage of DITA, which is (was?) employed by Jean-Louis 
> (Jean-Louis was kind
> enough back then to give the student some feedback). The student's name is 
> "Hohenegger", so pick
> his name in the right upper list (or pick "BNF" from the left keyword list) 
> to get his thesis
> named "BNF4OOo - Managing Backus-Naur-Forms with OpenOffice" (from 2010-10).
>
> Franz Hohenegger's "EBNF to syntax diagrams" work is implemented in ooRexx. 
> He has also
> implemented the functionality to use OpenOffice writer as a GUI and allows to 
> create, render, save
> and load EBNF and renderings. (Also this work was pointed out to the 
> developers back then, but got
> not picked up. The code is nevertheless available and should be still 
> operational. If you wish to
> use OpenOffice, you would have to use Apache OpenOffice and install 
> BSF4ooRexx which makes ooRexx
> available as a scripting and macro language to Apache OpenOffice.)
>
> ---rony
>
>
>
> On 15.06.2015 10:46, Erich Steinböck wrote:
>>
>> However, the syntax diagrams for default values are still incorrect in 
>> rexxref5.pdf; they
>> should appear on a branch Above the main line, not on the main line 
>> itself:
>>
>> When David changed from the ASCII to the SVG diagrams, he chose 
>> bottlecaps.de/rr
>> <http://bottlecaps.de/rr>.  This raiload generator doesn't support all of 
>> the features the ASCII
>> diagrams were using.You may want to test bottlecaps.de/rr 
>> <http://bottlecaps.de/rr> with the
>> stream BIF
>> <http://bottlecaps.de/rr/ui?text=stream%20::=%20%27STREAM%28%27%20name%20%28%20%27,%27%20%28%20%27State%27%20%7C%27Command%27%20%27,%27%20stream_command%20%7C%27Description%27%20%29%20%29?%20%27%29%27stream_command%20::=%20%28%20%28%20%27Open%27%20%28%20%27BOth%27%20write_options%20%7C%20%27REAd%27%20%7C%20%27Write%27%20write_options%20%29?%20options%20%29%20%7C%28%20%27Close%27%20%29%20%7C%28%20%27Flush%27%20%29%20%7C%28%20%28%20%27Seek%27%20%7C%20%27Position%27%20%29%20%28%20%27=%27%20%7C%20%27%3C%27%20%7C%20%27+%27%20%7C%20%27;%27%20%7C%20%28%29%20%29%20offset%20%28%20%27Read%27%20%7C%20%27Write%27%20%7C%20%29%20%28%20%27Char%27%20%7C%20%27Line%27%29%20%29%20%7C%28%20%27Query%27%20%28%20%27Datetime%27%20%7C%27Exists%27%20%7C%27Handle%27%20%7C%28%20%27Seek%27%20%7C%20%27Position%27%20%29%20%28%20%28%27Read%27%20%7C%20%27Write%27%20%29%20%28%20%27Char%27%20%7C%27Line%27%29?%20%7C%27Sys%27%20%29%20%7C%28%20%27SIze%27%20%29%20%7C%28%20%27STreamtype%27%20%29%20%7C%28%20%27Timesta%0Amp%27%20%29%20%29%20%29%29%20%27%29%27stream_write_options%20::=%20%28%20%28%29%20%7C%20%27APpend%27%20%7C%20%27REPlace%27%20%29stream_options%20::=%20%28%20%27SHARED%27%20%7C%20%27SHARERead%27%20%7C%20%27SHAREWrite%27%20%29?%28%20%27NOBuffer%27%20%7C%20%27BInary%27%20%28%20%27REClength%27%20length%20%29?%20%29*>.
>>
>> stream ::= 'STREAM(' name ( ',' ( 'State' |   
>>   'Command' ',' stream_command |
>>   'Description' ) )? ')'
>>
>> stream_command ::= ( ( 'Open' ( 'BOth' write_options | 'REAd' | 'Write' 
>> write_options )? options ) |
>>  ( 'Close' ) |
>>  ( 'Flush' ) |
>>  ( ( 'Seek' | 'Position' ) ( '=' | '<' | '+' | ';' | () 
>> ) offset ( 'Read' |
>> 'Write' | ) ( 'Char' | 'Line') ) |
>>  ( 'Query' ( 'Datetime' |
>>  'Exists' |
>>  'Handle' |
>>  ( 'Seek' | 'Position' ) ( ('Read' | 'Write' 
>> ) ( 'Char' |
>>  
>> 'Line')? |
>>   

Re: [Oorexx-devel] Current rail-diagrams in ooRexx 5.0 docs wrong

2015-06-16 Thread Rony G. Flatscher
Hi Chip,

AFAIK Jean-Louis was able to define most, if not all aspects of rendering to 
graphical rail
diagrams, be it stroke intensities, arrows, fonts and the like. Hoping, that 
Jean-Louis can shed
some light about the infrastructure he has used and his assessment how 
difficult/easy it is to set
up the environment for creating grammatically, nice looking svg graphics.

---rony

P.S.: One remark ad renderings and correctness: in JLF's rendering the 
semi-colon could (should?) be
defined to be the default value and optional.


On 15.06.2015 15:06, Chip Davis wrote:
> We all can agree that the existing ASCII-art rail diagrams are 
> unacceptable, from both an esthetic and information-transfer 
> standpoint.  We must adopt an alternative.
>
> While Jean-Louis' renderings are much better, they suffer from the 
> visual clutter of unnecessary arrowheads.  The flow through a rail 
> diagram is left-to-right except for a repetition of a term, which in 
> ASCII-art required a back-arrow (e.g. MIN) to distinguish it from a 
> default value.
>
> Erich's arrow-free diagrams accomplish this distinction with curved 
> lines.  J-L's approach uses the same curved lines but inserts multiple 
> arrowheads which add nothing but visual clutter.
>
> I very much prefer the clean renderings of Erich's approach because it 
> has no internal arrowheads at all.  Also, it has the ability to use 
> bold fonts, which is useful to denote a value taken as a constant.
>
> Regardless of the tool eventually adopted, we really must go back 
> through the diagrams and verify their accuracy.  I happened to notice 
> that the diagrams differ in their depictions of Overlay() and I'm not 
> sure either one is totally correct.
>
> It must be noted that Erich's RexxRef5 file is only 6 Meg whereas the 
> JLF RexxRef4.2 is not quite twice as large.  I doubt all those extra 
> arrowheads made that much difference, but it's worth comparing the 
> size of the two approaches within the same document.
>
> -Chip-
>
> On 6/14/2015 11:55 AM, Rony G. Flatscher wrote:
>> The syntax rail-diagrams that currently get created are wrong in the
>> areas, where there are optional arguments. The optional arguments are
>> not identifiable and it is not clear what the default values would be,
>> if an optional value is left out.
>>
>> This is probably due to a limitation in the rail-diagram tool that is
>> being used, which I understand is some service on the WWW which has
>> these limitations. Judging from studying the thread that David Ashley
>> started (2014-07-31, 17:57)
>> <https://sourceforge.net/p/oorexx/mailman/message/32669824/> until the
>> last post where this shortcoming was pointed out, without any further
>> feedback by David Ashley:
>> <https://sourceforge.net/p/oorexx/mailman/message/32699294/>
>> (2014-08-09, 18:32, by J. Leslie Turriff).
>>
>> ---
>>
>> Not all developers may be aware, that years before that Jean-Louis has
>> suggested svn-syntax-rail-diagrams to replace the (rather ugly)
>> ASCII-syntax-rail-diagrams already. He not only suggested it but did
>> all the necessary work and came up with beautiful PDFs and HTMLs
>> renderings that include syntax rail-diagrams that are able to document
>> optional arguments and default values. Unfortunately (and for no
>> apparent reasons that I am aware of), years ago, his hard work was not
>> picked up and put into production for the ooRexx distributions.
>>
>> Maybe it is worthwhile at this point of development to take a look at
>> the different presentations of syntax-rail-diagrams,
>>
>>   * rendered as ASCII-snytax-rail-diagrams (just load the ooRexx 4.2.0
>> rexxref.pdf from your ooRexx installation),
>>   * the current 5.0 rexxref.pdf rendering (thanks to Erich in his
>> svn-sandbox, 'sandbox/erich/docs/build' which one gets when
>> checking out the ooRexx project with svn) at
>> 
>> <https://sourceforge.net/p/oorexx/code-0/HEAD/tarball?path=/sandbox/erich/docs/build>
>> named "rexxref5.pdf" and
>>   * the ooRexx 4.2.0 rexxref.pdf by Jean-Louis at
>> 
>> <https://dl.dropboxusercontent.com/u/20049088/oorexx/docs/trunk/index.html>.
>>
>> You can find all three versions of the PDF-documentation at
>> <http://wi.wu.ac.at/rgf/rexx/tmp/docs.tmp/> so it is easier for you to
>> load and compare them (listed in the same order is above):
>>
>>   * ooRexx 4.2.0 official ASCII-syntax-rail-diagrams:
>> <http://wi.wu.ac.at/rgf/rexx/tmp/docs.tmp/rexxref.pdf>,
>>   * ooRexx 5.0.0, Erich's preliminary renderi

Re: [Oorexx-devel] Current rail-diagrams in ooRexx 5.0 docs wrong

2015-06-17 Thread Rony G. Flatscher
Hi Jean-Louis,

thank you for your feedback and your interesting information! I see that you 
have also "diary.txt"
that document what you have done and how the development has gone on.

On 16.06.2015 23:10, Jean-Louis Faucher wrote:
> The graphical syntax diagrams were generated by parsing the ascii syntax 
> diagrams
> and generating a DITA representation.
> http://docs.oasis-open.org/dita/v1.1/OS/langspec/langref/syntaxdiagram.html
>
> Since the ascii syntax diagrams have been removed, this approach is no longer
> possible. Editing the DITA representation manually would be too tedious.
> It should be possible to generate a DITA representation from an ebnf file,
> but I lack of motivation to work on that.
>
> The tool is here :
> http://svn.code.sf.net/p/oorexx/code-0/incubator/DocMusings
>
> Example of DITA representation :
> railroad/declarations.xml
>
> The tool which generates the SVG from the DITA representation :
> railroad/syntaxdiagram2svg/
> Adapted from a DITA plugin, this is a mix of XSLT, JavaScript and CSS.
> Regarding the graphical notation, I have no idea if it would be easy to
> remove the arrows.
Maybe it is worthwhile to look into the student's work as it would allow to 
define the EBNFs
including optionality and default values. I am not sure (will have to look into 
his work), but I
think he used the DITA XML encoding too. (In any case his scripts create the 
old ASCII syntax
diagrams from the EBNF, so it would be possible to have those ASCII syntax 
diagrams created, if needed.)

Ad DITA rail diagram generation: this will have to be researched too, but 
given, that this is an
opensource, professional tool for creating technical documentation (and render 
it to all kind of
formats), I would be optimistic, that it can be customized and e.g. remove the 
arrows (which I like
very much, BTW, as people who rarely are exposed to raildiagrams will 
intuitively see how they can
and should be read) should that be really necessary.

But before doing any further work in this corner, it would be necessary to 
first assess the current
situation, where syntactically incorrect raildiagrams get created. Then we 
could discuss how to best
move on to arrive at syntactically correct diagrams as efficiently as possible.

So, the question would be, what Erich et.al. think about this and how to best 
proceed?

---rony

>
>
> 2015-06-16 17:36 GMT+02:00 Rony G. Flatscher  <mailto:rony.flatsc...@wu.ac.at>>:
>
> Hi Chip,
>
> AFAIK Jean-Louis was able to define most, if not all aspects of rendering 
> to graphical rail
> diagrams, be it stroke intensities, arrows, fonts and the like. Hoping, 
> that Jean-Louis can shed
> some light about the infrastructure he has used and his assessment how 
> difficult/easy it is to set
> up the environment for creating grammatically, nice looking svg graphics.
>
> ---rony
>
> P.S.: One remark ad renderings and correctness: in JLF's rendering the 
> semi-colon could
> (should?) be
> defined to be the default value and optional.
>
>
> On 15.06.2015 15:06, Chip Davis wrote:
> > We all can agree that the existing ASCII-art rail diagrams are
> > unacceptable, from both an esthetic and information-transfer
> > standpoint.  We must adopt an alternative.
> >
> > While Jean-Louis' renderings are much better, they suffer from the
> > visual clutter of unnecessary arrowheads.  The flow through a rail
> > diagram is left-to-right except for a repetition of a term, which in
> > ASCII-art required a back-arrow (e.g. MIN) to distinguish it from a
> > default value.
> >
> > Erich's arrow-free diagrams accomplish this distinction with curved
> > lines.  J-L's approach uses the same curved lines but inserts multiple
> > arrowheads which add nothing but visual clutter.
> >
> > I very much prefer the clean renderings of Erich's approach because it
> > has no internal arrowheads at all.  Also, it has the ability to use
> > bold fonts, which is useful to denote a value taken as a constant.
> >
> > Regardless of the tool eventually adopted, we really must go back
> > through the diagrams and verify their accuracy.  I happened to notice
> > that the diagrams differ in their depictions of Overlay() and I'm not
> > sure either one is totally correct.
> >
> > It must be noted that Erich's RexxRef5 file is only 6 Meg whereas the
> > JLF RexxRef4.2 is not quite twice as large.  I doubt all those extra
> > arrowheads made that much difference, but it's worth comparing the
> > size of the two approaches within

[Oorexx-devel] Refresh for Linux 64-bit (Beta # 2: New beta of BSF4ooRexx with full JSR-223 support ...

2015-06-21 Thread Rony G. Flatscher
Hi there,

it turned out that the Linux 64-bit compiled library caused a buffer overrun, 
if the Rexx
interpreter was loaded via Java (JNI).

It seems that the problem was introduced by using the latest 64-bit Ubuntu's 
gcc and/or libc. Going
back to an older version of Ubuntu and recompile BSF4ooRexx.cc yielded a 
correct functioning 64-bit
library which replaces the one in the actual beta package.

So 64-bit Linux users might wish to uninstall their current beta version of 
BSF4ooRexx and reinstall
the latest drop at 
.

---rony



-- cut here (original Beta # 2 announcement) 

Hi there,

at  you'll 
find a new beta version
of BSF4ooRexx (an external function package to allow ooRexx access to Java, and 
Java access to
ooRexx), a zip-archive for Windows and Linux, and two MacOSX installation 
packages, one for 32- and
one for 64-bit ooRexx.

Changes in this beta:

  * This version fixes a mixup and an installation issue on 64-bit Windows, 
running 32-bit Rexx
(which also needs a 32-bit Java installed). (So Les, you might want to try 
this version!)

  * This version fullly supports JSR-223 (the Java scripting framework in the 
package javax.script),
which means that any Java program can take advantage of ooRexx scripts by 
using the Java
scripting standard. Please look-up the samples in "samples/Java/jsr223" 
which highlights the
full implementation done for ooRexx, i.e. including the Java interfaces 
Compilable and Invocable.

  o This beta includes a new external Rexx function called 
"BsfContextVariables()", which allows
one to set (drop) local Rexx variables to the values found in a 
directory. This features is
exploited in a new nutshell example in "samples/Java/jsr223"; the Rexx 
programs there will
get invoked via Java and the new javax.script support and demonstrate 
also how to get at the
information in the supplied ScriptContext.

  * It would be interesting to learn how it does performancewise as well. So, 
if you have a
possibility to test multiple JSR-223 languages and compare them with the 
ooRexx scripting
engine, then please share your findings!

If you find bugs, please file them with the sourceforge bsf4oorexx tracker.

---rony


--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Question ad Suse packaging ... (Re: news on the build machine

2015-06-23 Thread Rony G. Flatscher
Hi Erico,

On 23.06.2015 16:21, Erico Mendonca wrote:
> Don't forget:
> https://build.opensuse.org/package/show/home:PerryWerneck:pw3270/ooRexx
>
> and 
>
> https://build.opensuse.org/package/show/devel:languages:misc/ooRexx
>
> Don't think it could be easily integrated with Jenkins, though.
interesting, thank you very much for this pointer!

One question, seeing that you have been active and so supportive for ooRexx 
packaging: what would be
involved for someone who has no clues (like me) how packaging works, to learn 
exactly that: how to
package for Suse (and maybe for other Linux-based systems)?

Currently, I have ooRexx scripts that do the installation that work along the 
lines as follows: copy
the files to "/opt/someDirName", determine the ooRexx bitness and symbolically 
link the appropriate
shared library to "/usr/lib". In addition, if there are executables link them 
symbolically to
"/usr/bin". Uninstalling via the Rexx installation script does the same in 
reverse order (remove the
symbolic links and finally the '/opt/someDirName'.

What would be needed to achieve the same using Suse's packaging scheme, is 
there some
nutshell/cookbook description/tutorial for that.

The reason why I am asking is the preparation of a DBus-ooRexx library for 
which such a Rexx
installation script exists. However, it would be much nicer would it be 
possible to use the Suse
(and maybe the other distro's) package manager to install, update and remove 
such a library.
(Eventually doing the same for BSF4ooRexx would be another intent.)

Would you have any pointers, hints?

TIA,

---rony

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical & virtual servers, alerts via email & sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Question ad Suse packaging ... (Re: news on the build machine

2015-06-25 Thread Rony G. Flatscher
Dear Erico,

thank you *very* much indeed for your information and pointers! In due time (in 
about two weeks,
when things get a little bit calmer around here, ie. summer semester ends) I 
will try to read
through in order to create an rpm installer for the DBus external function 
package for ooRexx.

Maybe two little questions:

  * Should there be two different packages, one per 32-bit and one per 64-bit, 
or is it
possible/advisable to create one package only that contains both, the 32- 
and the 64-bit libraries?

  * Can one check for dependencies (e.g. on a minimum ooRexx version) and if 
not installed have an
automated installation of the prerequisite(s)?

Again, thank you very much for your information!

Cheers

---rony




On 24.06.2015 06:22, Erico Mendonca wrote:
> Hello Rony,
> Sure, I can give you some pointers on RPM packaging. I've been doing that 
> daily for the last decade :) 
>
> A good place to start is this neat little series of articles from IBM 
> DeveloperWorks:
>
> http://www.ibm.com/developerworks/linux/library/l-rpm1/index.html
>
> I also have a little 30-odd page basic RPM packaging tutorial I wrote for a 
> customer, I could maybe turn it into an article if you're interested.
>
> After you cut your teeth on the basics, SUSE's Build Service is a very good 
> resource on learning good practices. I usually say their checks are so damn 
> pedantic you'll come out hating the thing and being eternally grateful to it 
> at the end... :P
>
> http://build.opensuse.org
>
>
>
> It's free to use. You can inspect, clone any of the packages available and 
> tinker with them under your home directory.
>
> Here are some Build Service guidelines from the SUSE community:
> https://en.opensuse.org/openSUSE:Build_Service_Tutorial
> https://en.opensuse.org/openSUSE:Build_Service_cross_distribution_howto
>
> About your specific questions:
> - RPM provides a set of macros that are common among distros. They should do 
> the trick for some of your problems, like %{_libdir} which should resolve to 
> "/usr/lib64" on 64-bit systems, and "/usr/lib" on 32-bit systems. %{_bindir} 
> resolves to "/usr/bin" usually. Also, the preferred placement for binary data 
> under Linux is "%{_datadir}/", like "/usr/share/. Check our 
> approach to this problem on ooRexx.spec: 
>
> https://build.opensuse.org/package/view_file/devel:languages:misc/ooRexx/ooRexx.spec?expand=1
>
> The macros are defined in the /usr/lib/rpm/macros file.  SUSE defines a few 
> more useful macros to simplify some common tasks: 
> https://en.opensuse.org/openSUSE:Packaging_Conventions_RPM_Macros
>
> - RPMBuild (the one who interprets the SPEC file) uses a "mirrored" approach 
> when building a package. Basically, you have a "sandbox" where you must 
> create the desired directory tree, and place the files here as you would on a 
> real system, including symbolic links. It's called a "build root" 
> ($RPM_BUILD_ROOT). This process falls under the %install tag. All the files 
> which shall be included in the final package must be listed under the %files 
> tag. Whenever you install this package on a system, RPM keeps track of which 
> files are part of each package, and removes them automatically when you 
> remove the package. So, no need to remove them manually.
>
> - RPM offers many script hooks for each phase of installation and 
> uninstallation of the package: %pre, %post, %preun, %postun, etc. 
>
> I hope I have been clear enough in the lines above. If you have any 
> questions, just mail me.
>
>
>
>>>> "Rony G. Flatscher"  23/06/15 12:13 >>>
> Hi Erico,
>
> On 23.06.2015 16:21, Erico Mendonca wrote:
>> Don't forget:
>> https://build.opensuse.org/package/show/home:PerryWerneck:pw3270/ooRexx
>>
>> and 
>>
>> https://build.opensuse.org/package/show/devel:languages:misc/ooRexx
>>
>> Don't think it could be easily integrated with Jenkins, though.
> interesting, thank you very much for this pointer!
>
> One question, seeing that you have been active and so supportive for ooRexx 
> packaging: what would be
> involved for someone who has no clues (like me) how packaging works, to learn 
> exactly that: how to
> package for Suse (and maybe for other Linux-based systems)?
>
> Currently, I have ooRexx scripts that do the installation that work along the 
> lines as follows: copy
> the files to "/opt/someDirName", determine the ooRexx bitness and 
> symbolically link the appropriate
> shared library to "/usr/lib". In addition, if there are executables link them 
> symbolically to
> "/usr/bin

Re: [Oorexx-devel] ooRexx doc and builds

2015-06-25 Thread Rony G. Flatscher
On 25.06.2015 17:01, René Jansen wrote:
> The good news is, I can build the ooRexx documentation now in an automated 
> way with Jenkins (with help from Jean-Louis, altough I decided to build on 
> Linux in the end because of too much hassle on MacOSX - but I needed all his 
> tips anyway). So somewhere this weekend we will have nightly builds of the 
> docs on the website.
>
> My first (1) question is, do we have a higher resolution image of the ooRexx 
> logo? This one is not print resolution (it is not even screen resolution and 
> has artifacts) and it needs to be replaced. Also (2), we need a keep-together 
> on the word “documentation" because it is being split on the title pages.
>
> It would be good (3) if someone could work on the makefile to not start with 
> removing the products and only rebuild what is needed, on a publication-base. 
> This way I can parallelize the builds over several machines, we have enough 
> linux nodes for the moment to do that.
>
> I have had several offers of owners of windows machines, and this build is 
> being worked on. More (4) offers for windows are still welcome, though.
>
> For the immediate future I would like to focus (5) on the portable version. 
> My thoughts here are a zip or tar.gz file, with minimal script support for 
> installing the rxapi task. I am optimistic and will assume that if we do not 
> use queues or other ipc, we can use the interpreter to have one installer (6) 
> that switches on OS and does what is needed. The rxapi service (7) needs to 
> run on a high port not to be sudoed or ran with admin rights, and it cannot 
> log its pid file to /var/* but it needs to find some place in the user’s home 
> directory. On MacOSX (8) there is still a problem with the rxapi service task 
> that is being shot down every ten seconds. I have the feeling that these 
> problems once were close to being solved, but I welcome suggestions. Sorry 
> for numbering these propositions but I thought it would come in handy in 
> partial responses.
>
> Are these things people can pick up? I am going to automate running the tests 
> on the platforms next, and then we should have a look at the issues list; 
> when things get moving we should standardize on entering and picking up 
> issues by assigning them to yourself or others, but in this phase I think it 
> is important to pick up some momentum.
Wow, that is really great news, René, thank you for your great efforts!

Ad MacOSX rxapi being shot down every 10 seconds. Not sure, but I seem to 
remember that that had to
do with the information in the plist file, but I could be mistaken. Will 
forward you the MacOSX
plist file I am using for the MacOSX BSF4ooRexx build, maybe it helps, in a 
separate e-mail.

---rony



--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical & virtual servers, alerts via email & sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Ad higher resolution image of the ooRexx logo (Re: ooRexx doc and builds

2015-06-28 Thread Rony G. Flatscher
On 25.06.2015 17:47, Rony G. Flatscher wrote:
> On 25.06.2015 17:01, René Jansen wrote:
>> The good news is, I can build the ooRexx documentation now in an automated 
>> way with Jenkins (with help from Jean-Louis, altough I decided to build on 
>> Linux in the end because of too much hassle on MacOSX - but I needed all his 
>> tips anyway). So somewhere this weekend we will have nightly builds of the 
>> docs on the website.
>>
>> My first (1) question is, do we have a higher resolution image of the ooRexx 
>> logo? This one is not print resolution (it is not even screen resolution and 
>> has artifacts) and it needs to be replaced. Also (2), we need a 
>> keep-together on the word “documentation" because it is being split on the 
>> title pages.
Did you find any in the meantime? Originally the logo got created by a friend 
of Mark Hessling,
whose name escaped me (an Australian if I am not mistaken), maybe Mark still 
has a copy of them.

If not, I can offer the ooRexx icons I have been using for the BSF4ooRexx 
project, which are
availabe in all sort of renderings (have to research where I placed his 
originals, which included
svg, if not mistaken; I attach "oorexx_256.png"). They got created by Graham 
Wilson (South Africa)
who made them freely available for the Rexx/ooRexx project as a support 
measurement for the Rexx
project(s). As a result I have

---rony

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical & virtual servers, alerts via email & sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Ad higher resolution image of the ooRexx logo (Re: ooRexx doc and builds

2015-06-29 Thread Rony G. Flatscher
Hi there,

looked up the e-mails to locate Gray Wilson's download URL of the ooRexx logo:
<http://graywz.deviantart.com/art/Open-Object-Rexx-Icons-v-2-0-137461383>. 
There is a little bit of
information on the oorexx-users mail archive, e.g.
<https://sourceforge.net/p/oorexx/mailman/message/23583921/>.

---rony

P.S.: He also has designed mimetype-icons (in the form of documents that 
contain graphics to
indicate that they are ooRexx program files), which could be used.


On 28.06.2015 14:10, Jon Wolfers wrote:
> Hi All,
>
> the 'original' logo was designed by Julian Choy, and I didn't have anything 
> to do with it's
> adoption.  Personally I like Rony's logo with the interlinked 'O's better, 
> but it may be that
> others are more attached to the old one, in which case they should say so 
> here.  I don't know
> where the resources for the old one would be now, and I'm not keen to disturb 
> Mark for this.
>
> Jon
>
> On 28 June 2015 at 13:02, René Jansen  <mailto:rvjan...@xs4all.nl>> wrote:
>
> Hi Rony,
>
> this is a nice on, thanks! I will speak to Jon about this; I see them as 
> a very viable
> alternative.
>
> Thanks!
>
> best regards,
>
> René.
>
> > On 28 jun. 2015, at 13:46, Rony G. Flatscher  <mailto:rony.flatsc...@wu.ac.at>> wrote:
> >
> > On 25.06.2015 17:47, Rony G. Flatscher wrote:
> >> On 25.06.2015 17:01, René Jansen wrote:
> >>> The good news is, I can build the ooRexx documentation now in an 
> automated way with
> Jenkins (with help from Jean-Louis, altough I decided to build on Linux 
> in the end because of
> too much hassle on MacOSX - but I needed all his tips anyway). So 
> somewhere this weekend we
> will have nightly builds of the docs on the website.
> >>>
> >>> My first (1) question is, do we have a higher resolution image of the 
> ooRexx logo? This
> one is not print resolution (it is not even screen resolution and has 
> artifacts) and it needs
> to be replaced. Also (2), we need a keep-together on the word 
> “documentation" because it is
> being split on the title pages.
> > Did you find any in the meantime? Originally the logo got created by a 
> friend of Mark Hessling,
> > whose name escaped me (an Australian if I am not mistaken), maybe Mark 
> still has a copy of them.
> >
> > If not, I can offer the ooRexx icons I have been using for the 
> BSF4ooRexx project, which are
> > availabe in all sort of renderings (have to research where I placed his 
> originals, which
> included
> > svg, if not mistaken; I attach "oorexx_256.png"). They got created by 
> Graham Wilson (South
> Africa)
> > who made them freely available for the Rexx/ooRexx project as a support 
> measurement for the Rexx
> > project(s). As a result I have
> >
> > ---rony
>

--
Monitor 25 network devices or servers for free with OpManager!
OpManager is web-based network management software that monitors 
network devices and physical & virtual servers, alerts via email & sms 
for fault. Monitor 25 devices for free with no restriction. Download now
http://ad.doubleclick.net/ddm/clk/292181274;119417398;o___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] About a few problems...

2015-07-26 Thread Rony G. Flatscher
Hi there,

a few weeks ago I could finish the JSR-223 support for BSF4ooRexx. "JSR-223" is 
the Java scripting
framework introduced with Java 1.6 (package "javax.script").

While creating a set of test cases using the ooRexx ooTest framework I found a 
few problem areas
about three weeks ago. Ever since then (the last three weeks!) I have been 
busyly debugging the
problems adding a lot of debug statements to the various components of 
BSF4ooRexx in order to become
able to analyze what the problem(s) might be.

If there is anything I can or should do to help further debug these problems 
(like creating a much
less verbose debug output etc.), please let me know, here the tracker items I 
just created:

  * 1342  UNINIT stack frames seem 
to be wrong

  * 1343  UNINIT methods not run 
in interpreter
instance where INIT ran 
  * 1344  "USE ARG" and ARG()-BIF 
sometimes not working
correctly if multi Rexx intepreter instances run in the same thread

  * 1345  Invoking "STRING" method 
on particular object
blocks in multi Rexx intepreter instances running in the same thread


The self-contained zip-archive is also available from 

in the case that are more Sourceforge problems fetching it (it is 1,8 MB in 
size). It is currently
Windows centric (32- or 64-bit). (Also, the "readme.txt" file is there as a 
separate file as well.)

  ---rony



--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] About a few problems...

2015-07-27 Thread Rony G. Flatscher
Hi there,

experiencing problems uploading files to Sourceforge, hence using this e-mail 
list to give a little
update: today I went through the BSF4ooRexx code and commented out all debug 
statements, such that
no debug output takes place (this may inhibit to see the forest for trees).

The new zip-archive can be found at
<http://wi.wu.ac.at/rgf/rexx/tmp/201507_pvj/problems_via_jsr223-201507-20150727.zip>
 (note today's
day in the file name). Just unzip it in its own subdirecty run 
"createSetupFile.rex" and run the
"setEnv.cmd" file it creates. This version also includes so/dylib in 32/64 
(though you would have to
setup your environment manually). The updated
<http://wi.wu.ac.at/rgf/rexx/tmp/201507_pvj/readme.txt> explains at the end how 
to switch between
the verbose and this version.

In this version running "rexx 
PROBLEM_02_ARG\PROBLEM_ARG_JSR_223_rexx.testGroup" will usually create
a crash after repeating the execution of the second Rexx program via JSR-223 
(usually in the third
repetition), which might be helpful to get with the debugger into that location 
and see what might
be the cause for it.

It should be possible in all three testgroup-Rexx programs to change the Rexx 
programs that get
executed via JSR-223 such, that debugging them with a debugger might get easier.

---rony

P.S.: Also created a new beta for BSF4ooRexx itself and uploaded it temporarily 
to
<http://wi.wu.ac.at:8002/rgf/rexx/tmp/bsf4oorexx/>, until Sourceforge allows me 
to upload it there.




On 26.07.2015 20:33, Rony G. Flatscher wrote:
> Hi there,
>
> a few weeks ago I could finish the JSR-223 support for BSF4ooRexx. "JSR-223" 
> is the Java scripting
> framework introduced with Java 1.6 (package "javax.script").
>
> While creating a set of test cases using the ooRexx ooTest framework I found 
> a few problem areas
> about three weeks ago. Ever since then (the last three weeks!) I have been 
> busyly debugging the
> problems adding a lot of debug statements to the various components of 
> BSF4ooRexx in order to
> become able to analyze what the problem(s) might be.
>
> If there is anything I can or should do to help further debug these problems 
> (like creating a much
> less verbose debug output etc.), please let me know, here the tracker items I 
> just created:
>
>   * 1342 <https://sourceforge.net/p/oorexx/bugs/1342/> UNINIT stack frames 
> seem to be wrong
> <https://sourceforge.net/p/oorexx/bugs/1342/>
>   * 1343 <https://sourceforge.net/p/oorexx/bugs/1343/> UNINIT methods not run 
> in interpreter
> instance where INIT ran <https://sourceforge.net/p/oorexx/bugs/1343/>
>   * 1344 <https://sourceforge.net/p/oorexx/bugs/1344/> "USE ARG" and 
> ARG()-BIF sometimes not
> working correctly if multi Rexx intepreter instances run in the same 
> thread
> <https://sourceforge.net/p/oorexx/bugs/1344/>
>   * 1345 <https://sourceforge.net/p/oorexx/bugs/1345/> Invoking "STRING" 
> method on particular
> object blocks in multi Rexx intepreter instances running in the same 
> thread
> <https://sourceforge.net/p/oorexx/bugs/1345/>
>
> The self-contained zip-archive is also available from
> <http://wi.wu.ac.at/rgf/rexx/tmp/201507_pvj/> in the case that are more 
> Sourceforge problems
> fetching it (it is 1,8 MB in size). It is currently Windows centric (32- or 
> 64-bit). (Also, the
> "readme.txt" file is there as a separate file as well.)
>
>   ---rony

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Question ad running destructor (method "uninit")

2015-08-01 Thread Rony G. Flatscher
Hi there,

probably a question that only Rick can answer: currently, an ooRexx object that 
turned into garbage
(no references to it anymore in the system) will get its "uninit" (destructor) 
method executed
before being destroyed, if there exisists such a destructor method for the 
object.

>From analyzing the output in a session that employs two Rexx interpreter 
>instances (RII) at the same
time in the same thread it seems to be the case, that either RII runs the 
destructor ("uninit")
method of an ooRexx object that gets garbage collected. The question I have is 
rather simple: is
ooRexx intentionally behaving this way or is this possibly a bug?

---

Background: for the BSF4ooRexx project I am utilizing all of the powerful 
ooRexx features, including
multiple Rexx interpreter instances (RII). For each RII there is a separate 
.local environment which
therefore can be used to store RII-related information. Another important 
feature of ooRexx that is
being used are the constructor ("init") methods and destructor ("uninit") 
methods.

The constructor (class BSF, method 'init', defined in BSF.CLS) will be used for 
creating ooRexx
objects that are peers to Java objects that get stored on the Java side in a 
Java Map, dubbed "BSF
registry". The key for each Java object (a unique string derived from each Java 
object's hash value)
stored in the BSF registry is used by the ooRexx side as the objectname value 
of each ooRexx object.
This way the ooRexx objects which are peers to the Java objects always carry 
the index to be used to
fetch the Java object from the BSF registry. If the same Java object gets 
referred to by different
ooRex objects in the same RII, a reference counter for the BSF registry gets 
increased.

If an ooRexx object being a peer of a Java object stored in the BSF registry 
gets garbage collected
on the ooRexx side, its uninit method will remove the Java object from the BSF 
registry. This is
done such that first the current reference counter of the Java object in the 
BSF registry is queried
and reduced by one; if the new reference counter drops to zero, then the Java 
object gets removed
from the BSF registry, otherwise it is kept and the new (reduced) reference 
counter will be stored.

The architecture of the ooRexx-Java bridge is such, that for each Java 
RexxEngine there will be a
peer Rexx interpreter instance (RII) created. The BSF registry on the Java side 
therefore stores
only Java objects that got created by the BSF constructor that ran in that 
particular RII. Assuming
that the destructor (uninit method) will only run in the same RII that created 
the ooRexx object,
the above scheme got developed. 

However, when excercising (in this case unit tests) multiple RII then it 
becomes a problem, when the
destructor is carried out by the "wrong" RII: as the Rexx object's objectname 
attribute carries the
index into the BSF registry, it will be used for unregistering the Java object. 
This is possible as
the index-string value is unique per Java object, and each Java object that is 
employed in different
RIIs will be registered in the appropriate BSF registries by the same string 
serving as the index
value for the BSF registry. So a destructor ("uninit") method being run by a 
different RII than the
one that carried out the constructor ("init") method breaks this system. That 
is the reason for the
problem report at: .

Please note, I am not talking about a "bug" here (nor in the tracker item 
above), as this could be
currently an intentional behaviour.

---

Though, if it is intentional, I would suggest to change the Rexx interpreter to 
run the destructor
("uninit") method only in the instance in which originally the constructor 
("init") method ran.
Maybe it is possible already for each Rexx object to discover the RII that 
created it. If so, than
the garbage collector could check, whether the garbaged Rexx object got created 
by the RII that
currently is supposed to run the destructors, and merely skip a Rexx object, if 
it got created in a
different RII. Then later, when another RII does the garbage collection, the 
same applies,
eventually all Rexx objects would get destroyed by the RII that created them.

This way per RII there would be three RII-dependent constructs: .local, 
constructor ("init") method
and destructor ("uninit") method.

---

I guess my question boils down to: if the current behaviour is working as 
designed (it is not a
bug), would it be possible/sensible to change it such, that destructor 
("uninit") methods only get
executed in the RII that created the Rexx object?

---rony

P.S.: In the case that it cannot be expected, that ooRexx behaviour with 
respect to destructors will
change for the next release (either a bug-fix release for 4.2.0 or a 
potentially new release 5.0.0),
I would be able to change the BSF4ooRexx infrastructure such, that it will 
enforce even under these
conditions the deregistering of Java

Re: [Oorexx-devel] Beta # 2: New beta of BSF4ooRexx with full JSR-223 support ...

2015-08-06 Thread Rony G. Flatscher
Hi there,

a short while ago I uploaded a new version of the current BSF4ooRexx beta, 
which incorporates quite
a few, significant (internal) changes. My testunits run against it wihtout 
errors, so it may be
worthwhile for you to test it in your environment, and give feedback, should 
you encounter any
problems with it!

A proper GUI install version for MacOSX is planned for next week together with 
an update of the
install-zip-archive (I plan to change the Windows elevation mechanism again, 
thanks to the research
and information that Gil supplied, many thanks).

Here is the URL where the latest (this) beta version can be found:
<https://sourceforge.net/projects/bsf4oorexx/files/beta/20150608/>

---rony



On 10.06.2015 15:25, Rony G. Flatscher wrote:
> Hi there,
>
> at <https://sourceforge.net/projects/bsf4oorexx/files/beta/20150608/> you'll 
> find a new beta
> version of BSF4ooRexx (an external function package to allow ooRexx access to 
> Java, and Java
> access to ooRexx), a zip-archive for Windows and Linux, and two MacOSX 
> installation packages, one
> for 32- and one for 64-bit ooRexx.
>
> Changes in this beta:
>
>   * This version fixes a mixup and an installation issue on 64-bit Windows, 
> running 32-bit Rexx
> (which also needs a 32-bit Java installed). (So Les, you might want to 
> try this version!)
>
>   * This version fullly supports JSR-223 (the Java scripting framework in the 
> package
> javax.script), which means that any Java program can take advantage of 
> ooRexx scripts by using
> the Java scripting standard. Please look-up the samples in 
> "samples/Java/jsr223" which
> highlights the full implementation done for ooRexx, i.e. including the 
> Java interfaces
> Compilable and Invocable.
>
>   o This beta includes a new external Rexx function called 
> "BsfContextVariables()", which
> allows one to set (drop) local Rexx variables to the values found in 
> a directory. This
> features is exploited in a new nutshell example in 
> "samples/Java/jsr223"; the Rexx
> programs there will get invoked via Java and the new javax.script 
> support and demonstrate
> also how to get at the information in the supplied ScriptContext.
>
>   * It would be interesting to learn how it does performancewise as well. So, 
> if you have a
> possibility to test multiple JSR-223 languages and compare them with the 
> ooRexx scripting
> engine, then please share your findings!
>
> If you find bugs, please file them with the sourceforge bsf4oorexx tracker.
>
> ---rony
>

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] The 20150812-beta drop of BSF4ooRexx with full JSR-223 support ...

2015-08-13 Thread Rony G. Flatscher
Hi there,

a short while ago I uploaded a new version of the current BSF4ooRexx beta with 
the date "2015-08-12"
in it, which incorporates quite a few, significant (internal) changes. A proper 
GUI install version
for MacOSX got created and uploaded as well.

Here is the URL where the latest (this) beta version can be found:
<https://sourceforge.net/projects/bsf4oorexx/files/beta/20150608/>

---rony



On 10.06.2015 15:25, Rony G. Flatscher wrote:
> Hi there,
>
> at <https://sourceforge.net/projects/bsf4oorexx/files/beta/20150608/> you'll 
> find a new beta
> version of BSF4ooRexx (an external function package to allow ooRexx access to 
> Java, and Java
> access to ooRexx), a zip-archive for Windows and Linux, and two MacOSX 
> installation packages, one
> for 32- and one for 64-bit ooRexx.
>
> Changes in this beta:
>
>   * This version fixes a mixup and an installation issue on 64-bit Windows, 
> running 32-bit Rexx
> (which also needs a 32-bit Java installed). (So Les, you might want to 
> try this version!)
>
>   * This version fullly supports JSR-223 (the Java scripting framework in the 
> package
> javax.script), which means that any Java program can take advantage of 
> ooRexx scripts by using
> the Java scripting standard. Please look-up the samples in 
> "samples/Java/jsr223" which
> highlights the full implementation done for ooRexx, i.e. including the 
> Java interfaces
> Compilable and Invocable.
>
>   o This beta includes a new external Rexx function called 
> "BsfContextVariables()", which
> allows one to set (drop) local Rexx variables to the values found in 
> a directory. This
> features is exploited in a new nutshell example in 
> "samples/Java/jsr223"; the Rexx
> programs there will get invoked via Java and the new javax.script 
> support and demonstrate
> also how to get at the information in the supplied ScriptContext.
>
>   * It would be interesting to learn how it does performancewise as well. So, 
> if you have a
> possibility to test multiple JSR-223 languages and compare them with the 
> ooRexx scripting
> engine, then please share your findings!
>
> If you find bugs, please file them with the sourceforge bsf4oorexx tracker.
>
> ---rony
>

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] The 20150825-beta drop of BSF4ooRexx with full JSR-223 support ...

2015-08-25 Thread Rony G. Flatscher
Hi there,

this update effects only the Windows installation and uninstallation, which 
finally will be able -
thanks to Gil Barmwater! - to remove the "BSF4ooRexx" directory. Elevation is 
now done again with
ooRexx only, again kudos go to Gil!

So, if you have Windows, any version, please download and test this version 
(install, reinstall,
uninstall) and in case of any problems, please report them!

Here is the URL where the latest (this) beta version can be found:
<http://sourceforge.net/projects/bsf4oorexx/files/beta/20150608/BSF4ooRexx_install_v452-20150825-beta.zip/download>

---rony


On 13.08.2015 17:31, Rony G. Flatscher wrote:
> Hi there,
>
> a short while ago I uploaded a new version of the current BSF4ooRexx beta 
> with the date
> "2015-08-12" in it, which incorporates quite a few, significant (internal) 
> changes. A proper GUI
> install version for MacOSX got created and uploaded as well.
>
> Here is the URL where the latest (this) beta version can be found:
> <https://sourceforge.net/projects/bsf4oorexx/files/beta/20150608/>
>
> ---rony
>
>
>
> On 10.06.2015 15:25, Rony G. Flatscher wrote:
>> Hi there,
>>
>> at <https://sourceforge.net/projects/bsf4oorexx/files/beta/20150608/> you'll 
>> find a new beta
>> version of BSF4ooRexx (an external function package to allow ooRexx access 
>> to Java, and Java
>> access to ooRexx), a zip-archive for Windows and Linux, and two MacOSX 
>> installation packages, one
>> for 32- and one for 64-bit ooRexx.
>>
>> Changes in this beta:
>>
>>   * This version fixes a mixup and an installation issue on 64-bit Windows, 
>> running 32-bit Rexx
>> (which also needs a 32-bit Java installed). (So Les, you might want to 
>> try this version!)
>>
>>   * This version fullly supports JSR-223 (the Java scripting framework in 
>> the package
>> javax.script), which means that any Java program can take advantage of 
>> ooRexx scripts by
>> using the Java scripting standard. Please look-up the samples in 
>> "samples/Java/jsr223" which
>> highlights the full implementation done for ooRexx, i.e. including the 
>> Java interfaces
>> Compilable and Invocable.
>>
>>   o This beta includes a new external Rexx function called 
>> "BsfContextVariables()", which
>> allows one to set (drop) local Rexx variables to the values found in 
>> a directory. This
>> features is exploited in a new nutshell example in 
>> "samples/Java/jsr223"; the Rexx
>> programs there will get invoked via Java and the new javax.script 
>> support and demonstrate
>> also how to get at the information in the supplied ScriptContext.
>>
>>   * It would be interesting to learn how it does performancewise as well. 
>> So, if you have a
>> possibility to test multiple JSR-223 languages and compare them with the 
>> ooRexx scripting
>> engine, then please share your findings!
>>
>> If you find bugs, please file them with the sourceforge bsf4oorexx tracker.
>>
>> ---rony
>>

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] nsis - build error with release version of 4.2.0

2015-09-15 Thread Rony G. Flatscher
Trying to create an interpreter from a copy of the svn 
"main\releases\4.2.0\trunk" sources, succeeds
after applying a patch.

However, when executing "makeorx NODEBUG PACKAGE" the nsis installer aborts 
surprisingly after a
while with the error message:

... cut ...

Function: "CheckInstalledStatus"
StrCpy $PreviousVersionInstalled "false" () ()
StrCpy $UpgradeTypeAvailable "false" () ()
!insertmacro: _If
!insertmacro: end of _If
StrCpy $PreviousVersionInstalled "true" () ()
!insertmacro: _If
!insertmacro: end of _If
StrCpy $RegVal_uninstallLocation "$INSTDIR" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _If
!insertmacro: end of _If
!insertmacro: VersionCompareCall
!insertmacro: end of VersionCompareCall
!insertmacro: _If
!insertmacro: end of _If
StrCpy $UpgradeTypeAvailable "true" () ()
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
!insertmacro: _EndIf
!insertmacro: end of _EndIf
FunctionEnd
Function: "CheckLockedFiles"
*StrCpy $UserRequestAbort "false" () ()StrCpy $KeyFileName 
"$RegVal_uninstallLocation\rexx.dll" () ()Invalid command: 
LockedList::IsFileLockedError in script "oorexx.nsi" on line  -- 
aborting creation process***/*Das System kann die angegebene Datei nicht 
finden.English: "cannot find indicated file"* /

Assuming that that version of "oorexx.nsi" got used to create the 4.2.0 
installation package, it is
a little bit surprising, that it does not succeed.

Does anyone have a hint what could be wrong?

Using "nsis 2.44" (2009-02-21) on 32-bit Windows XP (yes, still!) SP3, the 
nsis-Plugins directory
contains:

21.02.2009  21:46 6.144 AdvSplash.dll
21.02.2009  21:46 4.096 Banner.dll
21.02.2009  21:46 7.680 BgImage.dll
21.02.2009  21:46 3.584 Dialer.dll
02.06.2004  19:3131.744 FindProcDLL.dll
21.02.2009  21:4614.848 InstallOptions.dll
07.06.2003  18:0032.768 KillProcDLL.dll
21.02.2009  21:46 5.632 LangDLL.dll
21.02.2009  21:4667.584 Math.dll
21.02.2009  21:46 9.728 nsDialogs.dll
21.02.2009  21:46 6.656 nsExec.dll
21.02.2009  21:4614.848 NSISdl.dll
18.08.2010  20:28 4.096 ooRexxProcess.dll
08.09.2003  03:19 7.680 services.dll
21.02.2009  21:46 4.096 Splash.dll
21.02.2009  21:46 7.680 StartMenu.dll
21.02.2009  21:4611.264 System.dll
21.02.2009  21:46 3.584 TypeLib.dll
21.02.2009  21:46 4.096 UserInfo.dll
21.02.2009  21:46 8.192 VPatch.dll

---rony

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] nsis - build error with release version of 4.2.0

2015-09-15 Thread Rony G. Flatscher

On 15.09.2015 13:16, Rick McGuire wrote:
> Are you using the version of nsis downloaded from the oorexx sourceforge 
> site?  Located here: 
>
> http://sourceforge.net/projects/oorexx/files/oorexx-buildutils/1.2.0/Nsis_longStrings.zip/download
>
> This contains all of the needed plugins as well as the longStrings patch 
> needed for updating long
> path environment variables.
No, I was not using them, thenk you very much for pointing them out, will try 
to use them instead
and report back!

---rony


--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] nsis - build error with release version of 4.2.0

2015-09-15 Thread Rony G. Flatscher
This version of nsis has worked flawlessly, thank you *very* much again!

One remark ad the zipo-file "Nsis_longStrings.zip": after unzipping it, 
security information got
restored with the unzipped files, such that initially nsis.exe was not allowed 
to execute. Switching
to the "Nsis_longStrings" directory and issuing "cacls * /T /G jeder:f" solved 
the problem by
allowing everyone to access the files. (The English version would probably be 
"cacls * /T /G
everyone:f".)

---rony



On 15.09.2015 14:09, Rony G. Flatscher wrote:
> On 15.09.2015 13:16, Rick McGuire wrote:
>> Are you using the version of nsis downloaded from the oorexx sourceforge 
>> site?  Located here: 
>>
>> http://sourceforge.net/projects/oorexx/files/oorexx-buildutils/1.2.0/Nsis_longStrings.zip/download
>>
>> This contains all of the needed plugins as well as the longStrings patch 
>> needed for updating long
>> path environment variables.
> No, I was not using them, thenk you very much for pointing them out, will try 
> to use them instead
> and report back!
>
> ---rony


--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Regquest for support of an Android port of ooRexx ...

2015-09-28 Thread Rony G. Flatscher
Hi there,

a student, Klemens Engelbrechtsmüller, has accepted a project to port ooRexx to 
the Android
platform. His background has been quite Java-concentrated (he works as a 
professional Java developer
besides his studies) and in his seminar thesis he developed a wrist-wratch 
application for the
Samsung gear (which now is based on Tizen, coding usually is done in 
JavaScript) and a Samsung
smarthphone (Android, coding in Java). As Android runs on Linux, it should be 
possible to port
ooRexx to Android. His task is to attempt such a port and to research the 
needed development
environment. It is intended to make also the Google/Android "Scripting Library 
for Android (SL4A)
available to such a port.

He went to a higher technical school her in Austria where he also learned 
programming in C, but has
not programmed with it professionally. He has never compiled a large C/C++ 
project, so he has no
knowledge about automake or cmake.

Assuming that having/getting a port of ooRexx to the Android platform, reaching 
out to the mobile
operating system leader for smartphones, pads and workstations is of interest 
for the ooRexx
community, I encouraged him to turn to this e-mail list for help, if he gets 
stuck. I would expect
the most support need in the beginning of the project so I kindly request for 
your help to get him
up and running as quickly as possible, such that he can turn to the specific 
Android challenges
(like packaging, right management, making it possible to run Rexx script with 
an installed ooRexx
interpreter, making it possible to create packages with Rexx applications, if 
possible, etc.).

Thanks for any support and help for that student in advance,

---rony

P.S.: In case you are interested, you will find his seminar paper on:

  *
2015 06 Engelbrechtsmüller, Klemens(mother tongue: German)
WU Wien (Wirtschaftsuniversität Wien, Vienna University of Economics and 
Business
Administration), Austriaseminar / English

Integrated Gear Application




/

This paper describes the creation of a Samsung Integrated Gear application 
requesting public
transport data from Wiener Linien. In more detail, this paper illustrates 
how to develop an
Android Host application with a corresponding Samsung Gear Wearable 
application step by step,
including how to set up a suitable development equipment for the 
development process and a
description how to deploy such an application on a Samsung Galaxy Note 3 
smartphone and a
Samsung Gear wristwatch. Additionally, it shows how to connect and call two 
Web services from
Wiener Linien to get real-time data of their transports.

/

Keywords:
|Android  Gear  Mobile Applications  Samsung  wrist watch  |



P.P.S.: There were two Android-related seminar thesis and presentations on this 
year's International
Rexx symposium (using in one case Rexxoid, using in another case BRexx, cf.
):

  *


2014 12 Gerger, Eva(mother tongue: German)
WU Wien (Wirtschaftsuniversität Wien, Vienna University of Economics and 
Business
Administration), Austriaseminar / English

BRexx: Running Rexx on Android Systems



/

Mobile devices are on the rise, most of them using the Android operating 
system. However,
developing applications for Android is complex and hard to learn. Scripting 
Layer for Android in
combination with BRexx (an interpreter for the programming language Rexx) 
is able to provide
relief for many problems. This work provides nutshell examples for BRexx. A 
short comparison of
BRexx and Rexxoid, another Android Rexx interpreter, is given. The 
advantages of BRexx over
Rexxoid are highlighted.

/ Extra Materials:
Nutshell examples, code (zip archive)



Keywords:
|Android  BRexx  Rexx  Rexxoid  |

  *
2014 12 Reindorf, Julian(mother tongue: German)
WU Wien (Wirtschaftsuniversität Wien, Vienna University of Economics and 
Business
Administration), Austriaseminar / English

Rexxoid: Running Rexx on Android Systems



/

Rexx runs on several operating systems, including Windows, MacOS and Linux. 
However, the recent
development towards mobile devices leads to the need of running Rexx also 
on the most
wide-spread mobile device operating system: Android. The Rexxoid 
interpreter enables Android
devices to execute Rexx scripts. Furthermore commands can be sent to the 
Android shell. This
paper describes Rexxoid and 

[Oorexx-devel] A little background ... (Re: Talk on "dbusoorexx" at LinuxCon Europe 2015 today ...

2015-10-09 Thread Rony G. Flatscher
Thanks for the thumb-ups!

The story of the dbusoorexx-package gets like this: in order for my (economic, 
business
administration, law) students who may have learned programming in my two ooRexx 
classes
(oo-concepts, remote controlling Windows and its apps, camofulaged Java, doing 
the same on all
operating systems) to become able to do remote controlling of Linux apps, 
interacting with D-Bus is
necessary. However, the D-Bus APIs are not quite "human-centric" and hence the 
learning curve and
error proneness very high. As a result the dbusoorexx binding should be such 
that it becomes very
easy to use D-Bus.

A first beta-version was presented in the 2011 international Rexx symposium 
(December), followed by
ports to MacOSX (e.g. macports supplies D-Bus there) and to Windows (only 
source code available so
creating from time to time a binary for end-user-kind of programmers). One 
thing that becomes
possible and may be interesting in home environments, but also in businesses is 
the easiness by
which one can create D-Bus servers in ooRexx, which may run on any operating 
system, serving any
(ooRexx, Python, C, C++, ...) D-Bus clients on any operating systems.

Then, after having a student assigned a first D-Bus task it turned out, that 
despite my use cases
and testings, the D-Bus support of dbusoorexx was not stable. There were also 
two or three "outside"
users who experienced problems.

To make a long story short, it turned out that the communication (message 
sending and receiving)
with D-Bus must occur on the same thread. This was just not documented (at 
least I never read
anything aobut it in the lists and documents I researched), so I assumed that 
it was fully
thread-safe, sending messages from any ooRexx thread. It took quite a long time 
to find this out!

So in the end I ended up rewriting the code to make sure that the message 
communication with D-Bus
is done in the appropriate threads in a way, that ooRexx programmers do not 
have to be aware of it.
Short of longer time chunks at hand, I have to do longer development and 
testing work in the
University vacation times, where the students are gone and meetings drop to 0. 
:)

After fixing dbusoorexx I had another student who created unit tests for 
dbusoorexx to make sure,
that all aspects of it work as designed. And only after this work was another 
D-Bus assignment done
where the student experienced no problems with the new version of dbusoorexx.

Concluding that it has become ready for prime time I submitted a talk to this 
year's LinuxCons US
and Europe, where LinuxCon Europe accepted it. The by-product of it is the 
presentation and a few
minimal nutshell examples going with it, that demonstrate how easy it has 
become to take advantage
of D-Bus if using the dbusoorexx bridge. The examples demonstrate

  * an ooRexx program using a D-Bus service (as a client),

  * an ooRexx program listening to all D-Bus messages and dumping a few 
interesting infos to the
screen (very helpful, if researching which D-Bus messages the Linux kernel 
and Linux
applications utter, but also to find out which D-Bus messages get exchanged 
when interacting
with e.g. the user interface), and finally

  * an ooRexx program that services any D-Bus clients (it actually is only 
necessary to write a
simple ooRexx class and define its methods in the D-Bus XML introspection 
file format for D-Bus
clients to learn its signatures).

There was an attendee who has created a bridge to D-Bus for a scheme like 
language who has not been
able yet to create an easy to apply solution to create D-Bus services 
(servers). He was most
impressed how simple and straight-forward it is to create D-Bus services with 
ooRexx.

So I would encourage any users of Rexx or ooRexx on this list to check out this 
dbusoorexx package,
if you are using Linux in one form or another. The LinuxCon EU presentation 
(slides) at
http://wi.wu.ac.at/rgf/rexx/misc/lce2015/>> document the
download link at the very end.

---rony

P.S.: Of course, I also offer this package to the ooRexx developers to include 
it into the Linux
distributions, it makes ooRexx much more productive there. Currently it is 
hosted within the sister
project BSF4ooRexx, which - after arriving at a stable status - got offered and 
handed over to the
RexxLA, in my sandbox there.













--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] appendAll, putAll, fill to return their receiving target as a result

2015-11-02 Thread Rony G. Flatscher
Hi Erich,

On 01.11.2015 18:07, Erich Steinböck wrote:
> I'd like to suggest to change (OrderedCollection's) appendAll and 
> (MapCollection's, Bag's and
> Set's) putAll methods to return the target collection as their result.  
> Currently they do not
> return a result.
>
> Any reasons not to do so, e.g. architectural concern, compatibility?
>
> Same suggestion for Array's fill method.
>
> All existing ~~appendAll/putAll/fill code should of course continue to run 
> unmodified, just the
> double "~" wouldn't be /required/ any more.
Hmm, the double-tilde ("cascading message" operator) is a great ooRexx built-in 
feature that already
does what you seek as you noted. It allows ooRexx to cascade messages to any 
object, no matter
whether it returns itself or not. Other languages (e.g. like Java) do not have 
such a mechanism and
there it becomes mandatory to code methods such, that they return the object 
for which the method runs.

Therefore I am a little bit curious as to why you would wish to forgo the 
built-in cascading message
feature (the double-tildes) of ooRexx for changing the methods to return the 
receiving object
directly, as it would not be necessary in ooRexx at all.

---rony


--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Recent 5.0.0 windows build (x86_32)

2015-11-18 Thread Rony G. Flatscher
Erich,

thank you very much for your efforts, it works (32 bit 5.0.0 alpha Nov 7th 
2015)!

Ran "rexxcps.rex" from the ooRexx 4.2.1 samples directory successfully 
(comparing a few runs between
the 5.0.0 alpha and 4.2.1 GA indicates that 5.0 alpha is currently appr. 10% 
slower than 4.2.1 GA).

---rony



On 17.11.2015 23:52, Erich Steinböck wrote:
> Rony,
>
> seems that |EDITBIN /SUBSYSTEM:CONSOLE,5.01 /OSVERSION:5.1|
> should have been the correct incantation
>
> I've just uploaded editbin-patched 32- and 64-bit ooRexx builds (still at the 
> same SVN revision as
> before) which should now run on XP, too (though I've just tested a simple 
> "say 2*2" on 32-Bit XP. 
> Haven't tested on 64-bit XP, nor run any regression tests)
>
> Erich
>
> On Tue, Nov 17, 2015 at 9:11 PM, Erich Steinböck  > wrote:
>
> Rony, I tested on XP and can confirm the issue.
> I found several references that VS 2013/4/5 - built EXE's won't run under 
> XP any more.
> I tried the suggested fix |EDITBIN /SUBSYSTEM:WINDOWS,5.01 /OSVERSION:5.1
> |but unfortunately it doesn't seem to work here
> Seems to require more investigation.
>

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Oh, and it is FUN ! :) (Re: Recent 5.0.0 windows build (x86_32)

2015-11-18 Thread Rony G. Flatscher
Just a remark about doing a little rexxtry.rex session to test 5.0alpha a bit:

F:\download\Rexx\ooRexx\alpha500\work\bin_small>rexx rexxtry.rex
REXX-ooRexx_5.0.0(MT)_32-bit 6.05 4 Nov 2015
  rexxtry.rex lets you interactively try REXX statements.
Each string is executed when you hit Enter.
Enter 'call tell' for a description of the features.
  Go on - try a few...Enter 'exit' to end.
do i over eins, zwei, drei; say i;end
EINS
ZWEI
DREI
  ... rexxtry.rex on WindowsNT
do i over (eins, zwei, drei); say i;end
EINS
ZWEI
DREI
  ... rexxtry.rex on WindowsNT
do i over .array~of(eins, zwei, drei); say i;end
EINS
ZWEI
DREI
  ... rexxtry.rex on WindowsNT

This is really *fun* (and great) !

---rony



On 18.11.2015 18:52, Rony G. Flatscher wrote:
> Erich,
>
> thank you very much for your efforts, it works (32 bit 5.0.0 alpha Nov 7th 
> 2015)!
>
> Ran "rexxcps.rex" from the ooRexx 4.2.1 samples directory successfully 
> (comparing a few runs
> between the 5.0.0 alpha and 4.2.1 GA indicates that 5.0 alpha is currently 
> appr. 10% slower than
> 4.2.1 GA).
>
> ---rony
>
>
>
> On 17.11.2015 23:52, Erich Steinböck wrote:
>> Rony,
>>
>> seems that |EDITBIN /SUBSYSTEM:CONSOLE,5.01 /OSVERSION:5.1|
>> should have been the correct incantation
>>
>> I've just uploaded editbin-patched 32- and 64-bit ooRexx builds (still at 
>> the same SVN revision
>> as before) which should now run on XP, too (though I've just tested a simple 
>> "say 2*2" on 32-Bit
>> XP.  Haven't tested on 64-bit XP, nor run any regression tests)
>>
>> Erich
>>
>> On Tue, Nov 17, 2015 at 9:11 PM, Erich Steinböck 
>>  wrote:
>>
>> Rony, I tested on XP and can confirm the issue.
>> I found several references that VS 2013/4/5 - built EXE's won't run 
>> under XP any more.
>> I tried the suggested fix |EDITBIN /SUBSYSTEM:WINDOWS,5.01 /OSVERSION:5.1
>> |but unfortunately it doesn't seem to work here
>> Seems to require more investigation.
>>

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Ad making .StringTable a drop-in replacement for .Directory

2015-11-18 Thread Rony G. Flatscher
Experimenting a bit further with 5.0alpha looking into the new .StringTable 
which should
supercede/replace the .Directory class as it is faster than .Directory (by 
removing the feature to
have methods generate a return value upon lookup).

Running the following experiment:

F:\download\Rexx\ooRexx\alpha500\work\bin_small>rexx rexxtry.rex
REXX-ooRexx_5.0.0(MT)_32-bit 6.05 4 Nov 2015
  rexxtry.rex lets you interactively try REXX statements.
Each string is executed when you hit Enter.
Enter 'call tell' for a description of the features.
  Go on - try a few...Enter 'exit' to end.
say .stringtable
The StringTable class
  ... rexxtry.rex on WindowsNT
say .stringtable~isa(.directory)
0
  ... rexxtry.rex on WindowsNT
do i over .stringtable~superclasses;say i;end
The Object class
The MapCollection class
  ... rexxtry.rex on WindowsNT
do i over .directory~superclasses;say i;end
The Object class
The MapCollection class
  ... rexxtry.rex on WindowsNT
say .local .local~class
The Local Directory The Directory class
  ... rexxtry.rex on WindowsNT

It would be nice, if .local and .environment and other Directory objects in 
existing code could get
replaced by StringTable instances to benefit from its better performance.

In order to allow .StringTable as a drop-in replacement for .Directory it would 
only be necessary to
make .StringTable a subclass of .Directory (the speciality of .StringTable 
would be to remove a
particular lookup feature, if I understood the explanations by Rick correctly). 
This way existing
code would be able to get gradually enhanced by replacing .Directory objects by 
.StringTable objects
(even in native code that might test whether an object is a .Directory).

Would that make sense?

---rony

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Ad making .StringTable a drop-in replacement for .Directory

2015-11-22 Thread Rony G. Flatscher


On 20.11.2015 15:42, Gil Barmwater wrote:
> On 11/18/2015 1:24 PM, Rony G. Flatscher wrote: >> Experimenting a bit 
> further with 5.0alpha looking into the new >> .StringTable which should
supercede/replace the .Directory class as >> it is faster than .Directory (by 
removing the feature
to have >> methods generate a return value upon lookup). >> >> Running the 
following experiment: >>
>> F:\download\Rexx\ooRexx\alpha500\work\bin_small>rexx rexxtry.rex >> 
>> REXX-ooRexx_5.0.0(MT)_32-bit
6.05 4 Nov 2015 rexxtry.rex lets you >> interactively try REXX statements. Each 
string is executed
when you >> hit Enter. Enter 'call tell' for a description of the features. Go 
>> on - try a
few...Enter 'exit' to end. say .stringtable >> The StringTable class
... >> rexxtry.rex on WindowsNT say
.stringtable~isa(.directory) 0 >> ... 
rexxtry.rex on >>
WindowsNT do i over .stringtable~superclasses;say i;end The Object >> class The 
MapCollection class
>> ... rexxtry.rex on >> WindowsNT do i 
>> over
.directory~superclasses;say i;end The Object >> class The MapCollection class >>
... rexxtry.rex on >> WindowsNT say 
.local .local~class The
Local Directory The Directory >> class 
... rexxtry.rex on >>
WindowsNT >> >> It would be nice, if .local and .environment and other 
Directory >> objects in
existing code could get replaced by StringTable >> instances to benefit from 
its better performance.
>> >> In order to allow .StringTable as a drop-in replacement for >> .Directory 
>> >> it would only be
necessary to make .StringTable a >> subclass of .Directory (the speciality of 
.StringTable would be
to >> remove a particular lookup feature, if I understood the >> explanations 
by Rick correctly).
This way existing code would be >> able to get gradually enhanced by replacing 
.Directory objects by
>> .StringTable objects (even in native code that might test whether >> an 
>> object is a .Directory).
>> >> Would that make sense? >> >> ---rony > A recent post by Ruurd about the 
>> >> "Decorator" design
pattern got me to > do some reading about OO design patterns and principles.  
While I'm > still
working my way through it all, I did find an interesting > principle that I 
believe applies here. 
It is call the LSP (Liskov > Substitution Principle) and it states that 
"subtypes must be >
substitutable for their base types".  The way I understand it, > creating a 
subclass that removes
functionality of its superclass is > not good design practice.
This depends very much on the context, purpose: consider e.g. a class tree of 
birds which are of
course able to fly (have a method fly implemented or accessible via 
inheritance). Then, when you hit
a new class of birds that does not fly (like an ostrich) you are confronted 
with class of birds that
has as one speciality (justifying an own class) that it lost the ability to fly.

There are at least two solutions to this problem: you arrange, if you can, the 
entire class tree and
make the ostrich class the superclass of all other birds, where one of its 
subclasses adds the
method "fly", such that that class' subclasses gain the ability to fly. In most 
real world cases
changing a design of an existing class hierarchy as fundamentally as suggested 
with this approach is
probably impractical.

The other solution is that you subclass the bird class that resembles ostrichs 
the most and make
sure that the ostrich's method "fly" gets removed by implementing the fly 
method and raising a
syntax condition indicating that this method got removed. This way you make 
sure that ostrichs don't
fly, but that programs which mistakingly invoke the fly method on them get a 
syntax condition that
makes it aware of the error.

> So your suggestion to have .StringTable be a subclass of .Directory > would 
> violate the LSP.  However, reversing that relationship - > .Directory as a 
> subclass of
.StringTable - would be OK.
LSP is about semantics, which depend on the context.

Looked up the methods of .Directory and .StringTable, and indeed the methods 
setMethod and
unsetMethod are not implemented in .StringTable. Making .StringTable a subclass 
of .Directory would
cause it to inherit those two methods, so no runtime error would occur. 
However, if these two
methods get excercised by any program, then that program would assume that the 
unknown method would
invoke it and retu

Re: [Oorexx-devel] Ad making .StringTable a drop-in replacement for .Directory

2015-11-23 Thread Rony G. Flatscher
Hi there,

thanks to everyone who gave feedback!

Just to be sure: it was a rough, quick idea and presented here for discussion 
and feedback to become
able to see whether it would be viable or not (and it is not).

Looking forward to 5.0 which has tons of great new features !

---rony



On 22.11.2015 16:36, Jon Wolfers wrote:
> I actually make use of directory~setmethod in a few places, notably to make a 
> directory case
> agnostic like this:
> .directory~new~~setmethod('UNKNOWN',"if self~hasIndex(upper(arg(1))) then 
> return
> self[upper(arg(1))] ; else return .nil")
>
> I know of only two ways to test whether an object instance has certain 
> capabilities.
> ISA or HASMETHOD.
>
> In a universe where subclasses removed their parents capabilities by 
> over-riding methods with um,
> 'unMethods' then neither of these tests would be universally valid.
>
> The advantage of Rony's suggestion is that it is easy then to replace 
> instances of DIRECTORY in
> ones code with instances of STRINGTABLE without having to check for calls to 
> setMethod or
> unsetmethod.  The workaround is to check for calls to setmethod or 
> unsetmethod before making the
> change, or even undo the change when you see the error "a STRINGTABLE does 
> not understand message
> SETMETHOD".
>
> IMHO although there would be benefits to making this change, the cost here 
> far outweigh them, so I
> am a -1 on this one.
>
> Jon  
>
>
>
> On 22 November 2015 at 15:00, Moritz Hoffmann  <mailto:antig...@gmail.com>> wrote:
>
> I agree that it would be a bad idea to replace various .Directory 
> instances by .StringTable.
> Remembering B. Meyer in his programming language class: Preconditions can 
> only be weakened by
> inheritance, postconditions can be strengthened. An parameter type 
> requirement is comparable
> to a precondition, so the same holds here. [1]
> It is well known that certain real-world relationships are hard or 
> impossible to model using
> object-oriented design, but the bird example can be solved. Image the 
> hierarchy is actually a
> relationship model with many dimensions. Then, bird ancestry and birds 
> able to fly are two
> orthogonal dimensions which cannot be expressed in one hierarchy. 
> Multiple inheritance is an
> attempt to solve the problem, but it comes with its own ambiguities.
>
> Moritz
>
> [1] https://en.wikipedia.org/wiki/Liskov_substitution_principle
>
> On Sun, Nov 22, 2015 at 3:34 PM Rick McGuire  <mailto:object.r...@gmail.com>> wrote:
>
>
>
> On Sunday, November 22, 2015, Rony G. Flatscher 
>  <mailto:rony.flatsc...@wu.ac.at>> wrote:
>
>
>
> On 20.11.2015 15:42, Gil Barmwater wrote:
> > On 11/18/2015 1:24 PM, Rony G. Flatscher wrote: >> 
> Experimenting a bit further with 5.0alpha looking into the new >> .StringTable
> which should supercede/replace the .Directory class as >> it is 
> faster than .Directory
> (by removing the feature to have >> methods generate a return 
> value upon lookup). >>
> >> Running the following experiment: >> >>
> F:\download\Rexx\ooRexx\alpha500\work\bin_small>rexx rexxtry.rex 
> >>
> REXX-ooRexx_5.0.0(MT)_32-bit 6.05 4 Nov 2015 rexxtry.rex lets you 
> >> interactively try
> REXX statements. Each string is executed when you >> hit Enter. 
> Enter 'call tell' for
> a description of the features. Go >> on - try a few...
> Enter 'exit' to end.
> say .stringtable >> The StringTable class 
> ...
> >> rexxtry.rex on WindowsNT say .stringtable~isa(.directory) 0 >>
> ... rexxtry.rex on >> 
> WindowsNT do i over
> .stringtable~superclasses;say i;end The Object >> class The 
> MapCollection class >>
> ... rexxtry.rex on >> 
> WindowsNT do i over
> .directory~superclasses;say i;end The Object >> class The 
> MapCollection class >>
> ... rexxtry.rex on >> 
> WindowsNT say .local
> .local~class The Local Directory The Directory >> class
> ... rexxtry.rex on >> 
> WindowsNT >> >> It would
> be nice, if .local and .environment a

[Oorexx-devel] How about a little BRexx-feature for ooRexx ?

2015-12-10 Thread Rony G. Flatscher
BRexx allows one to define strings that span multiple lines, e.g. like:

... cut ...
/* Initialisation */
call import "android.r"
call AndroidInit

/* specify XML layout */
/* apply layout */
/* start full screen */
layout= *"*///*" *||//*"* 
/*" *||//*"* 
//*" *||//*"* 
*" *call fullShow layout ... cut ...**

There are use cases (like the above) where this comes in to be quite handy. So 
the question would
be, whether such a feature would be possible and desirable for ooRexx?

However, there is a new "::resource" directive planned with ooRexx 5.0 which 
allows for defining any
kind of strings, also spanning multiple lines, which has the benefit that all 
lines get organized in
the .resources StringTable such that each defined resource can be fetched by 
its name.

---rony



--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Thoughts about proviling, debugging ooRexx sometimes ...

2015-12-31 Thread Rony G. Flatscher
While going over a few articles in the Java world (following Java 9, jigsaw 
discussions), the JVM TI
(Java Virtual Machine Tool Interface) plays an important role. JVM TI was 
introduced with Java 1.5/5
many years ago and has replaced the experimental JVM PI (Java Virtual Machine 
Profiling Interface).

JVM TI is an API for native applications written e.g. in C which allows the 
C-written "agents" to
interface with a running JVM. Java profilers and Java debuggers are created 
based on these APIs to
be used/run against any Java application.

One thing about Java that is interesting is the expertise and experience that 
get reflected over
time in the Java packages and Java tools. Hence JVM TI may serve as an 
interesting starting point
about creating a framework for profiling and debugging ooRexx applications.

Here is an interesting overview article with links to further information about 
JVM TI:
.

In order to allow ooRexx to become even more popular, profiling/debugging 
features on par with (or
even exceeding) other programming languages are important.

---rony


--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] State of 5.0 ?

2016-01-28 Thread Rony G. Flatscher
Wondering what the state of the current trunk, aka ooRexx 5.0, is? Is it 
feature-complete, such that
one can think of making ready a beta test version?

What would be necessary to get the ball rolling towards an official release?

---rony


--
Site24x7 APM Insight: Get Deep Visibility into Application Performance
APM + Mobile APM + RUM: Monitor 3 App instances at just $35/Month
Monitor end-to-end web transactions and take corrective actions now
Troubleshoot faster and improve end-user experience. Signup Now!
http://pubads.g.doubleclick.net/gampad/clk?id=267308311&iu=/4140
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Question ad MacOSX El Capitan and creating symbolic links in /usr/* ...

2016-03-13 Thread Rony G. Flatscher
Not having worked much on Apple lately, I was informed by students who tried to 
install ooRexx for
MacOSX by installing BSF4ooRexx for MacOSX, that the installation does not work 
"all of a sudden"!

Exploring this problem a little bit, it turned out that students having MacOSX 
prior to "El Capitan"
(MacOSX (10.11)) installed have no problems whatsoever. So the culprit seems to 
be the latest
MacOSX, 10.11.

One student reported the same problem using a "pure" ooRexx installation from 
Sourceforge!

Inspecting my Apple having the latest upgrade and path (MacOSX 10.11.3) 
installed it turns out that
the previously installed and functioning BSF4ooRexx was rendered useless in the 
meantime, the oorexx
symbolic links to binaries and libraries (all residing in "/usr/bin", 
"/usr/lib" and even
"/usr/include") have been moved to some
"/Library/SystemMigration/History/Migration-some-UUID-value/QuarantineRoot"!

---

As spooky as this seems (an operating system update regarding installed, 
working applications as
malware somehow, acting such that rendering it useless) the problem needs to be 
fixed, if possible
at all, ASAP.

On either developer list (oorexx and bsf4oorexx) there have been developers 
showin up who have had
experiences developing on the Apple platform.

So the question is, does anyone have any ideas what this causes and what a 
possible remedy would be
for it? Possibly anyone who might have been able to re-install ooRexx or 
BSF4ooRexx on El Capitan,
and if so, how?

Thankful for any idea, hint and link!

---rony

P.S.: Yes, I googled already, but somehow have not been able to get answers 
that would help. One
remark was to the effect to deal with the ElCapitan "No-Tresspassing" tag, 
without explaining what
this was meaning and where to find documentation about it.



--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Question ad MacOSX El Capitan and creating symbolic links in /usr/* ...

2016-03-13 Thread Rony G. Flatscher
Hi Bruce,

you are the best!
:)

Thanks to your findings I got a few ideas to test (copied the quarantined 
/usr/bin and /usr/lib
entries to /usr/local/bin and /usr/local/lib). Can run the ooRexx interpreter 
again. There is a
problem still with dynamic loading the BSF4ooRexx dynalib from Java's 
java.library.path, will have
to check on that. (As it is night over here, I will have to go and analyze this 
further ASAP.

---

However, there might be a little problem with ooRexx' code to locate rexx.cat, 
it seems ooRexx looks
in "/usr/bin" only, judging from the error message: "97 Cannot open REXX 
message catalog rexx.cat.
Not in NLSPATH or /usr/bin". 

In the light of Apple's move (non system binaries and libraries need to go into 
"/usr/local"
starting with 10.11, "El Capitan"), should I open a bug report for ooRexx for 
that particular error
on MacOSX?

---rony



On 13.03.2016 18:38, CVBruce wrote:
> Later it says:
> "Scripting Languages
>
> Developers using Perl, Python, Ruby, or any other scripting languages 
> that ship with OS X, are
> encouraged to manage their own installations of the language and 
> dependencies in /usr/local/.
> When distributing programs written with a scripting language, developers 
> are encouraged to
> bundle the language runtime and any required components into a 
> self-contained binary.”
>
>
> I don’t know that “self-contained binary” is compatible with the architecture 
> of ooRexx.  On the
> other hand, a bundle (which can be many files in a directory structure) may 
> be.
>
> Bruce
>
>> On Mar 13, 2016, at 9:53 AM, Rony G. Flatscher > <mailto:rony.flatsc...@wu.ac.at>> wrote:
>>
>> Not having worked much on Apple lately, I was informed by students who tried 
>> to install ooRexx for
>> MacOSX by installing BSF4ooRexx for MacOSX, that the installation does not 
>> work "all of a sudden"!
>>
>> Exploring this problem a little bit, it turned out that students having 
>> MacOSX prior to "El Capitan"
>> (MacOSX (10.11)) installed have no problems whatsoever. So the culprit seems 
>> to be the latest
>> MacOSX, 10.11.
>>
>> One student reported the same problem using a "pure" ooRexx installation 
>> from Sourceforge!
>>
>> Inspecting my Apple having the latest upgrade and path (MacOSX 10.11.3) 
>> installed it turns out that
>> the previously installed and functioning BSF4ooRexx was rendered useless in 
>> the meantime, the oorexx
>> symbolic links to binaries and libraries (all residing in "/usr/bin", 
>> "/usr/lib" and even
>> "/usr/include") have been moved to some
>> "/Library/SystemMigration/History/Migration-some-UUID-value/QuarantineRoot"!
>>
>> ---
>>
>> As spooky as this seems (an operating system update regarding installed, 
>> working applications as
>> malware somehow, acting such that rendering it useless) the problem needs to 
>> be fixed, if possible
>> at all, ASAP.
>>
>> On either developer list (oorexx and bsf4oorexx) there have been developers 
>> showin up who have had
>> experiences developing on the Apple platform.
>>
>> So the question is, does anyone have any ideas what this causes and what a 
>> possible remedy would be
>> for it? Possibly anyone who might have been able to re-install ooRexx or 
>> BSF4ooRexx on El Capitan,
>> and if so, how?
>>
>> Thankful for any idea, hint and link!
>>
>> ---rony
>>
>> P.S.: Yes, I googled already, but somehow have not been able to get answers 
>> that would help. One
>> remark was to the effect to deal with the ElCapitan "No-Tresspassing" tag, 
>> without explaining what
>> this was meaning and where to find documentation about it.
>>

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785111&iu=/4140___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Question ad MacOSX El Capitan and creating symbolic links in /usr/* ...

2016-03-15 Thread Rony G. Flatscher
Hi Bruce,

On 13.03.2016 20:31, CVBruce wrote:
> Are you able to get around the rexx.cat by coding an NLSPATH in the 
> environment?  So we would need
> PATH, LD_LIBRARY_PATH, and NLSPATH.
If possible I would not want to change too much in the login scripts (I do that 
currently for
CLASSPATH).

>From my manual tests  MacOSX 10.11 resolves /usr/local/bin and /usr/local/lib 
>so PATH does not have
to be changed and LD_LIBRARY_PATH is not needed. Ad NLSPATH: it is not defined 
on MacOSX (and Linux)
by default it seems, at least not via an environment variable. Therefore a 
solution that does
without NLSPATH (which also would need the environment variable LANG be 
defined, which is not
defined on MacOSX) would be preferabel (falling back to /usr/local/bin, if not 
found on NLSPATH).

> As to opening a bug, seems like the right thing to do. 
Will do.

---rony

>
>> On Mar 13, 2016, at 11:13 AM, Rony G. Flatscher > <mailto:rony.flatsc...@wu.ac.at>> wrote:
>>
>> Hi Bruce,
>>
>> you are the best!
>> :)
>>
>> Thanks to your findings I got a few ideas to test (copied the quarantined 
>> /usr/bin and /usr/lib
>> entries to /usr/local/bin and /usr/local/lib). Can run the ooRexx 
>> interpreter again. There is a
>> problem still with dynamic loading the BSF4ooRexx dynalib from Java's 
>> java.library.path, will
>> have to check on that. (As it is night over here, I will have to go and 
>> analyze this further ASAP.
>>
>> ---
>>
>> However, there might be a little problem with ooRexx' code to locate 
>> rexx.cat, it seems ooRexx
>> looks in "/usr/bin" only, judging from the error message: "97 Cannot open 
>> REXX message catalog
>> rexx.cat. Not in NLSPATH or /usr/bin". 
>>
>> In the light of Apple's move (non system binaries and libraries need to go 
>> into "/usr/local"
>> starting with 10.11, "El Capitan"), should I open a bug report for ooRexx 
>> for that particular
>> error on MacOSX?
>>
>> ---rony
>>
>>
>>
>> On 13.03.2016 18:38, CVBruce wrote:
>>> Later it says:
>>> "Scripting Languages
>>>
>>> Developers using Perl, Python, Ruby, or any other scripting languages 
>>> that ship with OS X,
>>> are encouraged to manage their own installations of the language and 
>>> dependencies
>>> in /usr/local/. When distributing programs written with a scripting 
>>> language, developers are
>>> encouraged to bundle the language runtime and any required components 
>>> into a self-contained
>>> binary.”
>>>
>>>
>>> I don’t know that “self-contained binary” is compatible with the 
>>> architecture of ooRexx.  On the
>>> other hand, a bundle (which can be many files in a directory structure) may 
>>> be.
>>>
>>> Bruce
>>>
>>>> On Mar 13, 2016, at 9:53 AM, Rony G. Flatscher >>> <mailto:rony.flatsc...@wu.ac.at>> wrote:
>>>>
>>>> Not having worked much on Apple lately, I was informed by students who 
>>>> tried to install ooRexx for
>>>> MacOSX by installing BSF4ooRexx for MacOSX, that the installation does not 
>>>> work "all of a sudden"!
>>>>
>>>> Exploring this problem a little bit, it turned out that students having 
>>>> MacOSX prior to "El
>>>> Capitan"
>>>> (MacOSX (10.11)) installed have no problems whatsoever. So the culprit 
>>>> seems to be the latest
>>>> MacOSX, 10.11.
>>>>
>>>> One student reported the same problem using a "pure" ooRexx installation 
>>>> from Sourceforge!
>>>>
>>>> Inspecting my Apple having the latest upgrade and path (MacOSX 10.11.3) 
>>>> installed it turns out that
>>>> the previously installed and functioning BSF4ooRexx was rendered useless 
>>>> in the meantime, the
>>>> oorexx
>>>> symbolic links to binaries and libraries (all residing in "/usr/bin", 
>>>> "/usr/lib" and even
>>>> "/usr/include") have been moved to some
>>>> "/Library/SystemMigration/History/Migration-some-UUID-value/QuarantineRoot"!
>>>>
>>>> ---
>>>>
>>>> As spooky as this seems (an operating system update regarding installed, 
>>>> working applications as
>>>> malware somehow, acting such that rendering it useless) the problem needs 
>>>

Re: [Oorexx-devel] Question ad MacOSX El Capitan and creating symbolic links in /usr/* ...

2016-03-15 Thread Rony G. Flatscher
Hi Erico,

On 14.03.2016 19:56, Erico Mendonca wrote:
>> Date: Sun, 13 Mar 2016 12:31:46 -0700
>> From: CVBruce 
>>
>> Are you able to get around the rexx.cat by coding an NLSPATH in the 
>> environment?  So we would need PATH, LD_LIBRARY_PATH, and NLSPATH.
>>
>> As to opening a bug, seems like the right thing to do.
>>
>>> On Mar 13, 2016, at 11:13 AM, Rony G. Flatscher  
>>> wrote:
>>> Hi Bruce,
>>> you are the best!
>>> :)
>>> Thanks to your findings I got a few ideas to test (copied the quarantined 
>>> /usr/bin and /usr/lib entries to /usr/local/bin and /usr/local/lib). Can 
>>> run the ooRexx interpreter again. There is a problem still with dynamic 
>>> loading the BSF4ooRexx dynalib from Java's java.library.path, will have to 
>>> check on that. (As it is night over here, I will have to go and analyze 
>>> this further ASAP.
>>> ---
>>> However, there might be a little problem with ooRexx' code to locate 
>>> rexx.cat, it seems ooRexx looks in "/usr/bin" only, judging from the error 
>>> message: "97 Cannot open REXX message catalog rexx.cat. Not in NLSPATH or 
>>> /usr/bin".
>>> In the light of Apple's move (non system binaries and libraries need to go 
>>> into "/usr/local" starting with 10.11, "El Capitan"), should I open a bug 
>>> report for ooRexx for that particular error on MacOSX?
>>> ---rony
> Hi,
>
> We kinda fixed something like this in our build of ooRexx for SUSE to comply 
> with the Build Services’ guidelines. OBS didn’t like that ooRexx put its 
> classes in /usr/bin, so we created a #define that is used to determine where 
> ooRexx should look for them. They’re now placed in /usr/lib/ooRexx. Perhaps 
> changing this and/or setting the PREFIX to /usr/local should do the trick?
>
> Our patch can be seen here:
> https://build.opensuse.org/package/show/devel:languages:misc/ooRexx

thank you very much for this valuable hint!

Maybe a question or two?

  * "PREFIX=/usr/local" on Linux: do you know whether one can rely that by 
default the major Linux
distirbutions also honor "/usr/local/bin" (PATH; it seems that 
"/usr/local/bin" is defined on
PATH), "/usr/local/sbin", "/usr/local/share", etc.

  * "/usr/local/lib" on Linux: do you know whether this directory is defined by 
default for
resolving shared libraries on major Linux distributions? (MacOSX 10.11 
seems to honor it out of
the box.)
Otherwise, would defining an entry "/usr/local/lib" in "/etc/ld.so.conf" 
and then running
"ldconf" to update the cache at installation time be an acceptable and a 
stable solution in your
opinion?

---

Just a totally unrelated question out of curiosity: the trunk-version of ooRexx 
(a.k.a. "5.0") got
changed to be built with cmake instead of the autoconf tools. Would that be a 
problem for you (or
Perry Werneck for that matter) once an alpha or beta build of it is planned, or 
are you "fluent" in
cmake as well by any chance? :)

---rony

--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Preliminary beta for MacOSX (Re: [Bsf4oorexx-devel] Question ad MacOSX El Capitan and creating symbolic links in /usr/* ...

2016-03-19 Thread Rony G. Flatscher
Hi there,

in the meantime I could create a working beta-copy which allows to install the 
latest (still in
beta) 64-Bit BSF4ooRexx (includes ooRexx) on MacOSX 10.11.

Could not upload it to Sourceforge (leaving for the weekend, so will try next 
week again), hence
here a temporary workaround:

  * get the installation package from 

<http://wi.wu.ac.at/rgf/wu/lehre/autowin/2016sBP1/ooRexx420_WithBSF4ooRexx452.20160315-x86_64-MacOSX-beta.pkg.dmg>
  * Open the dmg file 
http://wi.wu.ac.at:8002/rgf/wu/lehre/autowin/2016sBP1/ooRexx420%5fWithBSF4ooRexx452%2e20160315%2dx86%5f64%2dMacOSX%2dbeta%2epkg%2edmg>>
  * Place your mouse over the single package in the dmg file and *right*-click, 
choose "Open With ->
Installer.app (default)" in order to have that package be installed on your 
system
  * Go through the screens; after you entered your password, there is a stupid 
warning by MacOSX,
that the package would be incompatible (it is not!) and that bad things may 
therefore happen (no
bad things happen). Hence, press "Install Anyway"
  * Confirm any other popup windows that may appear during installation

All my students that have MacOSX 10.11 (El Capitan) were able to install and to 
take advantage of
ooRexx and BSF4ooRexx on the MacOSX-platform, including the portable GUI 
ooRexxTry.rxj.

HTH,

---rony

P.S.: That particular version of BSF4ooRexx includes the jsr-223 implementation 
(javax.script) for
ooRexx (language name 'rexx').


On 13.03.2016 19:13, Rony G. Flatscher wrote:
> Hi Bruce,
>
> you are the best!
> :)
>
> Thanks to your findings I got a few ideas to test (copied the quarantined 
> /usr/bin and /usr/lib
> entries to /usr/local/bin and /usr/local/lib). Can run the ooRexx interpreter 
> again. There is a
> problem still with dynamic loading the BSF4ooRexx dynalib from Java's 
> java.library.path, will have
> to check on that. (As it is night over here, I will have to go and analyze 
> this further ASAP.
>
> ---
>
> However, there might be a little problem with ooRexx' code to locate 
> rexx.cat, it seems ooRexx
> looks in "/usr/bin" only, judging from the error message: "97 Cannot open 
> REXX message catalog
> rexx.cat. Not in NLSPATH or /usr/bin". 
>
> In the light of Apple's move (non system binaries and libraries need to go 
> into "/usr/local"
> starting with 10.11, "El Capitan"), should I open a bug report for ooRexx for 
> that particular
> error on MacOSX?
>
> ---rony
>
>
>
> On 13.03.2016 18:38, CVBruce wrote:
>> Later it says:
>> "Scripting Languages
>>
>> Developers using Perl, Python, Ruby, or any other scripting languages 
>> that ship with OS X,
>> are encouraged to manage their own installations of the language and 
>> dependencies
>> in /usr/local/. When distributing programs written with a scripting 
>> language, developers are
>> encouraged to bundle the language runtime and any required components 
>> into a self-contained
>> binary.”
>>
>>
>> I don’t know that “self-contained binary” is compatible with the 
>> architecture of ooRexx.  On the
>> other hand, a bundle (which can be many files in a directory structure) may 
>> be.
>>
>> Bruce
>>
>>> On Mar 13, 2016, at 9:53 AM, Rony G. Flatscher >> <mailto:rony.flatsc...@wu.ac.at>> wrote:
>>>
>>> Not having worked much on Apple lately, I was informed by students who 
>>> tried to install ooRexx for
>>> MacOSX by installing BSF4ooRexx for MacOSX, that the installation does not 
>>> work "all of a sudden"!
>>>
>>> Exploring this problem a little bit, it turned out that students having 
>>> MacOSX prior to "El Capitan"
>>> (MacOSX (10.11)) installed have no problems whatsoever. So the culprit 
>>> seems to be the latest
>>> MacOSX, 10.11.
>>>
>>> One student reported the same problem using a "pure" ooRexx installation 
>>> from Sourceforge!
>>>
>>> Inspecting my Apple having the latest upgrade and path (MacOSX 10.11.3) 
>>> installed it turns out that
>>> the previously installed and functioning BSF4ooRexx was rendered useless in 
>>> the meantime, the oorexx
>>> symbolic links to binaries and libraries (all residing in "/usr/bin", 
>>> "/usr/lib" and even
>>> "/usr/include") have been moved to some
>>> "/Library/SystemMigration/History/Migration-some-UUID-value/QuarantineRoot"!
>>>
>>> ---
>>>
>>> As spooky as this seems (an operating system u

Re: [Oorexx-devel] Question ad MacOSX El Capitan and creating symbolic links in /usr/* ...

2016-03-19 Thread Rony G. Flatscher
Hi Erico,

thank you very much for your information and insights!


On 15.03.2016 20:06, Erico Mendonca wrote:
... cut ...
>> Maybe a question or two?
>>
>>  * "PREFIX=/usr/local" on Linux: do you know whether one can rely that by 
>> default the major Linux
>>distirbutions also honor "/usr/local/bin" (PATH; it seems that 
>> "/usr/local/bin" is defined on
>>PATH), "/usr/local/sbin", "/usr/local/share", etc.
> Yes, by default /usr/local it is defined in all Linux distros, and is also 
> present in the PATH. Originally in Unix this tree was reserved for “locally 
> compiled binaries”. GNU Autotools-based (automake/autoconf) programs always 
> default to /usr/local.
So this would mean, that it is safe to install ooRexx into /usr/local on all 
major Linux distros
instead of /usr!

>
>>  * "/usr/local/lib" on Linux: do you know whether this directory is defined 
>> by default for
>>resolving shared libraries on major Linux distributions? (MacOSX 10.11 
>> seems to honor it out of
>>the box.)
>>Otherwise, would defining an entry "/usr/local/lib" in "/etc/ld.so.conf" 
>> and then running
>>"ldconf" to update the cache at installation time be an acceptable and a 
>> stable solution in your
>>opinion?
> Yes, /usr/local/lib is defined by default on Linux. However, on 64-bit 
> systems it’ll default to /usr/lib64 and /usr/local/lib64 for 64-bit 
> libraries. /usr/lib and /usr/local/lib are reserved for 32-bit libraries. 
> Usually, on RPM-based systems you can find this definition in 
> /usr/lib/rpm/macros, in a variable called %_libdir. You can see us using it 
> on our SPEC file. RPM takes care of substituting the correct directory.
>
> You can check what your system returns by issuing “rpm —eval ‘%{_libdir}’” .
Wow, thank you very much for this information and insight!!

> As for the ld.so.conf, well that really depends. The most “standard” way 
> would be to name ooRexx’s libraries according to the shared libraries naming 
> convention (see here: 
> http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html), 
Super, thank you!

> where the linker name is set along with a version, and ldconfig takes care of 
> creating the proper symbolic links when installing the package. Currently, 
> ooRexx sends the links “manually” in the package, probably a heritage from 
> the OS/2 days (yes, I’m that old). It works, but if need be, you can create a 
> file under /etc/ld.so.conf.d and set a new arbitrary search path.
Ha, 1987, OS/2 1.0 without Presentation Manager, 16-bit! Me, too... :)


>> Just a totally unrelated question out of curiosity: the trunk-version of 
>> ooRexx (a.k.a. "5.0") got
>> changed to be built with cmake instead of the autoconf tools. Would that be 
>> a problem for you (or
>> Perry Werneck for that matter) once an alpha or beta build of it is planned, 
>> or are you "fluent" in
>> cmake as well by any chance? :)
>>
> Sure, the Open Build Service supports CMAKE, no problem. I dabble in it, but 
> I can learn.. :)
Super, great!

Again, thank you very much for your informative and constructive information!

Best regards,

---rony


--
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785231&iu=/4140
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] "SQL Cookbook" and "Twitter"

2016-04-14 Thread Rony G. Flatscher
Hi there,

lately, I have uploaded two seminar papers of students, one entitled "A SQL 
Cookbook Using
BSF4ooRexx
"
(with code), and one entitled "Twitter - History, Concepts, Nutshell Examples 
with (BSF4)ooRexx
"
to .

As you will see, one is able with ooRexx to easily interface with any SQL 
database and with Twitter
using the external function package "BSF4ooRexx".

---rony



--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] State of 5.0 ?

2016-04-19 Thread Rony G. Flatscher
Hi there,

it seems that currently we have some sort of "chicken-or-egg" problem.

No one feels authorized to kick off the phase of creating alpha- or beta-test 
versions of the
current trunk. Only when attempting to do so, we will see who will volunteer 
for which platform! The
more platforms the better! :)

So I suggest that we start discussing the possible creation of an alpha- or 
beta-test versions of
ooRexx 5.0!

Maybe Rick could let us know whether the current trunk version is feature 
complete from his point of
view or whether there is work still to be done, where we can try to give a 
helping hand?

---rony


On 28.01.2016 14:29, Rony G. Flatscher wrote:
> Wondering what the state of the current trunk, aka ooRexx 5.0, is? Is it 
> feature-complete, such that
> one can think of making ready a beta test version?
>
> What would be necessary to get the ball rolling towards an official release?
>
> ---rony
>
>


--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] State of 5.0 ?

2016-04-21 Thread Rony G. Flatscher
Erich,

thank you for your valuable hints and update!

On 20.04.2016 21:41, Erich Steinböck wrote:
>
> No one feels authorized to kick off the phase of creating alpha- or 
> beta-test versions of the
> current trunk
>
>
> Rony, the current trunk is 5.0
> For Windows there are 5.0 Alpha - builds available at
> https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0alpha/
> Linux 5.0 builds are running on René's build server at 
> http://build.netrexx.org/jenkins/ but no
> build output has yet been made available to the public.
Just went there and it seems one has to enter a userid and password in order to 
get further. Maybe
René does not realize that that site is locked currently?

>
> whether there is work still to be done, where we can try to give a 
> helping hand
>
>
> All 5.0 features should be documented by now - see rexxref5 at
> https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0alpha/
Great, thanks, and many thanks for your great work as well!

> We'll still have to add tests for most of the new 5.0 features (for a list of 
> tests to be done,
> see 
> https://sourceforge.net/projects/oorexx/files/oorexx-docs/5.0.0alpha/ReadMe.txt/download)
Ha, I was not aware of this, great overview and insight, thank you very much!

Maybe some lurkers get an appetite looking through these new features and 
supply tests for them,
thereby learning all the ins and outs of the new features?

> We also have quite a few 5.0-related bugs open
> <https://sourceforge.net/p/oorexx/bugs/search/?q=%21status%3Awont-fix+%26%26+%21status%3Aclosed+%26%26+%21status%3Ainvalid+%26%26+%21status%3Apending>,
> where help would be most appreciated.  Similarly we've got a few open RFE's
> <https://sourceforge.net/p/oorexx/feature-requests/search/?q=%21status%3Awont-fix+%26%26+%21status%3Aclosed+%26%26+%21status%3Arejected>.
Maybe Rick can give a hand?

---

Is there anyone who has created a MacOSX version of 5.0 from trunk? If not, is 
anyone interested in
doing so?

What would have to be achieved with the current code to warrant a beta version 
of it?

---rony


> On Tue, Apr 19, 2016 at 5:43 PM, Rony G. Flatscher  <mailto:rony.flatsc...@wu.ac.at>> wrote:
>
> Hi there,
>
> it seems that currently we have some sort of "chicken-or-egg" problem.
>
> No one feels authorized to kick off the phase of creating alpha- or 
> beta-test versions of the
> current trunk. Only when attempting to do so, we will see who will 
> volunteer for which
> platform! The
> more platforms the better! :)
>
> So I suggest that we start discussing the possible creation of an alpha- 
> or beta-test versions of
> ooRexx 5.0!
>
> Maybe Rick could let us know whether the current trunk version is feature 
> complete from his
> point of
> view or whether there is work still to be done, where we can try to give 
> a helping hand?
>
> ---rony
>
>
> On 28.01.2016 14:29, Rony G. Flatscher wrote:
> > Wondering what the state of the current trunk, aka ooRexx 5.0, is? Is 
> it feature-complete,
> such that
> > one can think of making ready a beta test version?
> >
> > What would be necessary to get the ball rolling towards an official 
> release?
> >
> > ---rony
> >
> >
>

--
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] [Ibm-netrexx] Output your cleaned NetRexx code into many formats and document types

2016-05-13 Thread Rony G. Flatscher

On 12.05.2016 21:09, Jason Martin wrote:
>
> Supports NetRexx, who knew?
>
> http://www.andre-simon.de/doku/highlight/en/highlight.php

Wow, and they claim also "Rexx" and "ooRexx" (hence cc'ing to the ooRexx 
developer list)!

---rony

--
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Output your cleaned NetRexx code into many formats and document types

2016-05-13 Thread Rony G. Flatscher
Lieber Walter,

nein, weiß auch nicht woher die Definitionen stammen, müsstest Mark fragen, wo 
er einen Hinweis
darauf gefunden hat (möglicherweise von vim).

Liebe Grüße

---rony


On 13.05.2016 11:19, Walter Pachl wrote:
> Schon probiert?
>
> -Original Message-
> From: Rony G. Flatscher [mailto:rony.flatsc...@wu.ac.at] 
> Sent: Freitag, 13. Mai 2016 09:14
> To: IBM Netrexx 
> Cc: oorexx-devel@lists.sourceforge.net; RexxLA Members mailing list
> 
> Subject: Re: [Oorexx-devel] [Ibm-netrexx] Output your cleaned NetRexx code
> into many formats and document types
>
>
> On 12.05.2016 21:09, Jason Martin wrote:
>> Supports NetRexx, who knew?
>>
>> http://www.andre-simon.de/doku/highlight/en/highlight.php
> Wow, and they claim also "Rexx" and "ooRexx" (hence cc'ing to the ooRexx
> developer list)!
>
> ---rony
>
> 
> --
> Mobile security can be enabling, not merely restricting. Employees who bring
> their own devices (BYOD) to work are irked by the imposition of MDM
> restrictions. Mobile Device Manager Plus allows you to control only the apps
> on BYO-devices by containerizing them, leaving personal data untouched!
> https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
> ___
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel
>
>
> --
> Mobile security can be enabling, not merely restricting. Employees who
> bring their own devices (BYOD) to work are irked by the imposition of MDM
> restrictions. Mobile Device Manager Plus allows you to control only the
> apps on BYO-devices by containerizing them, leaving personal data untouched!
> https://ad.doubleclick.net/ddm/clk/304595813;131938128;j
> ___
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel

-- 
--
__

Prof. Dr. Rony G. Flatscher
Department Informationsverarbeitung und Prozessmanagement
Institut für Betriebswirtschaftslehre und Wirtschaftsinformatik
D2-C 2.086
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe

http://www.wu.ac.at
__





--
Mobile security can be enabling, not merely restricting. Employees who
bring their own devices (BYOD) to work are irked by the imposition of MDM
restrictions. Mobile Device Manager Plus allows you to control only the
apps on BYO-devices by containerizing them, leaving personal data untouched!
https://ad.doubleclick.net/ddm/clk/304595813;131938128;j___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] New committer

2016-06-27 Thread Rony G. Flatscher
That is a very good idea for a very constructive and competent person for a 
great project!
8-)

---rony

On 26.06.2016 20:50, Jon Wolfers wrote:
> OOOppps,
>
> Rene sent this to the wrong list.  Please feel free to rejoice in Erico here. 
>  Rene, I will
> forward this to the correct list.
>
> Jon
>
> On 26 June 2016 at 19:23, René Jansen  > wrote:
>
> I would like to propose Erico Mendonça as a new committer, due to his 
> great contributions to
> Linux packaging and system-integration.
>
> Here is my +1 for formality.
>
> Best regards,
>
> René.
>

--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Ad Installation on MacOSX (Re: Fwd: fix broke macOS and wheezy

2016-06-30 Thread Rony G. Flatscher
René,

On 30.06.2016 15:19, René Jansen wrote:
... cut ...

> After that, I will look into package build and install. We cannot install 
> into /usr/bin after the
> latest security changes to MacOSX. We should probably choose a new default 
> location, in
> /Application. Any ideas are welcome.
As you may know, I have an Apple compliant installation of ooRexx on MacOSX 
which I have been
installing together with BSF4ooRexx for quite a few years now.

It has been badly bitten by Apple's "ruthless" changes (invalidating BTW all 
scripts that have the
hash-bang line together with the "/usr/bin" path) to its latest operating 
system [I was able to fix
that (still have to switch to a different installer to stop another stupid 
Apple warning frightening
the users without a real need).]

To make a long story short, if you look at the BSF4ooRexx sources, you will 
find the Iceberg
installer definitions in 
"gui_installers\mac\Iceberg\ooRexx32withBSF4ooRexx.packproj" and
"ooRexx32withBSF4ooRexx.packproj\ooRexx64withBSF4ooRexx.packproj". There is a
readme-create-installer.txt in "gui_installers\mac\Iceberg\".

You will see how the Application and Framework directories have been used for 
ooRexx (and BSF4ooRexx).

However, there is still the need to link from the appropriate Application and 
Framework
subdirectories  into "/usr/local/bin", "/usr/local/lib" and 
"/usr/local/share/man/man1", such that
ooRexx and BSF4ooRexx can be executed. [The Apple deployment rules would allow 
for installing
different versions of ooRexx and/or BSF4ooRexx where the user can switch among 
those version quite
easily.]

To see how this is done, just look at the post- and preflight scripts for 
ooRexx, BSF4ooRexx or
AOO-support in "gui_installers\mac\Iceberg\installation\scripts".

If I can be of further help, please let me know.

HTH,

---rony


>
>> On 30 jun. 2016, at 14:12, Erich Steinböck > > wrote:
>>
>> I checked in a fix for macOS - to have it build again. 
>> It needs revisiting but it works for now. See if it stands up to scrutiny. 
>> The thing that is wrong with it is that it is not really nanotime, 
>> I don't think we really need nano resolution, using gettimeofday() should be 
>> fine, this is what
>> we're using in TimeSupport.hpp also.
>>
>> I will replace it if I find something better.
>> I suggest we switch to gettimeofday() for all architectures, not just for 
>> Mac.  If there are no
>> objections, I'd commit the following patch:

--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Running ooRexx without superuser power ... (Re: ooRexxUnit return codes

2016-07-02 Thread Rony G. Flatscher
Changed the subject to reflect this thread of discussion.

The desire of many: allow ooRexx to be run off an USB stick to show 
off/demonstrate ooRexx to others
and/or have a great tool on ones hands to bring along when checking out 
problematic computers or
helping collegues and friends.

Currently this is not possible on computers, where the user has no superuser 
power over the
computer, which is a great pity. This scenario is quite usual, when computers 
are deployed in
business environments, where root/superuser power is reserved for the 
installation, maintenance
teams and the like.

The reason for this restriction seems to be how rxapi gets started and used.

So maybe a few questions therefore about rxapi:

  * What is the rationale of allowing only one rxapi running per computer?
  * What is the rationale to allow to install it with root/superuser rights 
only?
  * Would it be theoretically possible to run separate instances of rxapi for 
different user
sessions (one per session) by default, one may be a root/superuser/daemon 
session?

Ad port number: even though there is a reserved port for ooRexx, this does not 
guarantee that it
would be available at all on any computer. So in the case of a port clash (port 
already in use by a
different program at rxapi startup) communicating the rxapi port to Rexx 
clients needs to be done
one way or the other.

Ad users killing rxapi and thereby affecting running ooRexx programs in 
multiuser environments: this
would be possible for sudo users at all times and doing it is even mandatory 
for upgrading ooRexx
currently. (In a normal use case of ooRexx programs, users would not even know 
about rxapi so would
not know to kill it.)

---rony

P.S.: Even if this is not tackled for 5.0, it would help deciding changes for 
the future, if more
information was available about the rationales behind rxapi. It for sure would 
help spreading the
word about ooRexx by demonstration of its capabilities tremendeously.


On 01.07.2016 16:57, René Jansen wrote:
> Hi Erich,
>
> I’ll work on trying to get these packages available, at least the ones that 
> Erico does not provide.
>
> Yes, we should not change anything for this release. I entirely agree. Still, 
> I am not convinced
> that ooRexx needs a designated port at all; much less a deamon process 
> running as root. But we
> will study and discuss in due time.
>
> I’ll try to fix the Z installation. Did not know about the rexx.cat bug.  
> Indeed, file rexx.cat
> now reports: 
> rexx.cat: Nazgul style compiled message catalog, version 1
>
> instead as data what it used to do.
>
> best regards,
>
> René.
>
>
>> On 1 jul. 2016, at 16:45, Erich Steinböck > > wrote:
>>
>> afaik that is done with cpack and documented in Cmake-build-readme.txt
>> Thanks for the pointer.  These package files are exactly what we should make 
>> available to our
>> users for beta-testing
>>
>> I do not know the cross-process requirements of rxapi
>> rxapi listens on port 10010.  It is a system-wide demon - there can only be 
>> one demon listening
>> on port 10010.  10010 is the official port for ooRexx,
>> see 
>> https://en.m.wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Well-known_ports
>>
>> how could we localize that, possibly running over different port numbers or 
>> just
>> sockets/pipes localized to the user
>> I cannot imagine anyone doing a change of this magnitude - we really should 
>> push for beta and
>> then release
>>
>> I also looked at the Z build - could you tell me why this is related to 
>> running from the build dir?
>> the test is running off build/bin, but the rexx.cat it sees, is from an 
>> older "make install"
>> version.  We had a bug concerning how rexx.cat was being built, that I just 
>> recently fixed -
>> that's why the two versions are different and that's why a few tests fail, 
>> which check for exact
>> message texts
>> There may be other things that are being picked up from an installed rexx 
>> when running from
>> build/bin, but I haven't checked that
>>
>> Erich

--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Running ooRexx without superuser power ... (Re: ooRexxUnit return codes

2016-07-03 Thread Rony G. Flatscher
gned ports page to include port 10010 TCP  
for rxapi.

http://en.wikipedia.org/wiki/Port_numbers

Next question about rxapi.  are there any command line arguments?   
Does rxapi log any messages and if so how and where?

Thanks,

Bruce

  *  Forwarded Message 
Subject:[Oorexx-devel] [Fwd: [IANA #253037] Application for 
port-number: rxapi (Assigned-10010)]
Date:   Fri, 24 Jul 2009 16:40:49 -0500
From:   David Ashley 
Reply-To:   Open Object Rexx Developer Mailing List 

To: ooRexxDevel 



All -

We have our port for rxapi (see attached).

Note: We can use this port with impunity but it does not mean that others 
may use it as well.
When that happens we need to politely point out that the port is assigned 
by IANA to the rxapi
application and request that they choose another port.

David Ashley
ooRexx Team
... cut ...
  *

On Mon, Dec 6, 2010 at 11:48 AM, Mark Miesfeld  wrote:

> On Mon, Dec 6, 2010 at 7:36 AM, Rick McGuire  
> wrote:
>> On Mon, Dec 6, 2010 at 10:27 AM, David Ashley
>>  wrote:
>>> I would like to start a discussion on how we can improve the source 
>>> code for
>>> ...
>>> 1. Using the nobody userid on AIX.
>>> 2. AIX specific struct defines.
>>> 3. Running as a disconnected daemon on Mac and AIX.
>>> 4. SIGTERM issues on AIX.
>> Not sure I understand what either 2. or 4. are referring to.
> >From APIService.cpp:
>
> #ifdef ENABLE_AIX_SRC
>struct stat st;
> #endif
> #ifdef ENABLE_SIGTERM
>struct sigaction sa;
> #endif
>
>> First of all, I think the discussion should first revolve around
>> developing a real understanding of what really needs to be done to get
>> a working rxapi for all of these environments.
> That seems reasonable.
>
> Right now, if you look at main() in the Unix version of
> APIService.cpp, there are so many #ifdefs, it is difficult to
> understand what the code is doing.
>
> When Rick first refactored the code for 4.0.0 and removed all that
> junky conditional compilation, it showed that there was a clean way of
> doing multi-platform that didn't use difficult to follow code.
>
> As I remember, one of the tasks for 4.0.0 was stated something like
> remove system-specific conditional compiles.  I would like to just
> have as a general principle to use the least possible amount of
> conditional compiles.  Looking at main() in APIService.cpp, it seems
> there has to be a way to do it with less conditional compiles.
>
>> requirements are understood fully, and we perhaps have some prototype
>> code changes that demonstrate that these requirements are fully
>> understood, then we can take a step back and address how this can be
> We need Rainer and Bruce to provide the prototype code.  All the
> current conditional compile code was introduced by Rainer I think.  I
> thought at the time, that if AIX is really so different, it would be
> better to go down a separate path #if AIX.  Maybe Rainer could do that
> to provide some prototype code.
>
> =
>
> Related to this, but sort of separate to what David brought up are two
> things.  Maybe we could discuss them in parallel here.  They both are
> related to doing a user specific install rather than a system-wide
> install.
>
> 1.) Is there a way to not write the PID file to an area that only root
> has access to?  A way so that a user without root privileges can start
> up rxapi?
>
> 2.) On a multi-user system, with a user specific install, there would
> need to be a way to have rxapi listen on different ports. Is there way
> to cleanly do this?   So that Sue can run ooRexx with rxapi listening
> on port 10015 and  Tom can run ooRexx with rxapi listening on 10016?

Not sure this is really needed.  The rxapi daemon maintains all of its
tables on a userid basis.  Each user already has its own set of queues
and registration tables.  There's just the single process active with
only a single listener port, but it supports multiple isolated users.

Rick

--
Mark Miesfeld

Copied from my mailbox, so unfortunately no direkt links to the sourceforge 
mail archive. If
interested in further discussions, then point your browser to the developer's 
mail archive at:
<https://sourceforge.net/p/oorexx/mailman/oorexx-devel/>. On the upper left 
hand side there is a
search field that you could use to fetch the appropriate mailing threads.

---rony




On 02.07.2016 17:44, Rony G. Flatscher wrote:
>

Re: [Oorexx-devel] Running ooRexx without superuser power ... (Re: ooRexxUnit return codes

2016-07-06 Thread Rony G. Flatscher
Rick,

thank you very much for your answers and insights!

---rony


On 05.07.2016 23:04, Rick McGuire wrote:
>
>
> On Sat, Jul 2, 2016 at 11:44 AM, Rony G. Flatscher  <mailto:rony.flatsc...@wu.ac.at>> wrote:
>
> Changed the subject to reflect this thread of discussion.
>
> The desire of many: allow ooRexx to be run off an USB stick to show 
> off/demonstrate ooRexx to
> others and/or have a great tool on ones hands to bring along when 
> checking out problematic
> computers or helping collegues and friends.
>
> Currently this is not possible on computers, where the user has no 
> superuser power over the
> computer, which is a great pity. This scenario is quite usual, when 
> computers are deployed in
> business environments, where root/superuser power is reserved for the 
> installation,
> maintenance teams and the like.
>
> The reason for this restriction seems to be how rxapi gets started and 
> used.
>
> So maybe a few questions therefore about rxapi:
>
>   * What is the rationale of allowing only one rxapi running per computer?
>
> This is largely a throw back to how the original OS/2 version, but there are 
> other limitations
> that could make it difficult design (see below).  
>
>  *
>
>
>   * What is the rationale to allow to install it with root/superuser 
> rights only?
>
> David Ashley did all of that work, but my understanding is it was driven by 
> linux conventions for
> daemons that are launched at system boot. The rxapi server is quite capable 
> of being launched on
> demand, but it is still limited to one instance per system. 
>
>  *
>
>
>   * Would it be theoretically possible to run separate instances of rxapi 
> for different user
> sessions (one per session) by default, one may be a 
> root/superuser/daemon session?
>
> The current design uses a classic tcp client/server architecture for handling 
> requests. The server
> listens on a known port and each new process where Rexx is running 
> establishes a connection to the
> server using the defined port. The server spins of a thread to service each 
> connection and all
> messages between the client and server are sent on that connection. I don't 
> know of any way using
> tcp for a different listener port to be used for each user and for the 
> clients run by that user to
> discover the port used by its server. 
>
> There may be other possible ipc mechanisms that could be used, but I'm not 
> aware of them. 
>
> Rick
>  
>
>  *
>
>
> Ad port number: even though there is a reserved port for ooRexx, this 
> does not guarantee that
> it would be available at all on any computer. So in the case of a port 
> clash (port already in
> use by a different program at rxapi startup) communicating the rxapi port 
> to Rexx clients
> needs to be done one way or the other.
>
> Ad users killing rxapi and thereby affecting running ooRexx programs in 
> multiuser
> environments: this would be possible for sudo users at all times and 
> doing it is even
> mandatory for upgrading ooRexx currently. (In a normal use case of ooRexx 
> programs, users
> would not even know about rxapi so would not know to kill it.)
>
> ---rony
>
> P.S.: Even if this is not tackled for 5.0, it would help deciding changes 
> for the future, if
> more information was available about the rationales behind rxapi. It for 
> sure would help
> spreading the word about ooRexx by demonstration of its capabilities 
> tremendeously.
>
>
> On 01.07.2016 16:57, René Jansen wrote:
>> Hi Erich,
>>
>> I’ll work on trying to get these packages available, at least the ones 
>> that Erico does not
>> provide.
>>
>> Yes, we should not change anything for this release. I entirely agree. 
>> Still, I am not
>> convinced that ooRexx needs a designated port at all; much less a deamon 
>> process running as
>> root. But we will study and discuss in due time.
>>
>> I’ll try to fix the Z installation. Did not know about the rexx.cat 
>> <http://rexx.cat> bug. 
>> Indeed, file rexx.cat <http://rexx.cat> now reports: 
>> rexx.cat <http://rexx.cat>: Nazgul style compiled message catalog, 
>> version 1
>>
>> instead as data what it used to do.
>>
>> best regards,
>>
>> René.
>>
>>
>>> On 1 jul. 2016, at 16:45, Erich Steinböck >> <mailto:erich.steinbo...@gmail.com>> wrote:
>>>
>>> afaik that

[Oorexx-devel] Using a dynamically assigned port number (Re: Running ooRexx without superuser power ... (Re: ooRexxUnit return codes

2016-07-06 Thread Rony G. Flatscher

On 05.07.2016 22:43, CVBruce wrote:
> Although this gets around the pid file problem, it doesn’t get around the 
> port problem, you can still only run one rxapi process per computer.  For 
> example you can’t run both 32bit and 64bit rxapi concurrently on the same 
> box, even if your have different pid files.  You can’t run ooRexx V4.2 and 
> V5.0 concurrently on the same computer.
>
> Moving the PID file will only allow one user to run ooRexx in a shared 
> environment.

Is it the case that only the registered port number 10010 gets used? What 
happens, if it cannot be
used, because another process uses it already at the time rxapi starts up?

---

I always have thought that there is a fallback solution in asking the operating 
system to supply a
free port (if the ooRexx assigned port was in use and hence opening it would 
fail) by requesting the
port number 0 (then the system assigns a free port instead, which can be 
retrieved from the returned
socket) and then "somehow" communicating it to the clients.

Knowing the PID of the rxapi process would allow identify the port that process 
has opened and its
state. On the commandline you could do something like:

  * get the PID number from the PID file (e.g. "cat ooRexx.pid")
  * get the tcp port opened from the process with the found PID number (e.g. 
"netstat -ano | grep
PID-number" or something like that) and analyze the result for the port

So in the case that we have a rxapi daemon running (probably using the official 
ooRexx port) it
should still be possible to run local instances of rxapi if they use different 
ports, once a
fallback solution was agreed upon.

How about creating an "ooRexx.port" text file in the same place where the 
"ooRexx.pid" file gets
created and stored?

---rony


>
>> On Jul 5, 2016, at 10:39 AM, Michael Lueck  
>> wrote:
>>
>> Greetings Chip,
>>
>> Chip Davis wrote:
>>> Would you care to describe your magic incantation?
>>
>>
>> Most of the documentation is in that RFE...
>>
>>
>> "#542 Support non-root interpreter installation and execution on Unix-like 
>> systems"
>> https://sourceforge.net/p/oorexx/feature-requests/542/
>>
>>
>> Specifically changing on of the ooRexx source files:
>>
>> rexxapi\server\platform\unix\APIService.cpp
>>
>> // For testing purposes comment out the following line to force RXAPI to
>> // run as a foreground process.
>> #undef RUN_AS_DAEMON
>>
>> #ifdef RUN_AS_DAEMON
>> #define OOREXX_PIDFILE "/var/run/ooRexx.pid"
>> bool run_as_daemon = true;
>> #else
>> #define OOREXX_PIDFILE 
>> "/kunden/homepages/35/d157794216/htdocs/opt/oorexx/var/run/ooRexx.pid"
>> bool run_as_daemon = true;
>> #endif
>>
>>
>> Then building and installing from the patched source.
>>
>> My organization standard was to in my home directory build an opt/ 
>> directory, then package names as the next level... and to consider that 
>> directory as the virtual root. Thus .../var/run/ right where
>> ooRexx wanted to place its PID file in the first place.
>>
>> I am thankful,
>>
>> --
>> Michael Lueck
>> Lueck Data Systems
>> http://www.lueckdatasystems.com/

--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] About adding JSON-support for ooRexx 5.0

2016-07-08 Thread Rony G. Flatscher
In the past years the JSON encoding has become dominant, not only in the 
context of web
applications, but as a general encoding scheme for exchanging (structural) data 
via text encodings.
Its definition is quite simple compared to XML DTD/XSD and "laymen" are able to 
grasp the data
encoded in JSON and their structure immediately.

A few years ago Brandon Cherry had an ooRexx class to parse and generate JSON 
encoded text files. It
can be located e.g. at . (If I am not mistaken 
Brandon Cherry used
to have a sandbox directory in the oorexx project with that ooRexx package, but 
it seems to have gone.)

Given the ubiquitousness of JSON text encodings in modern programs it would be 
quite important/a
real boon, if ooRexx 5.0 had this class available. (Very much like the methods 
"encodeBase64" and
"decodeBase64" that got added to the .String class to make it easy for ooRexx 
programmers to handle
that prominent and popular encoding scheme.)

---rony


--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] About adding JSON-support for ooRexx 5.0

2016-07-11 Thread Rony G. Flatscher
Hi Brandon,

On 08.07.2016 17:14, Brandon Cherry wrote:
> I am actually surprised that no one else came up with something better. I 
> just wanted something
> quick for the web work I was doing at the time.
It seems you have hit the nail right on the head and it seems that it has been 
a good solution
already! Do you happen to know whether there are new encodings that have been 
added to JSON since
you wrote that class?

>
> I have no problem with adding it to the project, but keep in mind I 
> originally wrote it to work
> against ooRexx 3.1 (that was what was on our oldest web server at the time).
So does this mean, that the ooRexx needed CPL license is granted, such that 
your class could be
added to the ooRexx project?

---rony


> 
> *From: *"Erich Steinböck" 
> *To: *"Open Object Rexx Developer Mailing List" 
> 
> *Sent: *Friday, July 8, 2016 10:22:03 AM
> *Subject: *Re: [Oorexx-devel] About adding JSON-support for ooRexx 5.0
>
> I have opened enhancement request #625 Add json class to ooRexx Distribution
>  some time ago.
>
> I assume that a first step would be to get the original author's written 
> confirmation to grant
> json.cls to the ooRexx project to be released under the CPL we're using.

--
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] About adding JSON-support for ooRexx 5.0

2016-07-12 Thread Rony G. Flatscher
Hi Brandon,

On 11.07.2016 19:19, Brandon Cherry wrote:
> I think I still have commit rights, but it has been awhile. I can update the 
> copyright and drop
> the files where ever you might want. If I lost commit rights, I can also send 
> it to whomever you
> deem necessary. You can take this as my permission.
Thanks!

You should be able to test whether you have still commit rights by 
(re-)creating a sandbox entry and
place the program there with the license, which then could be picked up there 
(also via the
Sourceforge interface).

> I guess it should be noted that there are a couple of things I did not know 
> how best to address.
>
> - No Unicode support
>
> ooRexx did not support Unicode, so I figured that this was not a big deal. I 
> will admit I have not
> been keeping up with the status of the project lately, so I do not know if 
> this has already been
> addressed.
No, not yet.

For the time being I have been using BSF4ooRexx as this allows one to use Java 
and the Java-Unicode
support, including .

>
> - .True and .False are not really types in ooRexx
>
> Boolean values in JSON do not translate very well to ooRexx. I remember if 
> you run a boolean value
> through both sides of this code, it would turn the boolean into an integer. I 
> even posted a
> question on the list about this and Rick said that there was a way in 3.2 to 
> tell the difference
> between .True and 1. I was running on 3.1, so I could not use his solution. 
> If there is a better
> way in newer releases, it might be nice to update this part.
Hmm, in ooRexx .true is always "1" (= Rexx) and .false "0" (= Rexx). As a 
dynamically typed language
[oo]Rexx has no explicit Boolean type but mandates logical (Boolean) values to 
be "0" or "1". The
datatype()-built-in-function (BIF) has the argument "Logical" for testing 
whether a value is of type
"logical" or not.

As long as JSON "true" and "false" values get translated to "1" and "0" 
everything is fine.

Going the other route, from ooRexx to JSON, it would be interesting to learn, 
whether it might make
a difference whether ooRexx passes "0" and "1" on as numbers. If makes a 
difference, then a solution
would be necessary for that particular problem (which could be as simple as 
expecting from the
ooRexx programmers to supply "true" and "false" as explicit values in the case 
that a JSON structure
must supply these strings as Boolean values).


> It has been awhile since I wrote this, but I do remember these two issues.
>
> One more issue that might be a problem is that this routine is recursive. The 
> call stack might be
> a problem if you get too many children, but I remember testing this and for 
> what I was doing it
> was fine. One might want to rewrite it not to use recursion to prevent fix 
> this. I even thought
> about doing this on the side. It did not seem like I got much feed back, so I 
> decided it was not
> worth spending a whole lot of time on something only me and three other guys 
> in the world used.
Hmm, usually recursive structures are never really very deep when exchanging 
data, so I would doubt,
that this might turn into a practical problem. (With todays hardware I 
personally prefer legibility
of code over maximum efficiency for bread and butter problems.)

---rony



>
> 
> *From: *"Rony G. Flatscher" 
> *To: *oorexx-devel@lists.sourceforge.net
> *Sent: *Monday, July 11, 2016 6:32:19 AM
> *Subject: *Re: [Oorexx-devel] About adding JSON-support for ooRexx 5.0
>
> Hi Brandon,
>
> On 08.07.2016 17:14, Brandon Cherry wrote:
>
> I am actually surprised that no one else came up with something better. I 
> just wanted
> something quick for the web work I was doing at the time.
>
> It seems you have hit the nail right on the head and it seems that it has 
> been a good solution
> already! Do you happen to know whether there are new encodings that have been 
> added to JSON since
> you wrote that class?
>
>
> I have no problem with adding it to the project, but keep in mind I 
> originally wrote it to
> work against ooRexx 3.1 (that was what was on our oldest web server at 
> the time).
>
> So does this mean, that the ooRexx needed CPL license is granted, such that 
> your class could be
> added to the ooRexx project?
>
> ---rony
>
>
> 
> 
> *From: *"Erich Steinböck" 
> *To: *"Open Object Rexx Developer Mailing List" 
> 
> *Sen

[Oorexx-devel] Anomaly in .Array's toString()-method, any comments

2016-07-16 Thread Rony G. Flatscher
While creating debug statements that should show the contents of argument 
arrays I stumbled over the
following behaviour:

F:\tmp\>rexxtry
REXX-ooRexx_4.2.0(MT)_32-bit 6.04 22 Feb 2014
  rexxtry.rex lets you interactively try REXX statements.
Each string is executed when you hit Enter.
Enter 'call tell' for a description of the features.
  Go on - try a few...Enter 'exit' to end.

a=.array~of(.object~new,.object~new);say a; say "a~makeString:" 
a~makestring; say "a~toString:" a~toString("l",',')
an Array
a~makeString:
*a~toString: ,*
  ... rexxtry.rex on WindowsNT
a=.array~of("abc","def");say a; say "a~makeString:" a~makestring; say 
"a~toString:" a~toString("l",',')
an Array
a~makeString: abc def
*a~toString: abc,def*
  ... rexxtry.rex on WindowsNT
a=.array~of(.object~new,"def");say a; say "a~makeString:" a~makestring; say 
"a~toString:" a~toString("l",',')
an Array
a~makeString: def
*a~toString: ,def*
  ... rexxtry.rex on WindowsNT

In ooRexx 4.2.0 it seems that when creating the string from the content of an 
array using the
.array's toString() method the required string value of non-string objects is 
not requested. As a
(somewhat misleading) result non-string entries in the array are not 
displayed/shown, as if they did
not exist. This looks like a bug, given, that the documentation (also 5.0.0) 
does not point out that
surprising behaviour.

Before filing a bug in the tracker I would like to know, what the desired 
behaviour should be. Or
with other words, is this a bug or a shortcome in the documenation of the 
toString method in the
.array class?

Any comments?

---rony
--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Anomaly in .Array's toString()-method, any comments

2016-07-16 Thread Rony G. Flatscher
On 16.07.2016 16:14, Rick McGuire wrote:
>
>
> On Sat, Jul 16, 2016 at 9:53 AM, Rony G. Flatscher  <mailto:rony.flatsc...@wu.ac.at>> wrote:
>
> While creating debug statements that should show the contents of argument 
> arrays I stumbled
> over the following behaviour:
>
> F:\tmp\>rexxtry
> REXX-ooRexx_4.2.0(MT)_32-bit 6.04 22 Feb 2014
>   rexxtry.rex lets you interactively try REXX statements.
> Each string is executed when you hit Enter.
> Enter 'call tell' for a description of the features.
>   Go on - try a few...Enter 'exit' to end.
>
> a=.array~of(.object~new,.object~new);say a; say "a~makeString:" 
> a~makestring; say "a~toString:" a~toString("l",',')
> an Array
> a~makeString:
> *a~toString: ,*
>   ... rexxtry.rex on WindowsNT
> a=.array~of("abc","def");say a; say "a~makeString:" a~makestring; say 
> "a~toString:" a~toString("l",',')
> an Array
> a~makeString: abc def
> *a~toString: abc,def*
>   ... rexxtry.rex on WindowsNT
> a=.array~of(.object~new,"def");say a; say "a~makeString:" 
> a~makestring; say "a~toString:" a~toString("l",',')
> an Array
> a~makeString: def
> *a~toString: ,def*
>   ... rexxtry.rex on WindowsNT
>
> In ooRexx 4.2.0 it seems that when creating the string from the content 
> of an array using the
> .array's toString() method the required string value of non-string 
> objects is not requested.
> As a (somewhat misleading) result non-string entries in the array are not 
> displayed/shown, as
> if they did not exist. This looks like a bug, given, that the 
> documentation (also 5.0.0) does
> not point out that surprising behaviour.
>
> Before filing a bug in the tracker I would like to know, what the desired 
> behaviour should be.
> Or with other words, is this a bug or a shortcome in the documenation of 
> the toString method
> in the .array class?
>
>
> This is the desired behavior and is a bit of a compromise to get around a 
> problem with the
> original makestring method that would crash the interpreter. The problem 
> could be demonstrated in
> just a couple lines of code (and I encountered this myself in real life!). 
>
>   a = .array~new 
>   a[1] = a 
>   say a
>
> This caused an endless recursion that would eventually cause a stack 
> exception. Since anything
> other than a string object has the potential create a recursion loop, 
> non=strings are just
> replaced with null values.

Rick, thank you very much for this explanation!

As currently an empty string is used for non-string-objects, the current 
implementation of Array's
toString/makeString might be a little bit misleading in cases where there is a 
single one non-string
entry in the array (that was the origin of my research into this corner) as the 
toString/makeString
method appear to create a string object that is an empty string as if the array 
was empty.

These recursion problems w.r.t. to creating a string from any non-string object 
there is, could be
bypassed, if one would use the object's objectName instead of the empty string 
in this particular
toString/makeString method. It would not cause a recursion but rather "an 
array" in your demo. It
also would indicate to the programmer that the array is not empty, but contains 
non-string objects.

Would that idea to use the result of .Object's "objectname" method as the 
string value in the case
of an .array object be acceptable, or would there be other inacceptable 
side-effects?

Coming up with an experimental "testarray" that would do that seems to work. 
Here is the class
definition with sample code using it:

str='a=.testArray~of(.object~new,.object~new)' say ".TESTARRAY code:" 
pp(str) interpret str call
dump a str='a=.array ~of(.object~new,.object~new)' say ".ARRAY code:" 
pp(str) interpret str call
dump a say say "==" str='a=.testArray~of("abc","def")' say 
".TESTARRAY code:"
pp(str) interpret str call dump a str='a=.array ~of("abc","def")' say 
".ARRAY code:" pp(str)
interpret str call dump a say say "==" 
str='a=.testArray~of(.object~new,"def")' say
".TESTARRAY code:&qu

Re: [Oorexx-devel] Anomaly in .Array's toString()-method, any comments

2016-07-17 Thread Rony G. Flatscher
When testing ooRexx 5.0.0 I discovered, that .array's toString/makeString 
method is using the
objectname for non-string entries, so this problem has been already solved with 
ooRexx 5.0.0.

---rony

P.S.: There would be one possible improvement in the 5.0 code for .Array's 
toString method: if an
array element is of type .mutableBuffer, then place its string value instead of 
its objectname into
the resulting stream, something like this:

::method toString -- rgf, 2016-07-17: make non-string objects visible and 
distinguishable use
arg option="L", separator=.endOfLine .argUtil~validateClass("option", 
option, .string)
opt=option~left(1)~upper -- get option (first character) if pos(opt,"CL")=0 
then -- wrong option
? raise syntax 93.915 array ("CL", option) if opt="C" then do if arg()>1 
then -- wrong number of
arguments for char option ? raise syntax 93.902 array (1) end else if 
arg()>2 then -- wrong
number of arguments for line option ? raise syntax 93.902 array (2)
.argUtil~validateClass("separator", separator, .string) 
mb=.mutableBuffer~new -- collect string
values do i over self if opt="L", mb~length>0 then mb~append(separator) -- 
line oriented if
i~isA(.string) then mb~append(i) -- append string *else if 
i~isA(.mutableBuffer)
thenmb~append(i~string) -- append the string value* else -- append 
objectName
mb~append(i~objectName) end return mb~string -- return the string value

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Question ad carrying out comparisons in expressions ...

2016-07-17 Thread Rony G. Flatscher
Hi there,

while experimenting with a class (JSON_Boolean) that inherits the class 
"Orderable" and implements
the abstract method "compareTo" and a "makestring" method to yield "0" for 
.false and "1" for .true,
I have run into a problem that may be obvious to others, but currently I am 
stuck: it seems that
relational comparisons only cause the "compareTo"-method to be invoked, if both 
operands are
instances of .JSON_Boolean!

So far I thought that a relational comparison like "(a=b)" would cause a 
message like "(a~'='(b))"
to be carried out by the interpreter which in the case of inheriting from 
"Orderable" would
ultimately cause the "compareTo"-method of "a" to be invoked in its "=" method 
supplying "b" as the
argument "other".

Therefore I would expect that the "compareTo"-method gets invoked via 
"Orderable" if the left hand
side of the comparison is an object of type .JSON_Boolean. However, this is not 
the case!

Here is a small snippet of a program and the values the comparisons generate 
going as line comments
in the appropriate statements:

vtrue =.json_boolean~new(.true)  say "vtrue=1:" (vtrue=1) -- yields: 0 
(vtrue~compareTo() NOT
invoked! expecting to yield 1 !) say "1=vtrue:" (1=vtrue) -- yields: 1 
(invoked
vtrue~makeString()) say "vtrue=vtrue:" (vtrue=vtrue) -- yields: 1 
(vtrue~compareTo() got
invoked) ... cut ...

What surprises me is that the expression "(vtrue=1)" does not cause a message 
like "vtrue~'='(1)" to
be carried out which then would carry out a message like "vtrue~compareTo(1)" 
in Orderable's "=" method!

If both operands are of type JSON_Boolean, then - and only then - is 
JSON_Boolean's
"compareTo"-method triggered.

The (shortened) program used for these tests is enclosed, followed by the 
output running it on
ooRexx 4.2.0 and ooRexx 5.0.0alpha.

Maybe I am overlooking something obvious, hence asking whether my assumptions 
are correct and if
not, what the exact rules are?

---rony

P.S.: Test program and the output of running the program on 32-bit ooRexx 4.2.0 
and 5.0.0alpha.

"test.rex":

parse version v say "***" v "***" vtrue =.json_boolean~new(.true) say 
"vtrue ="vtrue say "---"
-- as JSON_Boolean inherits Orderable and implements a compareTo-method, 
shouldn't that be
invoked? say "vtrue=1:" */(vtrue=1)/* say "1=vtrue:" */(1=vtrue)/* say 
"---" say "vtrue=vtrue:"
/*(vtrue=vtrue*//*)*/ *::class "JSON_Boolean" public inherit /orderable/* 
::attribute value get
-- getter method ::attribute value set -- setter method, accpeting ooRexx 
logical values in a
relaxed, JSON related form expose value use strict arg val -- test whether 
a value was supplied
that we accept as a boolean value, i.e. one of "0", "1" or -- one of a 
caseless "true", ".true",
"false" or ".false" if "0 1 true false .true .false"~caselessWordPos(val)=0 
then raise syntax
88.900 array ("Argument must be one of '0', 'false', '.false', '1', 'true' 
or '.true', found:"
val) value=("0 false .false"~caselessWordPos(val)=0) -- .true, if no false 
values supplied
::method init use strict arg val self~value=val -- determine and assign 
boolean value using the
defined attribute setter method */::method compareTo/* -- implementation 
for .orderable class:
must return -1 if other greater, 0 if same, 1 otherwise expose value use 
strict arg other --
other must be a Boolean value .traceOutput~say("//"
self~objectname"@"self~identityHash"::compareTo() 
other~objectname="other~objectName) if
other~isA(.JSON_Boolean) then otherValue=other~value else 
otherValue=other~request("string") --
request the string value if otherValue=.nil then raise syntax 88.900 array 
("Argument other
["other"] has no 'MAKESTRING' method") .traceOutput~say("\\"
self~objectname"@"self~identityHash"::compareTo() otherValue="otherValue 
"self~value:" value) if
otherValue > value then return -1 if otherValue = value then return 0 
return 1 */::method
makestring/* -- allow instances of this class to be plug in replacement for 
ooRexx logical
values expose value 
.traceOutput~say(self~objectname"@"self~identityHash"::MAKEstring,
value="value) return value

Output of running "test.rex" on ooRexx 4.2.0:

G:\test\oorexx\json>rexx test.rex *** */REXX-ooRexx_4.2.0(MT)_32-bit 6.04 
22 Feb 2014/* *** a
JSON_Boolean@264727158::MAKEstring, value=1 vtrue =1 --- vtrue=1: 0 a
JSON_Boolean@264727158::MAKEstring, value=1 1=vtrue: 1 --- // a
JSON_Boolean@264727158::compareTo() other~objectname=a JSON_Boolean \\ a
JSON_Boolean@264727158::compareTo() otherValue=1 self~value: 1 vtrue=vtrue: 
1

Output of running "test.rex" on the latest ooRexx 5.0.0:

F:\download\Rexx\ooRexx\alpha500\work\bin_small>rexx 
g:\test\oorexx\json\test.rex ***
*/REXX-ooRexx_5.0.0(MT)_32-bit 6.05 14 Jun 2016/* *** a 
JSON_Boolean@-2109450313::MAKEstring,
value=1 vtrue =1 --- vtrue=1: 0 a JSON_Boolean@-2109450313::MAKEstring, 
value=1 1=vtrue: 

Re: [Oorexx-devel] About adding JSON-support for ooRexx 5.0

2016-07-17 Thread Rony G. Flatscher
Brandon,

had a chance to look over your code and tried to take advantage of a few newer 
ooRexx features in
the "toJson" part, such that the "array"-handling got generalized to 
"orderedCollection" and the
"directory"-handling to "MapCollection".

Also, the generated JSON file is now a little bit "pretty-printed", such that 
inspecting it as a
human makes it comprehensible. :)

Ad JSON-Boolean: seeing that a true JSON Boolean is transported as a non-quoted 
constant ("true" or
"false"), this information is needed when generating a JSON file. To allow 
ooRexx programmers to
take advantage of this as easy as possible, I am experimenting with a specific 
class "JSON_Boolean".
The idea is, that a Rexx programmer supplies JSON boolean values on the Rexx 
side by using instances
of this class. OTOH, when reading JSON files it might be a good idea to create 
instances of this
class which behave like ooRexx logical values ("0", "1") transparently to the 
programmer. Will
experiment with this later this week.

The question is, whether you or anyone else is interested in the current 
version. If so, how should
I make it available  (eg. via DropBox, or as an individual e-Mail-attachment)?

---rony



On 14.07.2016 18:46, Rony wrote:
> Brandon,
>
> thank you very much! Have been on the road untl tomorrow, so it takes some 
> time for to check it
> out! (It seems you still have commit rights! :) )
>
> Best regards
>
> ---rony
>
> Rony G. Flatscher (mobil/e)
>
> Am 13.07.2016 um 22:52 schrieb Brandon Cherry  <mailto:bran...@safedatausa.com>>:
>
>> Check it out the code is now on sourceforge.
>>
>> https://sourceforge.net/p/oorexx/code-0/HEAD/tree/sandbox/bwc/json/
>> -- 
>> Brandon Cherry
>> Network Engineer, Safe Data, Inc.
>> 800-488-7200 x3017
>> http://www.safedatausa.com/
>>

--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity planning
reports.http://sdm.link/zohodev2dev___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] to do list

2016-07-18 Thread Rony G. Flatscher
On 18.07.2016 19:22, Terry Fuller wrote:
>
> More info...
>
> Trying to do the deed manually.  I'm able to rename the folders after 
> stopping rxapi.  When
> switching to 5.0.0 rxapi fails to start--because the path to rxapi.exe in 
> 'services' is D:\ooRexx,
> while in the 5.0.0 unzipped, it is in D:\ooRexx\bin-small.  What is the 
> reason for the additional
> directory level?  Can I just eliminate it?
>
Just try it out!
:)

Ad name "bin-small": that is just the sub directory in the zip-archive where 
the 32-bit ooRexx files
are stored.

Good luck!

---rony

P.S.: Hope to meet you at this year's International Rexx symposium in Tampa, 
Florida, as announced
by RexxLA!


> On 2016-07-17 17:31, Terry Fuller wrote:
>>
>> Hmm
>>
>> Running with admin authority doesn't seem to help (tho' only one 'access 
>> denied' message this
>> time...)
>>
>> C:\Windows\system32>ooRexx Version Management
>> Proceeding with switch from 4.2.0  to 5.0.0
>> Access is denied.
>> A duplicate file name exists, or the file
>> cannot be found.
>> Press Enter to restart RXAPI; press Ctrl-C to quit
>> Press any key to continue . . .
>>
>> Is there a way to distinguish between the case of duplicate v. missing file 
>> name?
>>
>> The relevant file names:
>>
>> D:\TAF>rexxtry
>> REXX-ooRexx_4.2.0(MT)_64-bit 6.04 22 Feb 2014
>>   rexxtry.rex lets you interactively try REXX statements.
>> Each string is executed when you hit Enter.
>> Enter 'call tell' for a description of the features.
>>   Go on - try a few...Enter 'exit' to end.
>>
>>   rexxtry.rex:  Enter 'exit' to end.   Or '?' for online REXX help.
>> exit
>>
>> D:\TAF>dir d:\oo*
>>  Volume in drive D is DATA
>>  Volume Serial Number is D0A9-18AB
>>
>>  Directory of d:\
>>
>> 2016-07-13  15:24  ooRexx
>> 2016-07-13  14:06  ooRexx4.1.1
>> 2016-07-15  11:46  ooRexx5.0.0
>> 2014-05-05  15:40  oorexxdoc-2.2.1b
>>0 File(s)  0 bytes
>>4 Dir(s)  103,847,501,824 bytes free
>>
>>
>> On 2016-07-15 14:08, Gil Barmwater wrote:
>>>
>>> Progress indeed!  The key is the message "Access is denied."  This means 
>>> the renames failed so
>>> you are still on 4.2.0.  The console screen should be running "elevated" 
>>> with a
>>> Windows-generated prompt for permission before it starts.  If you don't 
>>> allow the console to run
>>> "elevated", this is what you will see.  There is no way to bypass the 
>>> Windows prompt for
>>> permission so you need to reply that you want the console to make the 
>>> modifications.
>>>
>>> Hope that helps...
>>>
>>> On 7/15/2016 4:37 PM, Terry Fuller wrote:

 OK, some progress... I deleted the ooRexx4.2.0 folder and running orxver 
 now offers to let me
 switch to 4.1.1 or 5.0.0, but... when I select either, I'm left in 4.2.2 
 The console screen shows:

 D:\>ooRexx Version Management
 Proceeding with switch from 4.2.0  to 4.1.1
 Access is denied.
 Access is denied.
 Press Enter to restart RXAPI; press Ctrl-C to quit
 Press any key to continue . . .

 as if it's working, but rexxtry still shows 4.2.0


 On 2016-07-15 12:45, Gil Barmwater wrote:
>
> OK, I'm going to guess that you 1) had 4.1.1 installed, 2) copied it 
> using the program, 3)
> installed 4.2.0, and 4) created the ooRexx5.0.0 folder and copied the 
> files into it.  All good
> so far!  But if you then used the program to copy 4.2.0, you would find 
> yourself where you
> are.  In order to switch, the program needs to rename the folders but it 
> can't change ooRexx
> to ooRexx4.2.0 since the copy created a folder by that name.  If you 
> delete that folder and
> its contents, you should be able to use the program to either switch to 
> 4.1.1 or to 5.0.0.
>
> If I guessed wrong, let me know and I'll try to help you out with another 
> suggestion.
>
> The reason you can't copy 4.2.0 to get to 5.0.0 is because there is no 
> 5.0.0 installer which
> would have uninstalled 4.2.0 before installing 5.0.0.  Don't feel bad 
> about falling into this
> hole, the process is confusing which is why I wrote the program to start 
> with.
>
> On 7/15/2016 3:08 PM, Terry Fuller wrote:
>>
>> Ah well, trust me to fall into a hole right at the start...
>>
>> I built a shortcut for orxver.cmd, but I must have something wrong as 
>> double clicking  the
>> shortcut opens orxver in notepad.  If I open a command window and enter 
>> orxver it bring up
>> the dialog.
>>
>> I successfully switched from 4.1.1 to 4.2.0.  But now... the orxver 
>> dialog comes up with 'No
>> action possible', 'A copy of the current version (4.2.0) already 
>> exists', 'Install a version
>> of ooRexx other than 4.1.1 4.2.0 5.0.0' and 'For more information, click 
>> Display Program
>> Documentation'

Re: [Oorexx-devel] Question ad carrying out comparisons in expressions ...

2016-07-19 Thread Rony G. Flatscher
Intended to file a bug for this, just to find an open bug already:
<https://sourceforge.net/p/oorexx/bugs/1365/> from Erich, dated February 2016.

It seems that the implementation of the mixin-class
"interpreter\RexxClasses\CoreClasses.orx\Orderable" is wrong in its forwarding 
of the  "=" method to
"==" (strict equal):

-- compare two instances -- == and \== don't raise an error if these -- are 
not of the same
type, they will apply object -- comparison rules for that. ::METHOD "==" 
use strict arg other if
\other~isa(self~class) then do return .false end return 
self~compareTo(other) == 0 ::METHOD "="
-- this is equivalent of "==" forward message("==")

The same problem exists with the unequality methods:

-- compare two instances ::METHOD "\==" use strict arg other if 
\other~isa(self~class) then do
return .true end return self~compareTo(other) \== 0 ::METHOD "\=" -- this 
is equivalent of "\=="
forward message("\==")


A possible fix for (the entire class, as there are further little problems with 
strict comparisons)
could be (changes highlighted with the colour blue and a line comment starting 
with "--rgf"):

-- A mixin class for easily adding comparison methods to a -- class ::CLASS 
'Orderable' PUBLIC
MIXINCLASS Object -- perform an ordered comparison of two objects ::METHOD 
compareTo ABSTRACT --
compare two instances -- == and \== don't raise an error if these -- are 
not of the same type,
they will apply object -- comparison rules for that. ::METHOD "==" use 
strict arg other if
\other~isa(self~class) then do --rgf, strict comparison means also of the 
same type return
.false end return self~compareTo(other) == 0 -- compare two instances 
::METHOD "\==" use strict
arg other if \other~isa(self~class) then do --rgf, strict comparison means 
also of the same type
return .true end return self~compareTo(other) \== 0 ::METHOD "=" use strict 
arg other return
self~compareTo(other) = 0--rgf, just carry out the comparison ::METHOD "\="
use strict arg other return self~compareTo(other) \= 0--rgf, just carry out 
the comparison
::METHOD "<>" -- this is equivalent of "\=" --rgf forward message("\=") 
--rgf ::METHOD "><"  -- this is equivalent of "\=" --rgf forward message("\=") 
--rgf ::METHOD "<" use strict arg
other return self~compareTo(other) < 0 ::METHOD "<=" use strict arg other 
return
self~compareTo(other) <= 0 ::METHOD "\>" use strict arg other return 
self~compareTo(other) <= 0
::METHOD "<<" use strict arg other  if \other~isa(self~class) then do 
--rgf, strict comparison means also of the same type return
.false  return self~compareTo(other) < 0 ::METHOD "<<=" use strict arg other
if \other~isa(self~class) then do --rgf, strict comparison means also of 
the same typereturn
.false  return self~compareTo(other) <= 0 ::METHOD "\>>" use strict arg 
other if
\other~isa(self~class) then do --rgf, strict comparison means also of the 
same typereturn .false
 return self~compareTo(other) <= 0 ::METHOD ">" use strict arg other return
self~compareTo(other) > 0 ::METHOD ">=" use strict arg other return 
self~compareTo(other) >= 0
::METHOD "\<" use strict arg other return self~compareTo(other) >= 0 
::METHOD ">>" use strict
arg other if \other~isa(self~class) then do --rgf, strict comparison means 
also of the same type
return .false  return self~compareTo(other) > 0 ::METHOD ">>=" use strict 
arg other
if \other~isa(self~class) then do --rgf, strict comparison means also of 
the same type return
.false   return self~compareTo(other) >= 0 ::METHOD "\<<" use strict arg 
other if
\other~isa(self~class) then do --rgf, strict comparison means also of the 
same type return
.false  return self~compareTo(other) >= 0

---rony



On 17.07.2016 18:27, Rony G. Flatscher wrote:
>
> Hi there,
>
> while experimenting with a class (JSON_Boolean) that inherits the class 
> "Orderable" and implements
> the abstract method "compareTo" and a "makestring" method to yield "0" for 
> .false and "1" for
> .true, I have run into a problem that may be obvious to others, but currently 
> I am stuck: it seems
> that relational comparisons only cause the "compareTo"-method to be invoked, 
> if both operands are
> instances of .JSON_Boolean!
>
> So far I thought that a relational comparison like "(a=b)" would cause a 
> mess

Re: [Oorexx-devel] About adding JSON-support for ooRexx 5.0

2016-08-04 Thread Rony G. Flatscher
Hi Erich,

On 03.08.2016 20:39, Erich Steinböck wrote:
> To be able to include json.cls in 5.0 we need two more things:
>
>   * add appropriate documentation to rexxextension.pdf - to get started I've 
> just committed a stub
> (see http://sourceforge.net/p/oorexx/code-0/3)
>
Can do that.

>   * put Brandon's tests together into a json.testGroup
>
Can do that (and adapt/extend the tests).

>   * cmake changes needed to add json.cls
>
Cannot do that (yet).

> Volunteers, please!
>
> I f you cannot commit yourself, I'll happily accept patches or any other 
> means, by which I can
> commit your changes.
Will try to iron out the overhauled version of JSON.CLS (have to remove partial 
work on supporting
Unicode, if BSF4ooRexx is present) and submit it as a patch, so a first glimpse 
or diffs with
Cherry's version becomes possible (e.g., currently JSON.CLS runs with 4.2.0 as 
well, it will use
.Directory on ooRexx smaller than 5.0.0, .StringTable afterwards). Will be able 
to do this either
today, or on Monday (will be travelling starting tomorrow).

> I'll also be happy to help with any how-to questions ..
Great!

HTH,

---rony


--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] About adding JSON-support for ooRexx 5.0

2016-08-04 Thread Rony G. Flatscher
Hi there,

as I have not been able to allot the necessary time to conclude the first step, 
I will turn back on
this when I am back on Monday.

In the meantime I have uploaded the current version of JSON.CLS to
<http://wi.wu.ac.at/rgf/rexx/tmp/orx5json/>, accompanied with Brandon's demo 
Rexx scripts. (The
changes can be seen at the top of JSON.CLS.) This version runs on ooRexx 4.2.0 
and ooRexx 5.0.0
(using .Stringtable and the new ability to supply multiple arguments to the 
append()-method).

As I have used the ooRexxDoc comments (cf. 
<https://sourceforge.net/projects/oorexxdoc/>) it was
possible to create an ooRexxDoc-rendering, which you can find here:
<http://wi.wu.ac.at/rgf/rexx/tmp/orx5json/oorexxdoc/json.cls%2d100.20160804.html>.

This way everyone interested can get access to the current code and the derived 
documentation.

Any feedback welcome!

---rony


On 04.08.2016 11:39, Rony G. Flatscher wrote:
> Hi Erich,
>
> On 03.08.2016 20:39, Erich Steinböck wrote:
>> To be able to include json.cls in 5.0 we need two more things:
>>
>>   * add appropriate documentation to rexxextension.pdf - to get started I've 
>> just committed a
>> stub (see http://sourceforge.net/p/oorexx/code-0/3)
>>
> Can do that.
>
>>   * put Brandon's tests together into a json.testGroup
>>
> Can do that (and adapt/extend the tests).
>
>>   * cmake changes needed to add json.cls
>>
> Cannot do that (yet).
>
>> Volunteers, please!
>>
>> I f you cannot commit yourself, I'll happily accept patches or any other 
>> means, by which I can
>> commit your changes.
> Will try to iron out the overhauled version of JSON.CLS (have to remove 
> partial work on supporting
> Unicode, if BSF4ooRexx is present) and submit it as a patch, so a first 
> glimpse or diffs with
> Cherry's version becomes possible (e.g., currently JSON.CLS runs with 4.2.0 
> as well, it will use
> .Directory on ooRexx smaller than 5.0.0, .StringTable afterwards). Will be 
> able to do this either
> today, or on Monday (will be travelling starting tomorrow).
>
>> I'll also be happy to help with any how-to questions ..
> Great!
>
> HTH,
>
> ---rony

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] ooRexx 5.0 Windows installers

2016-08-08 Thread Rony G. Flatscher
Hi Erich,

thank you very much for creating the beta versions for Windows, which made me 
able to fully replace
my current 4.2.0 32-bit installation with the beta 5.0.0 32-bit installation on 
my Windows 7, 64-Bit PC!

The testsuite ran without an error, but with 17 failures that are linked to the 
Windows special
folders in the "windows\ole\SpecialFolders.testGroup" test group.

Here is the output of the run:

F:\work\svn\oorexx\test\trunk>rexx testOORexx.rex -X native_api Searching 
for test
containers. Executing automated test suite... 
...
...
...
 ooTest Framework - Automated Test of the 
ooRexx Interpreter
Interpreter: REXX-ooRexx_5.0.0(MT)_32-bit 6.05 7 Aug 2016 Addressing Mode: 
32 ooRexxUnit:
2.0.0_3.2.0 ooTest: 1.0.0_4.0.0 Tests ran: 22038 Assertions: 315020 
Failures: 19 Errors: 0
Skipped files: 15 [failure] [20160808 14:13:55.716000] svn: r9919 Change 
date: 2014-02-15
20:55:48 +0100 Test: TESTADMINISTRATIVETOOLS Class: 
SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
774 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:55.746000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTALLUSERSPROGRAMS
Class: SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
426 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:55.756000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTALLUSERSSTARTMENU
Class: SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
409 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:55.756000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTALLUSERSSTARTUP
Class: SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
443 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:55.816000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTCONTROLPANEL Class:
SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
120 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:55.856000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTFAVORITES Class:
SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
171 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:57.226000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTMYDOCUMENTS Class:
SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
154 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:57.236000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTMYMUSIC Class:
SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
273 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:57.246000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTMYNETWORKPLACES
Class: SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
341 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:57.256000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTMYPICTURES Class:
SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
680 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:57.256000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTMYRECENTDOCUMENTS
Class: SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
205 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:57.296000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
TESTNETWORKCONNECTIONS
Class: SpecialFolders.testgroup File:
F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup Line: 
791 Failed:
assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
[failure] [20160808
14:13:57.336000] svn: r9919 Cha

Re: [Oorexx-devel] ooRexx 5.0 Windows installers

2016-08-08 Thread Rony G. Flatscher
ows\Burn\Burn] 
objFolderItem~type:
[Dateiordner] --- folderNumber: hex=[3C] decimal=[60] special folder does 
not exist ---
folderNumber: hex=[3D] decimal=[61] objFolder : [an OLEObject] [an 
OLEObject] objFolder~items:
[an OLEObject] objFolder~items~count: [19] objFolderItem : [an OLEObject] 
objFolderItem~name:
[Netzwerk] objFolderItem~path: [::{F02C1A0D-BE21-4350-88B0-7367FC96EF3C}] 
objFolderItem~type:
[Systemordner] --- folderNumber: hex=[3E] decimal=[62] special folder does 
not exist ---
folderNumber: hex=[3F] decimal=[63] special folder does not exist

Here is the little testprogram (it probes a range of special folder numbers):

-- rgf, 2016-08-08: get names of all special folders in the system parse 
version v; say "ooRexx
version :" v say "Windows version:" sysversion() objShell = 
.oleObject~new('Shell.Application')
xrange=xrange("00"x, "3F"x) say "xrange~length:" pp(xrange~length) 
"xrange[30]="pp(xrange[30])
do i=1 to xrange~length c=xrange[i] -- get character call getName objShell, 
c~c2d -- use decimal
name end exit ::routine pp return "["arg(1)"]" ::routine getName use strict 
arg objShell,
folderNumber say say "---" "folderNumber:" "hex="pp(folderNumber~d2x) 
"decimal="pp(folderNumber)
objFolder = objShell~nameSpace(folderNumber) if .nil=objFolder then do say 
" special folder does
not exist" return end say "objFolder :" pp(objFolder) pp(objFolder~string) 
say "
objFolder~items:" pp(objFolder~items) "objFolder~items~count:" 
pp(objFolder~items~count)
objFolderItem = objFolder~self say "objFolderItem :" pp(objFolderItem) say "
objFolderItem~name:" pp(objFolderItem~name) say " objFolderItem~path:" 
pp(objFolderItem~path)
say " objFolderItem~type:" pp(objFolderItem~type) return

So the  "windows\ole\SpecialFolders.testGroup" is dependent on the installed 
language of Windows, as
"name" returns the "display name" in effect. As a result the reported 19 
failures in that testGroup
are not significant on a non-English Windows at all!

---rony


On 08.08.2016 14:20, Rony G. Flatscher wrote:
>
> Hi Erich,
>
> thank you very much for creating the beta versions for Windows, which made me 
> able to fully
> replace my current 4.2.0 32-bit installation with the beta 5.0.0 32-bit 
> installation on my Windows
> 7, 64-Bit PC!
>
> The testsuite ran without an error, but with 17 failures that are linked to 
> the Windows special
> folders in the "windows\ole\SpecialFolders.testGroup" test group.
>
> Here is the output of the run:
>
> F:\work\svn\oorexx\test\trunk>rexx testOORexx.rex -X native_api Searching 
> for test
> containers. Executing automated test suite... 
> ...
> 
> ...
> 
> ...
>  ooTest Framework - Automated Test of the 
> ooRexx Interpreter
> Interpreter: REXX-ooRexx_5.0.0(MT)_32-bit 6.05 7 Aug 2016 Addressing 
> Mode: 32 ooRexxUnit:
> 2.0.0_3.2.0 ooTest: 1.0.0_4.0.0 Tests ran: 22038 Assertions: 315020 
> Failures: 19 Errors: 0
> Skipped files: 15 [failure] [20160808 14:13:55.716000] svn: r9919 Change 
> date: 2014-02-15
> 20:55:48 +0100 Test: TESTADMINISTRATIVETOOLS Class: 
> SpecialFolders.testgroup File:
> F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup 
> Line: 774 Failed:
> assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
> [failure] [20160808
> 14:13:55.746000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
> TESTALLUSERSPROGRAMS
> Class: SpecialFolders.testgroup File:
> F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup 
> Line: 426 Failed:
> assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
> [failure] [20160808
> 14:13:55.756000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
> TESTALLUSERSSTARTMENU
> Class: SpecialFolders.testgroup File:
> F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup 
> Line: 409 Failed:
> assertTrue Expected: [1] Actual: [[0], identityHash="-2128282449"] 
> [failure] [20160808
> 14:13:55.756000] svn: r9919 Change date: 2014-02-15 20:55:48 +0100 Test: 
> TESTALLUSERSSTARTUP
> Class: SpecialFolders.testgroup File:
> F:\work\svn\oorexx\...\platform\windows\ole\SpecialFolders.testGroup 
> Line: 443 Failed:
> assertTrue Expecte

Re: [Oorexx-devel] About adding JSON-support for ooRexx 5.0

2016-08-08 Thread Rony G. Flatscher
Hi Erich,

as you may have seen the patches 
<https://sourceforge.net/p/oorexx/patches/198/> (ooTest) and
<https://sourceforge.net/p/oorexx/patches/199/> (xml) have been submitted, 
sucht that my commitment
has been fulfilled.

Ad xml-documentation: not having any working knowledge about the used dtd, I 
was not able to
propertly write an external URL (to the JSON RFC file), so please check this 
out (inserted a
TODO-comment right before it).

HTH

---rony


On 04.08.2016 11:39, Rony G. Flatscher wrote:
> Hi Erich,
>
> On 03.08.2016 20:39, Erich Steinböck wrote:
>> To be able to include json.cls in 5.0 we need two more things:
>>
>>   * add appropriate documentation to rexxextension.pdf - to get started I've 
>> just committed a
>> stub (see http://sourceforge.net/p/oorexx/code-0/3)
>>
> Can do that.
>
>>   * put Brandon's tests together into a json.testGroup
>>
> Can do that (and adapt/extend the tests).
>
>>   * cmake changes needed to add json.cls
>>
> Cannot do that (yet).
>
>> Volunteers, please!
>>
>> I f you cannot commit yourself, I'll happily accept patches or any other 
>> means, by which I can
>> commit your changes.
> Will try to iron out the overhauled version of JSON.CLS (have to remove 
> partial work on supporting
> Unicode, if BSF4ooRexx is present) and submit it as a patch, so a first 
> glimpse or diffs with
> Cherry's version becomes possible (e.g., currently JSON.CLS runs with 4.2.0 
> as well, it will use
> .Directory on ooRexx smaller than 5.0.0, .StringTable afterwards). Will be 
> able to do this either
> today, or on Monday (will be travelling starting tomorrow).
>
>> I'll also be happy to help with any how-to questions ..
> Great!
>
> HTH,
>
> ---rony
>
>
>
>
> --
>
>
> ___
> Oorexx-devel mailing list
> Oorexx-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/oorexx-devel

-- 
--
__

Prof. Dr. Rony G. Flatscher
Department Informationsverarbeitung und Prozessmanagement
Institut für Betriebswirtschaftslehre und Wirtschaftsinformatik
D2-C 2.086
WU Wien
Welthandelsplatz 1
A-1020  Wien/Vienna, Austria/Europe

http://www.wu.ac.at
__





--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] New beta version of BSF4ooRexx ready to be tested ...

2016-08-15 Thread Rony G. Flatscher
Hi there,

today I was able to finalize a rather hefty update to BSF4ooRexx, which now 
adds .Net/CLR support in
the Windows version, among other things.

Here is the download URL 
 for
Linux and Windows users. On Windows please study the "readme" file on the 
download page, as you
*must* "Unblock" the zip-archive, *before* unzipping it (otherwise all unzipped 
files get infected
by Microsoft with a "security" attribute to the effect the "files are unsafe, 
because they are
loaded from the Internet")! :-(

Also, the examples in the "samples" directory now are numbered (1 is 
beginner/easy, 9 is
expert/difficult). In addition there is a new, very helpful information about 
32- and 64-bit
installation hells on Linux, Windows and MacOSX in "information/installation".

More about the new features of BSF4ooRexx and about the full .NET-support at 
this year's
International Rexx symposium in Tampa at the end of August!
8-)

Any testing highly appreciated!

Cheers

---rony


--
What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic
patterns at an interface-level. Reveals which users, apps, and protocols are 
consuming the most bandwidth. Provides multi-vendor support for NetFlow, 
J-Flow, sFlow and other flows. Make informed decisions using capacity 
planning reports. http://sdm.link/zohodev2dev
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Proposing to add nutshell samples for native ooRexx libraries

2016-08-16 Thread Rony G. Flatscher
 includes a PDF- and a zip-file.

The PDF file is a RexxLA symposium presentation from last year and shows how 
easy it is to create
native function and method libraries with the ooRexx-APIs.

The proposal is to add them to "samples/api" to allow interested C++ 
programmers to jump-start
creating such native libraries.

---rony

--
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] ooTest Framework support for "known failures"

2016-10-10 Thread Rony G. Flatscher
On 05.10.2016 18:48, Erich Steinböck wrote:
> It would sometimes be convenient to have test cases that are known to fail 
> with the current
> interpreter build, but as not to clutter the output of a typical test run 
> with many known
> failures, theses would only show up when run with an elevated verbosity level.
>
> It seems that our ooTest framework might already support such or a similar) 
> concept, as it
> contains references to "knownFails".  Does anyone know, what's needed to make 
> "knownFails" work
> with our ooTest framework?
Hmm, it seems (pure speculation!) that Mark Miesfeld was going to add that 
feature and prepared the
data structures in "ooTest.frm" for it.

Probably the code would have to analyze the logged data from 
"framework/OOREXXUNIT.CLS", class
".TestCase", private method "doTheTest", in the "else"-branch at line # 1659 
(else matching the "if
cObj~code = 93.964 then do" in line # 1644.

Unexpected errors/conditions get logged in line # 1669, as 
"aTestResult~addError(self, err)", where
"err" gets created in that block as an instance of ".ErrorReport".

HTH,

---rony



--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Multi-line literals

2016-10-19 Thread Rony G. Flatscher

On 19.10.2016 11:37, René Jansen wrote:
> I beg to differ here. Now it means that every ‘sublanguage’ fragment needs to 
> be embedded in
> quotes, checked on quotes in comments or embedded quotes of the other type - 
> which needs extra
> escaping. Indeed SQL is also my main worry here.
>
> The funny thing is that a variant of the same phenomenon, caused by all this 
> escaping, leads to
> the exact same error. In particular on the mainframe I commit this error 
> often: I have a block of
> SQL tested and lifted out of DB2 Admin tool, want to use in in an exec and 
> drop it in an ISPF/PDF
> member. Then I make one line starting with “ and ending with “, and use 
> ISPF’s block overlay
> feature, which is neat. Then, invariably, someone walks in and distracts me 
> for a microsecond.
> Half an hour later, having put several traces in called functions, I remove 
> that last comma and
> the thing works.
>
> Several people have devised schemes with ‘sourceline’ and special comments to 
> do exactly this.
> Unfortunately, with NetRexx I could not get this to work (yet). With the 
> other languages having
> this, and it being a legitimate cause to point out as omission, I would worry 
> less about
> forgetting the closing tag - my editor would do that for me on entering the 
> opening tag nowadays -
> my vote is with adding this facility.
+1

Multiline-literals are available in other programming languages, as they 
alleviate coding for
specific situations like SQL-statements, but also HTML/XML-text spanning 
multiple lines, and the
like. It would also allow for concatenating multiline-literals with variable 
values, something the
resource directive would not allow for.

If an ending quote is missing the same situation would arise as if a multiline 
comment /* was not
closed, something the interpreter makes the programmer aware of, giving the 
exact reason and the
position where the comment was opened, e.g.:

F:\test\oorexx\rgf>type test.rex say 1 + /* this is a /* multiline */ 
comment that does not get
closed 1 F:\test\oorexx\rgf>rexx test.rex 1 *-* say 1 + /* this is a /* 
multiline */ comment
that does not get closed 1 Error 6 running F:\test\oorexx\rgf\test.rex line 
1: Unmatched "/*" or
quote. Error 6.1: Unmatched comment delimiter ("/*") on line 1. 
F:\test\oorexx\rgf>

As multiline literals would really help programmers in specific coding 
situations, I would also
think that it is worth adding it to ooRexx.

---rony




>  
>> On 15 Oct 2016, at 11:24, Mike Cowlishaw > > wrote:
>>
>> As Rick said.   Also it means that the error message about a missing 
>> (unmatched) quote can
>> exactly pinpoint the line where it occurred.
>>  
>> Mike
>>
>>> 
>>> *From:* Rick McGuire [mailto:object.r...@gmail.com]
>>> *Sent:* 14 October 2016 22:04
>>> *To:* Open Object Rexx Developer Mailing List
>>> *Subject:* Re: [Oorexx-devel] Multi-line literals
>>>
>>> They were removed from the language because in practice, they resulted in 
>>> lots of problems when
>>> a closing delimiter was accidentally omitted. It was pretty easy for a 
>>> missing quote to swallow
>>> up large sections of the program without error. 
>>>
>>> I'm not particularly in favor of adding this. 
>>>
>>> Rick
>>>
>>> On Fri, Oct 14, 2016 at 4:37 PM, Erich Steinböck >> > wrote:
 I had a look at the REX folder which mfc has provided at
 http://speleotrove.com/rexxhist/rexcard-208-scan.pdf
  and saw that we had 
 multi-line strings
 already back in 1980.  So I'd like to reopen the discussion about adding 
 multi-line literals. 
 (This is not imbedded data - now available through the ::RESOURCE 
 directive in 5.0 - but
 inlined literals.)

 At first, what was the reason we lost multi-line strings (starting with a 
 simple quote, and
 spanning multiple lines)?

 What about re-introducing them, either with a third type of quote (e. g. ` 
 ) or some
 double-character quote (e. g.`" multi - line string "` )



 On Sat, Jun 14, 2014 at 6:32 PM, Rick McGuire >>> > wrote:
> I do for see a use for multi-literals, but I don't really see them as 
> being a good usage for
> the type of problem I'm trying to solve here.  The directive approach is 
> really intended for
> situations where I really wish to embed a file within a single source 
> program rather than
> having it elsewhere.  I most definitely do not want all of that date 
> plunked in the middle of
> logic, particularly if it is quite large.  Additionally, the directive 
> approach means that
> data is available to other sections of the code, not just in the context 
> where it happens to
> be coded.  Additiona

[Oorexx-devel] Suggesting multiline message statements in ooRexx, based on observing how fluent programming influences the coding styles to make code easier to read (and write)

2016-10-19 Thread Rony G. Flatscher
In programming the "fluent" style programming has been adopted quite widely (cf.
). It allows one to nicely code 
multiple
assignments/method invocations on the same object, by making sure that each 
such invocation returns
itself (the object in which the method gets activated) as a result, such that 
the next invocation is
working with the same object. This allows one to cascade method invocations. In 
ooRexx the double
tilde/twiddle "~~" allows one to employ this "fluent" style of programming as 
ooRexx will carry out
the appropriate mechanics.

Using the fluent programming style induces programming sequences like (C++ 
example from the above URL):

FluentGlutApp(argc, 
argv).withDoubleBuffer().withRGBA().withAlpha().withDepth().at(200,
200).across(500, 500).named("My OpenGL/GLUT App").create();

or (the same C++ program, better legible, i.e. easier to read/understand and 
less error-prone):

FluentGlutApp(argc, argv) .withDoubleBuffer() .withRGBA() .withAlpha() 
.withDepth() .at(200,
200).across(500, 500) .named("My OpenGL/GLUT App") .create();

It would be possible in ooRexx to define a class "FluentGlutApp" and invoke all 
the methods by using
the double twiddle message operator of ooRexx, yielding, e.g. an ooRexx program 
matching the above
C++ program:

FluentGlutApp(argc, 
argv)~new~~withDoubleBuffer~~withRGBA~~withAlpha~~withDepth~~at(200,
200)~~across(500, 500)~~named("My OpenGL/GLUT App")~~create

This is actually quite a powerful built-in feature of the ooRexx language. 
However, in order to make
the ooRexx programm better legible, one needs to break it up like:

FluentGlutApp(argc, argv)~new - ~~withDoubleBuffer- ~~withRGBA- 
~~withAlpha- ~~withDepth-
~~at(200, 200)- ~~across(500, 500) - ~~named("My OpenGL/GLUT App")- ~~create

The code is better legible, however we have to add another operator to the end 
(a hyphen or a
comma). It would be easier to read, if it was possible to code in ooRexx:

FluentGlutApp(argc, argv)~new 
~~withDoubleBuffer~~withRGBA~~withAlpha~~withDepth~~at(200,
200)~~across(500, 500) ~~named("My OpenGL/GLUT App")~~create

Of course, in ooRexx it should be possible to intermix single message operators 
(~) and double
message operators (~) in such multiline message statements.

The rule would be for the parser that if the next line begins with a single or 
double message
operator, that it is regarded to be a split statement. If there are resulting 
errors, the normal
ooRexx error messages can be employed therafter.

---rony

--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Multi-line literals

2016-10-31 Thread Rony G. Flatscher

On 19.10.2016 15:37, Mike Cowlishaw wrote:
> I really do not think that allowing literal strings to cross lines would be 
> an improvement.   REX
> had this for some years -- and the pain it caused the 'average' programmer 
> was enormous -- I had
> hundreds of e-mails from confused programmers on exactly that problem -- and 
> the pain was
> instantly fixed by the 'literals must be complete on  a line' rule.  This 
> also avoided all the
> problems of gaining extra spaces in a string when adding indention to a piece 
> of code.  Changing
> this to make obscure rare cases easier to code is negative leverage. 
>  
> Comments are different because they have matching pairs of different 
> notations.   Which does lead
> to a suggestion: a new notation for 'multi-line literal' that
>  
>   a) has different start and end forms
>  
>   b) is not easily confused with the existing literals notations.
>  
> It could also allow NetRexx-style escapes in the new form of literal string, 
> for example:
>  
> /" this is a new string\n\rwhich is two \"lines\" in one "/
>  
> ... or something like that ...
>
This is a very interesting idea.

Using /' ... '/ or /" ... "/ for multiline literals would help solve the 
problem at hand and in
addition allow employing escape characters like \n and the like (and one has 
probably to add \/ to
escape the slash, if otherwise the multi-line literal string would be closed 
too early).

This also makes it easier to use (unescaped) single and double quotes as many 
times as one sees fit
within a string literal, e.g.

str= /" this is a multiline literal using a "double", a ""double double"", 
a 'single' or \n\ta
double ''single'' quotes without a problem "/ str= /' this is a multiline 
literal using a
"double", a ""double double"", a 'single' or \n\ta double ''single'' quotes 
without a problem '/
sql=

Additionally, it becomes possible to have block and line comments unescaped in 
such a multi-line
literal, e.g.

say /" this is a multiline literal that allows one to use 'single' or 
"double" quotes within the
same string as well as /* comment-like */ text as well as -- double dashes. 
\n\tthis was a
newline char followed by a tab char "/

So for example a SQL-statement could be changed from currently (almost 
illegible, example extracted
from a post to RexxLA):

sql_cmd = "INSERT INTO wp_posts
(","'ID',","'post_author',", "'post_date',", "'post_date_gmt',", 
"'post_content',", "'post_title',","'post_excerpt',", "'post_status',", 
"'comment_status',", "'ping_status',", "'post_password',", "'post_name',", 
"'to_ping',", "'pinged',", "'post_modified',", "'post_modified_gmt',", 
"'post_content_filtered',", "'post_parent',","'guid',", "'menu_order',", 
"'post_type',", "'post_mime_type',", 
"'comment_count')","VALUES(","'"gp.ID.1"',","'"gp.post_author.1"',","'"gp.post_date.1"',","'"gp.post_date_gmt.1"',","'"gp.post_content.1"',","'"gp.post_title.1"',","'"gp.post_excerpt.1"',","'"gp.post_status.1"',","'"gp.comment_status.1"',","'"gp.ping_status.1"',","'"gp.post_password.1"',","'"gp.post_name.1"',","'"gp.to_ping.1"',","'"gp.pinged.1"',","'"gp.post_modified.1"',","'"gp.post_modified_gmt.1"',","'"gp.post_content_filtered.1"',","'"gp.post_parent.1"',","'"gp.guid.1"',","'"gp.menu_order.1"',","'"gp.post_type.1"',","'"gp.post_mime_type.1"',","'"gp.comment_count.1"'",")"

to a better legible (less error prone) version:

sql_cmd = /" INSERT INTO wp_posts ('ID', 

[Oorexx-devel] Question: which Java version should BSF4ooRexx assume to be deployed from now on?

2016-10-31 Thread Rony G. Flatscher
Hi there,

BSF4ooRexx makes Java available to ooRexx and camouflages Java as the dynamic, 
case-insensitive
programming language ooRexx.

Currently, the Java-related functionality of BSF4ooRexx is coded for Java 1.4. 
According to the Java
timelines given in 
:

  * Java 1.4  was released in February 2002, Sun/Oracle public support ended in 
October 2008,
Sun/Oracle paid support has ended in February 2013.
  * Java 1.5/5.0 was released in September 2004, Sun/Oracle public support 
ended in November 2009,
Sun/Oracle paid support has ended in May 2015, more than 15 months ago.
  * Java 1.6/6.0 was released in December 2006, Sun/Oracle public support ended 
in April 2013,
Sun/Oracle paid support is still in effect.

The suggestion would be to define Java 1.6/6.0 as the new baseline for 
BSF4ooRexx. This assumes,
that no one who is dependent on BSF4ooRexx has an older Java version than 
1.6/6.0 deployed (at home
or at bussinesses alike).

Please come forward, if you have concrete objections augmenting the current 
BSF4ooRexx Java baseline
from 1.4 to 1.6/6.0!

---rony



--
The Command Line: Reinvented for Modern Developers
Did the resurgence of CLI tooling catch you by surprise?
Reconnect with the command line and become more productive. 
Learn the new .NET and ASP.NET CLI. Get your free copy!
http://sdm.link/telerik___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Multi-line literals

2016-11-01 Thread Rony G. Flatscher
On 31.10.2016 20:48, Rick McGuire wrote:
> Well, there's always { and }, which never gets used because we're constantly 
> saving them for
> something in the future. 
>
> Rick
+1

> On Mon, Oct 31, 2016 at 3:16 PM, Mike Cowlishaw  >
> wrote:
>
>
>  
>
> Using /' ... '/ or /" ... "/ for multiline literals
>
>
> This is not an option, as e. g. say 2 /" 3 "/ 4 is already a valid 
> expression
>  
>
> Indeed; I was definitely not suggesting a specific syntax, just trying to 
> indicate the concept.
>  
> Mike 
>

Using {, } instead of /", /', '/, "/ in the examples of my last post even would 
improve legibility
even more:

This also makes it easier to use (unescaped) single and double quotes as 
many times as one sees
fit within a string literal, e.g.

str= { this is a multiline literal using a "double", a ""double 
double"", a 'single' or
\n\ta double ''single'' quotes without a problem } str= { this is a 
multiline literal using
a "double", a ""double double"", a 'single' or \n\ta double ''single'' 
quotes without a
problem }

Additionally, it becomes possible to have block and line comments unescaped 
in such a multi-line
literal, e.g.

say { this is a multiline literal that allows one to use 'single' or 
"double" quotes within
the same string as well as /* comment-like */ text as well as -- double 
dashes. \n\tthis was
a newline char followed by a tab char }

So for example a SQL-statement could be changed from currently (almost 
illegible, example
extracted from a post to RexxLA):

sql_cmd = "INSERT INTO wp_posts
(","'ID',","'post_author',", "'post_date',", "'post_date_gmt',", 
"'post_content',", "'post_title',","'post_excerpt',", "'post_status',", 
"'comment_status',", "'ping_status',", "'post_password',", "'post_name',", 
"'to_ping',", "'pinged',", "'post_modified',", "'post_modified_gmt',", 
"'post_content_filtered',", "'post_parent',","'guid',", "'menu_order',", 
"'post_type',", "'post_mime_type',", 
"'comment_count')","VALUES(","'"gp.ID.1"',","'"gp.post_author.1"',","'"gp.post_date.1"',","'"gp.post_date_gmt.1"',","'"gp.post_content.1"',","'"gp.post_title.1"',","'"gp.post_excerpt.1"',","'"gp.post_status.1"',","'"gp.comment_status.1"',","'"gp.ping_status.1"',","'"gp.post_password.1"',","'"gp.post_name.1"',","'"gp.to_ping.1"',","'"gp.pinged.1"',","'"gp.post_modified.1"',","'"gp.post_modified_gmt.1"',","'"gp.post_content_filtered.1"',","'"gp.post_parent.1"',","'"gp.guid.1"',","'"gp.menu_order.1"',","'"gp.post_type.1"',","'"gp.post_mime_type.1"',","'"gp.comment_count.1"'",")"

to a better legible (less error prone) version:

sql_cmd = { INSERT INTO wp_posts ('ID', 'post_author', 'post_date', 
'post_date_gmt',
'post_content','post_title', 'post_excerpt', 'post_status', 
'comment_status','ping_status',
'post_password', 'post_name', 'to_ping','pinged', 'post_modified',
'post_modified_gmt','post_content_filtered', 'post_parent', 
'guid','menu_order','post_type',
'post_mime_type', 'comment_count' )VALUES('}gp.ID.1{', 
'}gp.post_author.1{',
'}gp.post_date.1{', '}gp.post_date_gmt.1{','}gp.post_content.1{', 
'}gp.post_title.1{',
'}gp.post_excerpt.1{','}gp.post_status.1{','}gp.comment_status.1{',
'}gp.ping_status.1{','}gp.post_password.1{',

'}gp.post_name.1{','}gp.to_ping.1{','}gp.pinged.1{','}gp.post_modified.1{','}gp.post_modified_gmt.1{','}gp.post_content_filtered.1{','}gp.post_parent.1{','}gp.guid.1{','}gp.menu_order.1{','}gp.post_type.1{','}gp.post_mime_type.1{','}gp.comment_count.1{')
}


---rony

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] [RexxLA] Question: which Java version should BSF4ooRexx assume to be deployed from now on?

2016-11-04 Thread Rony G. Flatscher
Thanks to everyone who commented!

Going over all comments I would base the next version of BSF4ooRexx on Java 
1.6/6.0. This will make
all Java 1.5/5.0 language features available (like generics, enums, etc.) and 
still allow
plug-in-replacement for older Java deployments.

---rony


On 31.10.2016 14:31, Rony G. Flatscher wrote:
>
> Hi there,
>
> BSF4ooRexx makes Java available to ooRexx and camouflages Java as the 
> dynamic, case-insensitive
> programming language ooRexx.
>
> Currently, the Java-related functionality of BSF4ooRexx is coded for Java 
> 1.4. According to the
> Java timelines given in 
> <https://en.wikipedia.org/wiki/Java_version_history#J2SE_1.4>:
>
>   * Java 1.4  was released in February 2002, Sun/Oracle public support ended 
> in October 2008,
> Sun/Oracle paid support has ended in February 2013.
>   * Java 1.5/5.0 was released in September 2004, Sun/Oracle public support 
> ended in November 2009,
> Sun/Oracle paid support has ended in May 2015, more than 15 months ago.
>   * Java 1.6/6.0 was released in December 2006, Sun/Oracle public support 
> ended in April 2013,
> Sun/Oracle paid support is still in effect.
>
> The suggestion would be to define Java 1.6/6.0 as the new baseline for 
> BSF4ooRexx. This assumes,
> that no one who is dependent on BSF4ooRexx has an older Java version than 
> 1.6/6.0 deployed (at
> home or at bussinesses alike).
>
> Please come forward, if you have concrete objections augmenting the current 
> BSF4ooRexx Java
> baseline from 1.4 to 1.6/6.0!
>
> ---rony

--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Enhancement ideas for .RexxInfo ...

2016-11-05 Thread Rony G. Flatscher
The RexxInfo class is new in ooRexx 5 and allows one to fetch all sorts of Rexx 
interpreter and Rexx
runtime related information.

Currently .Rexxinfo is a subclass of .Object, which means that one needs to 
exactly know the names
of the methods in order to fetch the respective information from .RexxInfo 
about the current running
Rexx interpreter.

It would be very helpful for various purposes if the .RexxInfo class was 
instead a readonly
MapCollection, which would allow one to enumerate all available .RexxInfo 
methods. Would that be a
reasonable and feasible change before ooRexx 5 going GA?

Alternatively, how about a method which would return all available RexxInfo 
information as a
StringTable?

---

Also the svn revision ($Revision) and the svn date ($Date) would be a 
worthwhile addition to
.RexxInfo as it would allow one to determine the exact version and date of the 
ooRexx source that
was used to create the Rexx interpreter at hand.

What do you think?

---rony


--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Problem with "DO...OVER" ...

2016-11-06 Thread Rony G. Flatscher
The DO...OVER statement allows one to iterate over a collection. To do so a 
MAKEARRAY is requested
and the resulting array is then iterated over.

It seems, that the code in DO...OVER does not send the MAKEARRAY message, if it 
does not find that
method in the receiver object, irrespectible whether an UNKNOWN method is 
available that may step in
and return that array upon request.

Here is a Rexx program demonstrating this problem, bug:

t=.test~new tArr=t~makearray~toString(,"/") say "tArr:" tArr do o over t 
say o end say "---"
u=.uuu~new uArr=u~makearray~toString(,"/") say "uArr:" uArr do o over u say 
o end say "---" *::class test ::method makearray*return ("one", "two", "three") 
*::class uuu::method unknown*
use arg methName, methArgs /*if methName="MAKEARRAY" then return ("one", 
"two", "three")*/ say
"in" self"::unknown, about to raise a syntax condition" raise syntax 98.913 
array (self)

The class "TEST" implements the MAKEARRAY method and the DO...OVER succeeds.

The class "UUU" does not implement the MAKEARRAY method, but an UNKNOWN method 
that returns an
array, if a MAKEARRAY message was received. Here, DO...OVER causes a 98.913 
syntax error, which
aborts the program!

Here is the output of running the above program:

F:\test\oorexx\makearray>test1 tArr: one/two/three one two three --- uArr: 
one/two/three 13 *-*
do o over u Error 98 running F:\test\oorexx\makearray\test1.rex line 13: 
Execution error. Error
98.913: Unable to convert object "an UUU" to a single-dimensional array 
value.

It may be the case that the interpreter tries to optimize by checking for the 
existence of a
MAKEARRAY method in the receiving object and if not found short-circuiting by 
raising the syntax
error. Instead it should let the UNKNOWN mechanism to get exercised, such that 
it becomes possible
to delegate the execution of such unknown messages (like MAKEARRAY in the class 
UUU above) by other
code, which is the purpose of the UNKNOWN mechanism in the first place.

This is with ooRexx 5.0.0 beta, not sure about previous versions.

If there are no counter arguments, then I will file a bug report for this in 
the tracker.

---rony

P.S.: "DO WITH index i and item o" works by supplying the SUPPLIER method 
explicitly or implicitly
by the UNKNOWN method. Here is an example for that variant:

t=.test~new say "tArr:" tArr do with index idx item o over t say "index:" 
idx "item:" o end say
"---" u=.uuu~new say "uArr:" uArr do with index idx item o over u say 
"index:" idx "item:" o end
say "---" *::class test* *::method supplier* return .supplier~new((1,2,3), 
("one", "two",
"three")) *::class uuu::method unknown* use arg methName, methArgs /*if 
methName="SUPPLIER"
then return .supplier~new((1,2,3), ("one", "two", "three"))*/ say "in" 
self"::unknown, about to
raise a syntax condition" raise syntax 98.913 array (self)

Output (no runtime error):

F:\test\oorexx\makearray>test2 tArr: TARR index: one item: 1 index: two 
item: 2 index: three
item: 3 --- uArr: UARR index: one item: 1 index: two item: 2 index: three 
item: 3 ---










--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today. http://sdm.link/xeonphi___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Problem with "DO...OVER" ...

2016-11-06 Thread Rony G. Flatscher
Another observation.

After BSF4ooRexx gets based on Java 1.6/6.0 I have started to work on extending 
DO...OVER for
java.lang.Iterable, java.util.Enumeration, java.util.Collection, 
java.util.Iterator and
java.util.Map to make it transparent for Rexx programmers what kind of a Java 
collection is being
worked upon.

For this support ooRexx MAKEARRAY and SUPPLIER messages will cause the 
respective Rexx array and
supplier objects to be returned.

In the case of a Java array, there is an ooRexx wrapper class named 
"BSF_ARRAY_REFERENCE" which
implements all relevant Rexx array methods, namely: "AT", "[]", "DIMENSION", 
"ITEMS", "PUT", "[]=",
"SIZE" (so to say the Rexx array protocol). Although it is true, that it is not 
a subclass of ooRexx
.Array, it is a compatible implementation where the ooRexx Array protocol gets 
satisified.

Rexx/ooRexx being deliberately a dynamic language should allow to process 
BSF_ARRAY_REFERENCE (or
any other type of) objects in place of genuine ooRexx array objects as long as 
the ooRexx Array
protocol (its Array methods) are present.

This is probably more a feature request, a request for discussion, than 
anything else.

---rony



On 06.11.2016 15:34, Rony G. Flatscher wrote:
>
> The DO...OVER statement allows one to iterate over a collection. To do so a 
> MAKEARRAY is requested
> and the resulting array is then iterated over.
>
> It seems, that the code in DO...OVER does not send the MAKEARRAY message, if 
> it does not find that
> method in the receiver object, irrespectible whether an UNKNOWN method is 
> available that may step
> in and return that array upon request.
>
> Here is a Rexx program demonstrating this problem, bug:
>
> t=.test~new tArr=t~makearray~toString(,"/") say "tArr:" tArr do o over t 
> say o end say "---"
> u=.uuu~new uArr=u~makearray~toString(,"/") say "uArr:" uArr do o over u 
> say o end say "---" *::class test ::method makearray*return ("one", "two", 
> "three") *::class uuu::method
> unknown* use arg methName, methArgs /*if methName="MAKEARRAY" then return 
> ("one", "two",
> "three")*/ say "in" self"::unknown, about to raise a syntax condition" 
> raise syntax 98.913
> array (self)
>
> The class "TEST" implements the MAKEARRAY method and the DO...OVER succeeds.
>
> The class "UUU" does not implement the MAKEARRAY method, but an UNKNOWN 
> method that returns an
> array, if a MAKEARRAY message was received. Here, DO...OVER causes a 98.913 
> syntax error, which
> aborts the program!
>
> Here is the output of running the above program:
>
> F:\test\oorexx\makearray>test1 tArr: one/two/three one two three --- 
> uArr: one/two/three 13
> *-* do o over u Error 98 running F:\test\oorexx\makearray\test1.rex line 
> 13: Execution error.
> Error 98.913: Unable to convert object "an UUU" to a single-dimensional 
> array value.
>
> It may be the case that the interpreter tries to optimize by checking for the 
> existence of a
> MAKEARRAY method in the receiving object and if not found short-circuiting by 
> raising the syntax
> error. Instead it should let the UNKNOWN mechanism to get exercised, such 
> that it becomes possible
> to delegate the execution of such unknown messages (like MAKEARRAY in the 
> class UUU above) by
> other code, which is the purpose of the UNKNOWN mechanism in the first place.
>
> This is with ooRexx 5.0.0 beta, not sure about previous versions.
>
> If there are no counter arguments, then I will file a bug report for this in 
> the tracker.
>
> ---rony
>
> P.S.: "DO WITH index i and item o" works by supplying the SUPPLIER method 
> explicitly or implicitly
> by the UNKNOWN method. Here is an example for that variant:
>
> t=.test~new say "tArr:" tArr do with index idx item o over t say "index:" 
> idx "item:" o end
> say "---" u=.uuu~new say "uArr:" uArr do with index idx item o over u say 
> "index:" idx "item:"
> o end say "---" *::class test* *::method supplier* return 
> .supplier~new((1,2,3), ("one",
> "two", "three")) *::class uuu::method unknown* use arg methName, 
> methArgs /*if
> methName="SUPPLIER" then return .supplier~new((1,2,3), ("one", "two", 
> "three"))*/ say "in"
> self"::unknown, about to raise a syntax condition" raise syntax 98.913 
> array (self)
>
> Output (no runtime error):

Re: [Oorexx-devel] Problem with "DO...OVER" ...

2016-11-07 Thread Rony G. Flatscher

On 06.11.2016 17:35, Erich Steinböck wrote:
> rexxref says that for DO OVER Collection, a MAKEARRAY method is required, but 
> that's not the full
> story: Rexx uses the REQUEST("ARRAY") mechanism to do the conversion, which 
> will send a MAKEARRAY
> message, and if no such method exists, will fail (as documented) without 
> testing for an UNKNOWN
> method.
Well, sending a message that is not implemented, but an UNKNOWN method exists 
in the searched
classes will invoke the UNKNOWN method in lieu.

For the sender it does not make a difference whether a message was served by a 
method implemented by
the same name or by the UNKNOWN method. This makes ooRexx very powerful (as it 
does Smalltalk from
which this concept is probably drawn).

The REQUEST-protocol in the object class states (from the ooRexx 5.0.0 beta 
reference):

5.1.4.17. request

request( classid )

Returns an object of the classid class, or .nil if the request cannot be 
satisfied.
This method first compares the identity of the object's class (see the id 
method of the Class
class) to classid. If they are the same, the receiver object is returned as 
the result. Otherwise,
request tries to obtain and return an object satisfying classid /*by 
sending the receiver object
the*//*
*//*conversion message make with the string classid appended (converted to 
uppercase)*/. For
example,
/a //request("string")//message causes a makeString message to be 
sent/.*/If the object does not/**/
/**/have the required conversion method, request returns .nil./*

The question also occurs here what the meaning of "does not have the required 
conversion method":
does that imply that it must physically exist or does that imply that such a 
conversion message
should be served successfully?

The conversion methods cause objects to produce different representations 
of themselves.
The presence or absence of a conversion method defines an object's 
capability to produce the
corresponding representations. For example, lists can represent themselves 
as arrays, because they
have a makeArray method, but they cannot represent themselves as 
directories, because they do
not have a makeDirectory method. Any conversion method must return an 
object of the requested
class. For example, makeArray must return an array. The language processor 
uses the makeString
method to obtain string values in certain contexts; see Section 4.2.11, 
“Required String Values”.

Also, in this context, DO WITH...OVER should probably use the a 
request("supplier") message, where
the current collection classes having a "mere" supplier method should get a 
synonymous method
"makesupplier" in order to match the request protocol.

> Whether this is in fact working as designed (but should probably be better 
> documented) I'm not sure.
Maybe others can chime in and give their perspective, point-of-view as feedback 
to be taken into
account.

---rony


>
> On Sun, Nov 6, 2016 at 3:34 PM, Rony G. Flatscher  <mailto:rony.flatsc...@wu.ac.at>> wrote:
>
> The DO...OVER statement allows one to iterate over a collection. To do so 
> a MAKEARRAY is
> requested and the resulting array is then iterated over.
>
> It seems, that the code in DO...OVER does not send the MAKEARRAY message, 
> if it does not find
> that method in the receiver object, irrespectible whether an UNKNOWN 
> method is available that
> may step in and return that array upon request.
>
> Here is a Rexx program demonstrating this problem, bug:
>
> t=.test~new tArr=t~makearray~toString(,"/") say "tArr:" tArr do o 
> over t say o end say
> "---" u=.uuu~new uArr=u~makearray~toString(,"/") say "uArr:" uArr do 
> o over u say o end
> say "---" *::class test ::method makearray*return ("one", "two", 
> "three") *::class uuu::method
> unknown* use arg methName, methArgs /*if methName="MAKEARRAY" then 
> return ("one", "two",
> "three")*/ say "in" self"::unknown, about to raise a syntax 
> condition" raise syntax 98.913
> array (self)
>
> The class "TEST" implements the MAKEARRAY method and the DO...OVER 
> succeeds.
>
> The class "UUU" does not implement the MAKEARRAY method, but an UNKNOWN 
> method that returns an
> array, if a MAKEARRAY message was received. Here, DO...OVER causes a 
> 98.913 syntax error,
> which aborts the program!
>
> Here is the output of running the above program:
>
> F:\test\oorexx\makearray>test1 tArr: one/two/three one two three --- 
> uArr: one

[Oorexx-devel] Reinstating/reactivating the ooRexx ARB? (Re: Problem with "DO...OVER" ...

2016-11-10 Thread Rony G. Flatscher
Hmm, as no one has commented so far, this is in a sort of limbo.

How about reinstating/reactivating the ooRexx ARB (architecture review board 
following democratic
principles) for the ooRexx project, which originally was meant to overview how 
the ooRexx language
should evolve?

Language related questions like this could be gathered or presented there and 
discussed.

Of course a lot of implemented concepts have not been formally put through the 
ooRexx ARB in the
past. Nevertheless, there is a lot (and sound) reasoning behind why and how 
concepts got
implemented, so I would think that Rick's thoughts, reasonings and knowledge 
would be very helpful
there as well.

So how about reinstating/reactivating the ooRexx ARB, maybe at least after 
ooRexx 5.0 got out of
beta and general available?

Any thoughts, comments?

---rony


On 07.11.2016 18:41, Rony G. Flatscher wrote:
>
> On 06.11.2016 17:35, Erich Steinböck wrote:
>> rexxref says that for DO OVER Collection, a MAKEARRAY method is required, 
>> but that's not the full
>> story: Rexx uses the REQUEST("ARRAY") mechanism to do the conversion, which 
>> will send a MAKEARRAY
>> message, and if no such method exists, will fail (as documented) without 
>> testing for an UNKNOWN
>> method.
> Well, sending a message that is not implemented, but an UNKNOWN method exists 
> in the searched
> classes will invoke the UNKNOWN method in lieu.
>
> For the sender it does not make a difference whether a message was served by 
> a method implemented
> by the same name or by the UNKNOWN method. This makes ooRexx very powerful 
> (as it does Smalltalk
> from which this concept is probably drawn).
>
> The REQUEST-protocol in the object class states (from the ooRexx 5.0.0 beta 
> reference):
>
> 5.1.4.17. request
>
> request( classid )
>
> Returns an object of the classid class, or .nil if the request cannot be 
> satisfied.
> This method first compares the identity of the object's class (see the id 
> method of the Class
> class) to classid. If they are the same, the receiver object is returned 
> as the result. Otherwise,
> request tries to obtain and return an object satisfying classid /*by 
> sending the receiver
> object the*//*
> *//*conversion message make with the string classid appended (converted 
> to uppercase)*/. For
> example,
> /a //request("string")//message causes a makeString message to be 
> sent/.*/If the object does
> not/**/
> /**/have the required conversion method, request returns .nil./*
>
> The question also occurs here what the meaning of "does not have the required 
> conversion method":
> does that imply that it must physically exist or does that imply that such a 
> conversion message
> should be served successfully?
>
> The conversion methods cause objects to produce different representations 
> of themselves.
> The presence or absence of a conversion method defines an object's 
> capability to produce the
> corresponding representations. For example, lists can represent 
> themselves as arrays, because they
> have a makeArray method, but they cannot represent themselves as 
> directories, because they do
> not have a makeDirectory method. Any conversion method must return an 
> object of the requested
> class. For example, makeArray must return an array. The language 
> processor uses the makeString
> method to obtain string values in certain contexts; see Section 4.2.11, 
> “Required String Values”.
>
> Also, in this context, DO WITH...OVER should probably use the a 
> request("supplier") message, where
> the current collection classes having a "mere" supplier method should get a 
> synonymous method
> "makesupplier" in order to match the request protocol.
>
>> Whether this is in fact working as designed (but should probably be better 
>> documented) I'm not sure.
> Maybe others can chime in and give their perspective, point-of-view as 
> feedback to be taken into
> account.
>
> ---rony
>
>
>>
>> On Sun, Nov 6, 2016 at 3:34 PM, Rony G. Flatscher > <mailto:rony.flatsc...@wu.ac.at>> wrote:
>>
>> The DO...OVER statement allows one to iterate over a collection. To do 
>> so a MAKEARRAY is
>> requested and the resulting array is then iterated over.
>>
>> It seems, that the code in DO...OVER does not send the MAKEARRAY 
>> message, if it does not find
>> that method in the receiver object, irrespectible whether an UNKNOWN 
>> method is available that
>> may step in and return that array upon request.
>>
>> Here

[Oorexx-devel] New BSF4ooRexx beta, supporting JavaFX for easying cross-platform GUI programming ...

2016-11-24 Thread Rony G. Flatscher
A short while ago I uploaded a new beta of BSF4ooRexx to Sourceforge:
.

The new major version number 6.00 (represented as "600") indicates that this 
version needs Java
1.6/6 as a minimum (currently Java 1.8/8 is current).

One major new feature is full support for JavaFX, which is a Java class library 
that comes with Java
since Java 1.7/7. This means that if you have Java installed on your computer 
you will be
immediately able to run the samples in the BSF4ooRexx-directory 
"samples/JavaFX".

One nice feature about JavaFX is the ability to create the GUI with the help of 
a tool named
"SceneBuilder" available for all platforms. The code for SceneBuilder comes 
from Oracle but without
an installer, so if you point your browser to 
 you will get
installation packages for all platforms. This tool will also pack applications 
in a jar-file (a
"Java" archive file).

This beta of BSF4ooRexx contains nutshell examples that can be run "in the 
wild", no need to package
them in a jar. Please note that quite some effort was put into creating 
"standalone" Rexx programs
using JavaFX classes without any XML definitions. OTOH, its subdirectories 
contain XML-based
GUI-definition files that are used with the help of JavaFX, which you can 
compare 1:1 with the
"standalone" versions.

The Rexx programs serving as the controllers for the XML-GUI-definition file 
(e.g. created and
maintained with the help of the SceneBuilder) are being invoked by Java using 
the Rexx scripting
interface for Java (new in BSF4ooRexx, presented at the last International Rexx 
symposium in Tampa
this past August). The JavaFX instrumentation does only invoke the script 
programs by means of
calling them without arguments. For that reason it is necessary (added support 
for that) to interact
with Java ScriptContext which manages two collections of attributes (named 
"Bindings"):
"GLOBAL_SCOPE" entries are available to all script engines, and "ENGINE_SCOPE" 
which are related to
a certain script engine (ooRexx in this case). To make it simple for ooRexx 
programmers fetching
entries from the ScriptContext there is a "Rexx script annotation" introduced, 
which must be
contained in a Rexx block-comment on one line. As each GUI-element in the 
XML-file that has a unique
"fx:id" value is placed into the ScriptContext by JavaFX, one can fetch those 
entries (get access
e.g. to a Button, a Label, a TextField etc.) from there. The "Rexx script 
annotation" allows one to
a) fetch any such object and b) make it immediately available as a local Rexx 
variable (!) such that
you can use it right after that annotation. An example would be something like:

... cut ...
/* @get("label button") */
say "label:" label~getText
say "button:" button~getText
... cut ...

For debugging purposes there is also a Rexx script annotation named 
"/*@showsource*/" which will
cause the Java Rexx script engine to display the Rexx source code as seen by 
Java. If there are Rexx
script annotations of the form "/*@get("attr1 attr2... ")*/" or "/*@set("attr1 
attr2... ")*/" then
the edited version of the same Rexx source code will be shown that will get 
executed by ooRexx. (The
@get and @set annotations will cause ooRexx code to be injected in front of it, 
so with the
@showsource annotation you will be able to see what code gets injected.)

There are many tutorials available for JavaFX (use the word "JavaFX").

If you have never worked with GUIs on Java (the founding principles are the 
same as in all GUI
programming on all platforms), then it might be helpful, if you first skim over 
"swing" tutorials
(e.g. excellent Oracle resource: 
, or
), which is 
superceded by JavaFX. There
are many interesting explanations and showcases for swing on the net, which 
concepts you can take
over to JavaFX.

Here another nice place with examples that can be easily transcribed to ooRexx 
after studying the
nutshell programs in "samples/JavaFX": 
 and
.

In the case that you explore this option (it may be an option also to 
eventually, over time forgo
ooDialog) and create short nutshell examples while experimenting with JavaFX 
that you think can
serve the community, then please post them! Also, if you want, I would be more 
than happy to add
JavaFX samples to the BSF4ooRexx distribution!

[Also, if you experiment with ooRexx and JavaFX then please consider of giving 
presentations on the
upcoming International Rexx Symposium in Amsterdam (probably from April 9th 
thru April 12th), from
introductions, nutshell examples and migrating from ooDialog to JavaFX or the 
like.]

If you have BSF4ooR

[Oorexx-devel] Update! (Re: New BSF4ooRexx beta, supporting JavaFX for easying cross-platform GUI programming ...

2016-11-30 Thread Rony G. Flatscher
There is a new beta for Linux and Windows of BSF4ooRexx available at:
<https://sourceforge.net/projects/bsf4oorexx/files/beta/20161026/BSF4ooRexx_install_v600-20161130-beta.zip/download>.

This version fixes a few bugs (has among other things a totally new handling of 
Java references on
the Java side) and a preliminary new JavaFX sample (cf. 
 which defines all
controllers in pure Rexx in a single Rexx file/package, the GUI part is created 
and maintained with
the SceneBuilder).

Should you encounter any problems, please file them with the BSF4ooRexx tracker!

---rony


On 24.11.2016 19:42, Rony G. Flatscher wrote:
> A short while ago I uploaded a new beta of BSF4ooRexx to Sourceforge:
> <https://sourceforge.net/projects/bsf4oorexx/files/beta/20161026/BSF4ooRexx_install_v600-20161124-beta.zip/download>.
>
> The new major version number 6.00 (represented as "600") indicates that this 
> version needs Java
> 1.6/6 as a minimum (currently Java 1.8/8 is current).
>
> One major new feature is full support for JavaFX, which is a Java class 
> library that comes with
> Java since Java 1.7/7. This means that if you have Java installed on your 
> computer you will be
> immediately able to run the samples in the BSF4ooRexx-directory 
> "samples/JavaFX".
>
> One nice feature about JavaFX is the ability to create the GUI with the help 
> of a tool named
> "SceneBuilder" available for all platforms. The code for SceneBuilder comes 
> from Oracle but
> without an installer, so if you point your browser to 
> <http://gluonhq.com/labs/scene-builder/> you
> will get installation packages for all platforms. This tool will also pack 
> applications in a
> jar-file (a "Java" archive file).
>
> This beta of BSF4ooRexx contains nutshell examples that can be run "in the 
> wild", no need to
> package them in a jar. Please note that quite some effort was put into 
> creating "standalone" Rexx
> programs using JavaFX classes without any XML definitions. OTOH, its 
> subdirectories contain
> XML-based GUI-definition files that are used with the help of JavaFX, which 
> you can compare 1:1
> with the "standalone" versions.
>
> The Rexx programs serving as the controllers for the XML-GUI-definition file 
> (e.g. created and
> maintained with the help of the SceneBuilder) are being invoked by Java using 
> the Rexx scripting
> interface for Java (new in BSF4ooRexx, presented at the last International 
> Rexx symposium in Tampa
> this past August). The JavaFX instrumentation does only invoke the script 
> programs by means of
> calling them without arguments. For that reason it is necessary (added 
> support for that) to
> interact with Java ScriptContext which manages two collections of attributes 
> (named "Bindings"):
> "GLOBAL_SCOPE" entries are available to all script engines, and 
> "ENGINE_SCOPE" which are related
> to a certain script engine (ooRexx in this case). To make it simple for 
> ooRexx programmers
> fetching entries from the ScriptContext there is a "Rexx script annotation" 
> introduced, which must
> be contained in a Rexx block-comment on one line. As each GUI-element in the 
> XML-file that has a
> unique "fx:id" value is placed into the ScriptContext by JavaFX, one can 
> fetch those entries (get
> access e.g. to a Button, a Label, a TextField etc.) from there. The "Rexx 
> script annotation"
> allows one to a) fetch any such object and b) make it immediately available 
> as a local Rexx
> variable (!) such that you can use it right after that annotation. An example 
> would be something like:
>
> ... cut ...
> /* @get("label button") */
> say "label:" label~getText
> say "button:" button~getText
> ... cut ...
>
> For debugging purposes there is also a Rexx script annotation named 
> "/*@showsource*/" which will
> cause the Java Rexx script engine to display the Rexx source code as seen by 
> Java. If there are
> Rexx script annotations of the form "/*@get("attr1 attr2... ")*/" or 
> "/*@set("attr1 attr2... ")*/"
> then the edited version of the same Rexx source code will be shown that will 
> get executed by
> ooRexx. (The @get and @set annotations will cause ooRexx code to be injected 
> in front of it, so
> with the @showsource annotation you will be able to see what code gets 
> injected.)
>
> There are many tutorials available for JavaFX (use the word "JavaFX").
>
> If you have never worked with GUIs on Java (the founding principles are the 
> same as in all GUI
> programming on all platforms), t

Re: [Oorexx-devel] What impact will Microsoft's removal of cmd.exe from Windows 10 have on ooRexx?

2016-12-07 Thread Rony G. Flatscher
Michael,

what are your sources?

If MS would remove cmd.exe most programs (including their owns) would break. 
Therefore it is very
unlikely that they remove cmd.exe support.

---rony


On 07.12.2016 19:02, Michael Lueck wrote:
> Greetings Team,
>
> I recently read of Microsoft's plan to remove cmd.exe from a coming update to 
> Windows 10. What impact will that removal have on ooRexx?
>
> Is the ability to run a text mode application also under attack, or for now 
> just removal of cmd.exe?
>
> I would think ooRexx would need some sort of replacement of cmd.exe to send 
> shell commands to.
>
> I am thankful,
>


--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/xeonphi
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] [Ibm-netrexx] Still want Rexx on Android. Some thoughts.

2016-12-16 Thread Rony G. Flatscher

On 16.12.2016 08:37, Mike Cowlishaw wrote:
> Have you tried Rexx for Android?  Available on Google Play:
>  
> https://play.google.com/store/apps/details?id=com.jaxo.android.rexx&hl=en
Unfortunately, it does not work as described, its state could be described to 
be beta. Also, it
seems that the author (a nice French gentleman) has disappeared from the 
surface of the earth.

Ad Jason's research success on ooRexx for Android: wow! The student who did the 
port has been
brushing up a few things and intends to submit his port to the ooRexx project. 
If you have any
feedback to the ooRexx port, if there are features from Android that you would 
like to use, but
cannot use via the command line (many of the Android specific features should 
be invocable via the
commandline), then please let us know (best via the ooRexx developer list, 
hence I included it in cc:).

Thank you also for your findings and pointers about the non-rooted environments 
you have found and
experimented with!

---rony


>
>
> 
> 
> *From:* ibm-netrexx-boun...@hursley.ibm.com 
> [mailto:ibm-netrexx-boun...@hursley.ibm.com] *On
> Behalf Of *Jason Martin
> *Sent:* 16 December 2016 01:12
> *To:* IBM Netrexx
> *Subject:* [Ibm-netrexx] Still want Rexx on Android. Some thoughts.
>
> Three good open source environments that do not require rooted device
>
> Terminal IDE
> http://www.spartacusrex.com/terminalide.htm
> 1) have built and used NetRexx inside this.
> 2) brexx works
> 3) oorexxforandroid works
> 4) still cannot do android build of regina
>
> RFO BASIC!
> http://rfo-basic.com
> 1) was easy to port everything but Run.java to NetRexx
>Make Run.java interpreter a classic rexx interpreter but use NetRexxR  
>  
> 2) call libregina from Java
>
> AndroWish
> http://www.androwish.org/index.html/home
> 1) add brexx to this
> 2) add oorexx to this
> 3) add regina to this
>
>
> Sources for rexx code:
>
> brexx
> https://github.com/vlachoudis/brexx
>
> Regina Rexx Interpreter
> https://sourceforge.net/projects/regina-rexx/files/
>
> Open Object Rexx
> https://github.com/KlemensEngel/oorexxforandroid
>
> NetRexx
> https://sourceforge.net/projects/netrexx/
>

--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] [Ibm-netrexx] Still want Rexx on Android. Somethoughts.

2016-12-16 Thread Rony G. Flatscher

On 16.12.2016 11:01, Mike Cowlishaw wrote:
> On 16.12.2016 08:37, Mike Cowlishaw wrote:
>
>> Have you tried Rexx for Android?  Available on Google Play:
>>  
>> 
>> https://play.google.com/store/apps/details?id=com.jaxo.android.rexx&hl=en
> Unfortunately, it does not work as described, its state could be 
> described to be beta.  
>  
> Oh ... I've used it quite a bit as didn't notice any problems.  But I was 
> only doing fairly
> simple things just as repeated calculations.
>
Sorry, I should have been more explicit: Pierre G. Richard, a very nice and 
sharp French gentleman,
implemented Android intentions which would allow one to react upon Android 
events in Rexx. He was
very proud of that feature, but a student who tried to exploit this area, was 
not able to do so.
Trying to contact Pierre (who had been very nice and constructive) yielded no 
answers, which was
very untypical of him. Attempts to get information via jaxo were neither 
successful, therefore I
fear that something bad has happened to him.

>  
> Also, it seems that the author (a nice French gentleman) has disappeared 
> from the surface of
> the earth. 
>  
> AhSo.
>
:)

---rony

--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Ad release plans for ooRexx 5.0 ?

2016-12-23 Thread Rony G. Flatscher
Are there any release plans for ooRexx 5.0?

Judging from using ooRexx 5.0.0beta for a few months it seems to be stable, 
such that a general
availability might be in place.

What are the opinions from the developers?

---rony





--
Developer Access Program for Intel Xeon Phi Processors
Access to Intel Xeon Phi processor-based developer platforms.
With one year of Intel Parallel Studio XE.
Training and support from Colfax.
Order your platform today.http://sdm.link/intel
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Ad Security Manager sample in rexxref.pdf

2017-01-02 Thread Rony G. Flatscher
While going over the security manager documentation in rexxref.pdf, chapter 13, 
a few quick
observations with ooRexx 5.0beta:

  * the names of the Rexx programs ("agent2.cmd", which is not shown; the 
replacer class in the
requires method uses "agent.cmd" ) have still the file extension ".cmd" 
(from the OS/2 days)
instead of ".rex"

  * the "requires" method in the security manager seems to not be triggered 
anymore (would it be
triggered using the dynamic form of requires?)

  * the statement "agent.cmd" statement: ".object~setmethod("SETMETHOD")" 
yields the runtime
condition, aborting the example with:
  o Error 98 running agent1.rex line 9:  Execution error.
Error 98.991:  Method SETMETHOD may only be invoked from a method of 
the same object or one
of its classes.

---rony
--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


Re: [Oorexx-devel] Ad Security Manager sample in rexxref.pdf

2017-01-02 Thread Rony G. Flatscher
On 02.01.2017 23:04, Rony G. Flatscher wrote:
> While going over the security manager documentation in rexxref.pdf, chapter 
> 13, a few quick
> observations with ooRexx 5.0beta:
>
>   * the "requires" method in the security manager seems to not be triggered 
> anymore (would it be
> triggered using the dynamic form of requires?)
>
This works (also for the dynamic version of requires, ie.
".context~package~addPackage(.package~new('agent3.rex'))
"), sorry for the false alarm (the agent's requires is processed before the 
first security manager
is being used).

It's probably too late, so I will take off ... :)

---rony

P.S.: The other two remarks (".cmd", "setmethod"-instruction in agent's code) 
still hold.
--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Security Manager: how to intercept the "::requires" directive ?

2017-01-03 Thread Rony G. Flatscher
While experimenting with the security manager (cf. rexxref.pdf, chapter 13) it 
seems that there is a
bug, which inhibits intercepting a "requires" directive.

As an example take this stripped down Rexx program "agent1.rex":

say "in agent1.rex ..." -- security manager sees this "dynamic requires":
.context~package~addPackage(.package~new('*agent3.rex*')) *::requires 
agent2.rex* -- security
manager does not see this!

The Rexx program "agent2.rex" looks like this:

say "in agent2.rex ..."

The Rexx program "agent3.rex" looks like this:

say "in agent3.rex ..."

The Rexx program "test_question.rex" that wishes to use a security manager to 
intercept anything in
"agent1.rex" looks as follows:

filename="agent1.rex" -- the execution of this package should be controlled 
secManager=.show~new
-- the security manager to use go=.go~new -- the object to use for running 
the method
meth=.method~newFile(filename) -- returns a method representing the package 
say "Calling
program" program "with a 'SHOW' manager:" 
meth~setSecurityManager(secManager) go~run(meth)
::class go subclass object -- "run": private method in .Object ::method run 
-- "run": public
method use arg m self~run:super(m) ::class show -- security manager that 
shows each invocation
and the directory entries ::method unknown -- return .false to have ooRexx 
handle the action use
arg methName, methArgs dir=methArgs[1] say "===> method:" pp(methName)":" 
do idx over
dir~allindexes~sort say " "~copies(20) "dir["idx"]" "->" pp(dir[idx]) end 
return .false --
indicate that not handled by security manager ::routine pp return 
"["arg(1)"]"

The problem (bug?) that I am facing is with ".method~newFile(filename)" which 
carries out the
"requires" directive, before the security manager is set for it. Running the 
above program
"test_question.rex" yields the following output:

F:\work\svn\bsf4oorexx\trunk\bsf4oorexx.dev\tmp\secmanager.tmp> 
test_question.rex *in
agent2.rex...* Calling program PROGRAM with a 'SHOW' manager: *in 
agent1.rex ...* ===> method:
[LOCAL]: dir[NAME] -> [CONTEXT] dir[RESULT] -> [The NIL object] ===> 
method: [ENVIRONMENT]:
dir[NAME] -> [CONTEXT] dir[RESULT] -> [The NIL object] ===> method: 
[REQUIRES]: dir[NAME] ->
[agent3.rex] ===> method: [REQUIRES]: dir[NAME] ->
[F:\work\svn\bsf4oorexx\trunk\bsf4oorexx.dev\tmp\secmanager.tmp\agent3.rex] 
*in agent3.rex...*

(Also, it looks strange that the requires method of the security manager is 
invoked twice, once with
the supplied program name and then also with a fully qualified name.)

It seems that newFile carries out the directives already, including the 
::requires directive, before
setting the method object to the desired security manager? (Same behaviour when 
using
.routine~newFile instead.)

What would be needed, to have the security manager react upon carrying out the 
'::requires
agent2.rex' statement in "agent1.rex" that gets loaded using .method~newFile?

---rony

--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


[Oorexx-devel] Security Manager: how to have a CALL'ed Rexx program monitored by a Security Manager ?

2017-01-04 Thread Rony G. Flatscher
The REQUIRES method (if it gets invoked) allows for setting a SECURITYMANAGER 
entry that should
govern the execution of the named Rexx program.

The security manager will invoke a CALL method on executing any external 
function, including calling
entire Rexx programs like "call somerexx.rex". How could one make sure that 
executing such an
external Rexx program gets carried out under the auspices of a specific 
security manager?

---rony

P.S.: Maybe allowing for adding a security manager as a second optional 
argument to the
.Method/.Routine new and newFile class methods might be helpful?

P.P.S.: Maybe allowing to indicate to the security manager that any 
required/called Rexx
program/package should be executed under the currently set security manager 
might be helpful as well?



--
Check out the vibrant tech community on one of the world's most 
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
___
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel


  1   2   3   4   5   6   7   8   9   10   >