Requesting testers for Collections enhancements to class Rexx

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Requesting testers for Collections enhancements to class Rexx

Kermit Kiser
A new experimental version of NetRexx is available for testing: This
version includes support for using Rexx class objects as part of the
Java Collections framework.

Note that an indexed Rexx object is not directly a Collection but rather
a "Map" of keys to values which encompasses a set of keys (keySet), a
collection of values, and a set of key==>value mappings (entrySet). The
updated Rexx objects implement Java interfaces "Map", "Comparable", and
"Iterable" which allow them to be members of "collections" and to also
contain "collections" themselves.

This experimental implementation is non-trivial - it includes 7 new
classes and over 50 new methods, so I would be very surprised if there
are not lots of bugs to squash. In particular, the hashcode functions
have not been addressed yet. After this implementation is debugged and
regression tested, it may become part of a future NetRexx release.

The updated binaries and source code can be found in the NetRexx Plus
project download area on Kenai:

http://kenai.com/projects/netrexx-plus/downloads/directory/Experimental%20NetRexx%20Build

-- Kermit

PS: Here is a sample program created to test some of the new features:
--------------------------------------------------------------------------------------------------
say " Testing new collections interfaces in class Rexx  "

/* create a small indexed variable:            */
rc="empty"
rc['x']="one"
rc['y']="two"
rc['xy']="three"

say " verify loop over still works:        "
loop ix over rc
     say "ix=" ix "value="rc[ix]
     end
say "rc.size="rc.size

say " verify base iterator works (including remove method):        "
it=rc.iterator
loop while it.hasNext
     nxt=Rexx it.next
     say "next="nxt
     if nxt="y" then it.remove
     end
say "rc.size="rc.size

say " verify some Map interface methods work:        "
say "key xy?" rc.containsKey("xy")
say "key y?" rc.containsKey(String "y")
say "key x?" rc.containsKey(String "x")
--say "key x?" rc.containsKey("x")            --        this one won't
compile for some reason
x="x"
say "key x?" rc.containsKey(x)            --        this one works fine
say "val one?" rc.containsValue(Rexx("one"))
say "val one?" rc.containsValue("one")
say "empty?" rc.isEmpty
say rc.get(Rexx("x"))
say rc.get(String "x")
say rc.get("xy")

say " verify values collection and iterator work:        "
v=rc.values
say v
it=v.iterator
loop while it.hasNext
     say "next value="it.next
     end

say " verify key set, clear, and iterator work:    "
ks=rc.keySet
it = ks.iterator
loop while it.hasnext
     say "next="it.next
     end
say "rc.size="rc.size
say "ks.size="ks.size
ks.clear
say "empty?" rc.isEmpty
say "rc.size="rc.size
say "ks.size="ks.size

say " reload indexed map and verify entry set, iterator, Map.Entry
objects:  "
rc['x']="one"
rc['y']="two"
rc['xy']="three"
es=rc.entrySet
it=es.iterator
loop while it.hasNext
     ne=Map.Entry it.next
     say "key="ne.getKey "value="ne.getValue
     end
--------------------------------------------------------------------------------------------------

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: Requesting testers for Collections enhancements to class Rexx

ThSITC
Hello Kermit,

    as I'm (unfortunately) still using a  *LOT* of Stem's in my private
code,
due to historic reasons (port from CMS Compiled Rexx), this mail is to
confirm that I'll now download your new version and test it in the next
days.

    When I'm finding problems, how shall I proceed, please?

(a) enter an Issue in KENAI? When yes, under which category?

   *or*

(b) send you a private mail?

Anyway, many thanks for your continuous excellent work on the NetRexx
Compiler!

Thomas Schneider.
=======================================================
Am 27.10.2011 03:31, schrieb Kermit Kiser:

> A new experimental version of NetRexx is available for testing: This
> version includes support for using Rexx class objects as part of the
> Java Collections framework.
>
> Note that an indexed Rexx object is not directly a Collection but
> rather a "Map" of keys to values which encompasses a set of keys
> (keySet), a collection of values, and a set of key==>value mappings
> (entrySet). The updated Rexx objects implement Java interfaces "Map",
> "Comparable", and "Iterable" which allow them to be members of
> "collections" and to also contain "collections" themselves.
>
> This experimental implementation is non-trivial - it includes 7 new
> classes and over 50 new methods, so I would be very surprised if there
> are not lots of bugs to squash. In particular, the hashcode functions
> have not been addressed yet. After this implementation is debugged and
> regression tested, it may become part of a future NetRexx release.
>
> The updated binaries and source code can be found in the NetRexx Plus
> project download area on Kenai:
>
> http://kenai.com/projects/netrexx-plus/downloads/directory/Experimental%20NetRexx%20Build 
>
>
> -- Kermit
>
> PS: Here is a sample program created to test some of the new features:
> --------------------------------------------------------------------------------------------------
>
> say " Testing new collections interfaces in class Rexx  "
>
> /* create a small indexed variable:            */
> rc="empty"
> rc['x']="one"
> rc['y']="two"
> rc['xy']="three"
>
> say " verify loop over still works:        "
> loop ix over rc
>     say "ix=" ix "value="rc[ix]
>     end
> say "rc.size="rc.size
>
> say " verify base iterator works (including remove method):        "
> it=rc.iterator
> loop while it.hasNext
>     nxt=Rexx it.next
>     say "next="nxt
>     if nxt="y" then it.remove
>     end
> say "rc.size="rc.size
>
> say " verify some Map interface methods work:        "
> say "key xy?" rc.containsKey("xy")
> say "key y?" rc.containsKey(String "y")
> say "key x?" rc.containsKey(String "x")
> --say "key x?" rc.containsKey("x")            --        this one won't
> compile for some reason
> x="x"
> say "key x?" rc.containsKey(x)            --        this one works fine
> say "val one?" rc.containsValue(Rexx("one"))
> say "val one?" rc.containsValue("one")
> say "empty?" rc.isEmpty
> say rc.get(Rexx("x"))
> say rc.get(String "x")
> say rc.get("xy")
>
> say " verify values collection and iterator work:        "
> v=rc.values
> say v
> it=v.iterator
> loop while it.hasNext
>     say "next value="it.next
>     end
>
> say " verify key set, clear, and iterator work:    "
> ks=rc.keySet
> it = ks.iterator
> loop while it.hasnext
>     say "next="it.next
>     end
> say "rc.size="rc.size
> say "ks.size="ks.size
> ks.clear
> say "empty?" rc.isEmpty
> say "rc.size="rc.size
> say "ks.size="ks.size
>
> say " reload indexed map and verify entry set, iterator, Map.Entry
> objects:  "
> rc['x']="one"
> rc['y']="two"
> rc['xy']="three"
> es=rc.entrySet
> it=es.iterator
> loop while it.hasNext
>     ne=Map.Entry it.next
>     say "key="ne.getKey "value="ne.getValue
>     end
> --------------------------------------------------------------------------------------------------
>
>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>
>


--
Thomas Schneider (Founder of www.thsitc.com) Member of the Rexx Languge
Asscociation (www.rexxla.org) Member of the NetRexx Developer's Team
(www.netrexx.org)

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Thomas Schneider, Vienna, Austria (Europe) :-)

www.thsitc.com
www.db-123.com
Reply | Threaded
Open this post in threaded view
|

Re: Requesting testers for Collections enhancements to class Rexx

Kermit Kiser
Thomas -

This code is experimental and not yet part of the official NetRexx so
don't enter problem reports for it on Kenai. Just send them to me or put
them on the list.

-- Kermit

On 10/27/2011 2:19 AM, Thomas Schneider wrote:

> Hello Kermit,
>
>    as I'm (unfortunately) still using a  *LOT* of Stem's in my private
> code,
> due to historic reasons (port from CMS Compiled Rexx), this mail is to
> confirm that I'll now download your new version and test it in the
> next days.
>
>    When I'm finding problems, how shall I proceed, please?
>
> (a) enter an Issue in KENAI? When yes, under which category?
>
>   *or*
>
> (b) send you a private mail?
>
> Anyway, many thanks for your continuous excellent work on the NetRexx
> Compiler!
>
> Thomas Schneider.
> =======================================================
> Am 27.10.2011 03:31, schrieb Kermit Kiser:
>> A new experimental version of NetRexx is available for testing: This
>> version includes support for using Rexx class objects as part of the
>> Java Collections framework.
>>
>> Note that an indexed Rexx object is not directly a Collection but
>> rather a "Map" of keys to values which encompasses a set of keys
>> (keySet), a collection of values, and a set of key==>value mappings
>> (entrySet). The updated Rexx objects implement Java interfaces "Map",
>> "Comparable", and "Iterable" which allow them to be members of
>> "collections" and to also contain "collections" themselves.
>>
>> This experimental implementation is non-trivial - it includes 7 new
>> classes and over 50 new methods, so I would be very surprised if
>> there are not lots of bugs to squash. In particular, the hashcode
>> functions have not been addressed yet. After this implementation is
>> debugged and regression tested, it may become part of a future
>> NetRexx release.
>>
>> The updated binaries and source code can be found in the NetRexx Plus
>> project download area on Kenai:
>>
>> http://kenai.com/projects/netrexx-plus/downloads/directory/Experimental%20NetRexx%20Build 
>>
>>
>> -- Kermit
>>
>> PS: Here is a sample program created to test some of the new features:
>> --------------------------------------------------------------------------------------------------
>>
>> say " Testing new collections interfaces in class Rexx  "
>>
>> /* create a small indexed variable:            */
>> rc="empty"
>> rc['x']="one"
>> rc['y']="two"
>> rc['xy']="three"
>>
>> say " verify loop over still works:        "
>> loop ix over rc
>>     say "ix=" ix "value="rc[ix]
>>     end
>> say "rc.size="rc.size
>>
>> say " verify base iterator works (including remove method):        "
>> it=rc.iterator
>> loop while it.hasNext
>>     nxt=Rexx it.next
>>     say "next="nxt
>>     if nxt="y" then it.remove
>>     end
>> say "rc.size="rc.size
>>
>> say " verify some Map interface methods work:        "
>> say "key xy?" rc.containsKey("xy")
>> say "key y?" rc.containsKey(String "y")
>> say "key x?" rc.containsKey(String "x")
>> --say "key x?" rc.containsKey("x")            --        this one
>> won't compile for some reason
>> x="x"
>> say "key x?" rc.containsKey(x)            --        this one works fine
>> say "val one?" rc.containsValue(Rexx("one"))
>> say "val one?" rc.containsValue("one")
>> say "empty?" rc.isEmpty
>> say rc.get(Rexx("x"))
>> say rc.get(String "x")
>> say rc.get("xy")
>>
>> say " verify values collection and iterator work:        "
>> v=rc.values
>> say v
>> it=v.iterator
>> loop while it.hasNext
>>     say "next value="it.next
>>     end
>>
>> say " verify key set, clear, and iterator work:    "
>> ks=rc.keySet
>> it = ks.iterator
>> loop while it.hasnext
>>     say "next="it.next
>>     end
>> say "rc.size="rc.size
>> say "ks.size="ks.size
>> ks.clear
>> say "empty?" rc.isEmpty
>> say "rc.size="rc.size
>> say "ks.size="ks.size
>>
>> say " reload indexed map and verify entry set, iterator, Map.Entry
>> objects:  "
>> rc['x']="one"
>> rc['y']="two"
>> rc['xy']="three"
>> es=rc.entrySet
>> it=es.iterator
>> loop while it.hasNext
>>     ne=Map.Entry it.next
>>     say "key="ne.getKey "value="ne.getValue
>>     end
>> --------------------------------------------------------------------------------------------------
>>
>>
>> _______________________________________________
>> Ibm-netrexx mailing list
>> [hidden email]
>> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>>
>>
>
>
_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Reply | Threaded
Open this post in threaded view
|

Re: Requesting testers for Collections enhancements to class Rexx

ThSITC
Kermit, OK!
   (drop my other mail just sent to you!)

I will now start to parallel-Test NetRexx3.01RC2 and your after3.01 version,
and send a report to you when I do encounter any problems (with the
examples failing, when dfailing at all)

Kepp up the good work, Kermit!

Thanks in advance,
Thomas.
======================================================

Am 27.10.2011 19:21, schrieb Kermit Kiser:

> Thomas -
>
> This code is experimental and not yet part of the official NetRexx so
> don't enter problem reports for it on Kenai. Just send them to me or
> put them on the list.
>
> -- Kermit
>
> On 10/27/2011 2:19 AM, Thomas Schneider wrote:
>> Hello Kermit,
>>
>>    as I'm (unfortunately) still using a  *LOT* of Stem's in my
>> private code,
>> due to historic reasons (port from CMS Compiled Rexx), this mail is
>> to confirm that I'll now download your new version and test it in the
>> next days.
>>
>>    When I'm finding problems, how shall I proceed, please?
>>
>> (a) enter an Issue in KENAI? When yes, under which category?
>>
>>   *or*
>>
>> (b) send you a private mail?
>>
>> Anyway, many thanks for your continuous excellent work on the NetRexx
>> Compiler!
>>
>> Thomas Schneider.
>> =======================================================
>> Am 27.10.2011 03:31, schrieb Kermit Kiser:
>>> A new experimental version of NetRexx is available for testing: This
>>> version includes support for using Rexx class objects as part of the
>>> Java Collections framework.
>>>
>>> Note that an indexed Rexx object is not directly a Collection but
>>> rather a "Map" of keys to values which encompasses a set of keys
>>> (keySet), a collection of values, and a set of key==>value mappings
>>> (entrySet). The updated Rexx objects implement Java interfaces
>>> "Map", "Comparable", and "Iterable" which allow them to be members
>>> of "collections" and to also contain "collections" themselves.
>>>
>>> This experimental implementation is non-trivial - it includes 7 new
>>> classes and over 50 new methods, so I would be very surprised if
>>> there are not lots of bugs to squash. In particular, the hashcode
>>> functions have not been addressed yet. After this implementation is
>>> debugged and regression tested, it may become part of a future
>>> NetRexx release.
>>>
>>> The updated binaries and source code can be found in the NetRexx
>>> Plus project download area on Kenai:
>>>
>>> http://kenai.com/projects/netrexx-plus/downloads/directory/Experimental%20NetRexx%20Build 
>>>
>>>
>>> -- Kermit
>>>
>>> PS: Here is a sample program created to test some of the new features:
>>> --------------------------------------------------------------------------------------------------
>>>
>>> say " Testing new collections interfaces in class Rexx  "
>>>
>>> /* create a small indexed variable:            */
>>> rc="empty"
>>> rc['x']="one"
>>> rc['y']="two"
>>> rc['xy']="three"
>>>
>>> say " verify loop over still works:        "
>>> loop ix over rc
>>>     say "ix=" ix "value="rc[ix]
>>>     end
>>> say "rc.size="rc.size
>>>
>>> say " verify base iterator works (including remove method):        "
>>> it=rc.iterator
>>> loop while it.hasNext
>>>     nxt=Rexx it.next
>>>     say "next="nxt
>>>     if nxt="y" then it.remove
>>>     end
>>> say "rc.size="rc.size
>>>
>>> say " verify some Map interface methods work:        "
>>> say "key xy?" rc.containsKey("xy")
>>> say "key y?" rc.containsKey(String "y")
>>> say "key x?" rc.containsKey(String "x")
>>> --say "key x?" rc.containsKey("x")            --        this one
>>> won't compile for some reason
>>> x="x"
>>> say "key x?" rc.containsKey(x)            --        this one works fine
>>> say "val one?" rc.containsValue(Rexx("one"))
>>> say "val one?" rc.containsValue("one")
>>> say "empty?" rc.isEmpty
>>> say rc.get(Rexx("x"))
>>> say rc.get(String "x")
>>> say rc.get("xy")
>>>
>>> say " verify values collection and iterator work:        "
>>> v=rc.values
>>> say v
>>> it=v.iterator
>>> loop while it.hasNext
>>>     say "next value="it.next
>>>     end
>>>
>>> say " verify key set, clear, and iterator work:    "
>>> ks=rc.keySet
>>> it = ks.iterator
>>> loop while it.hasnext
>>>     say "next="it.next
>>>     end
>>> say "rc.size="rc.size
>>> say "ks.size="ks.size
>>> ks.clear
>>> say "empty?" rc.isEmpty
>>> say "rc.size="rc.size
>>> say "ks.size="ks.size
>>>
>>> say " reload indexed map and verify entry set, iterator, Map.Entry
>>> objects:  "
>>> rc['x']="one"
>>> rc['y']="two"
>>> rc['xy']="three"
>>> es=rc.entrySet
>>> it=es.iterator
>>> loop while it.hasNext
>>>     ne=Map.Entry it.next
>>>     say "key="ne.getKey "value="ne.getValue
>>>     end
>>> --------------------------------------------------------------------------------------------------
>>>
>>>
>>> _______________________________________________
>>> Ibm-netrexx mailing list
>>> [hidden email]
>>> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>>>
>>>
>>
>>
> _______________________________________________
> Ibm-netrexx mailing list
> [hidden email]
> Online Archive : http://ibm-netrexx.215625.n3.nabble.com/
>
>


--
Thomas Schneider (Founder of www.thsitc.com) Member of the Rexx Languge
Asscociation (www.rexxla.org) Member of the NetRexx Developer's Team
(www.netrexx.org)

_______________________________________________
Ibm-netrexx mailing list
[hidden email]
Online Archive : http://ibm-netrexx.215625.n3.nabble.com/

Thomas Schneider, Vienna, Austria (Europe) :-)

www.thsitc.com
www.db-123.com