Sunday, August 31, 2014

NetRexx Pipelines

I am working on integration of Pipelines (by Ed Tomlinson and Jeff Hennick) with the NetRexx translator for release 3.04, that will be available somewhere in September 2014. Prompted by fairly unrelated thoughts about Java 8's lambda's and the pipelines on collections classes made possible by those, I remembered how closely Rexx is to Pipes on VM/CMS (as is my conclusion based on lots of stories) I was looking into a way of making the use of a pipeline as straightforward as possible. In an earlier stage (no pun intended) I had repackaged the njpipes package into using the org.netrexx.njpipes hierarchy (where previous releases used pipes. and stages. packages) and was not entirely happy with the visual distraction the elaboration of the package names (to adhere to the package naming conventions) introduced; while an the other hand feedback from early adapters of the njpipes package indicated that using CLASSPATH and successfully installing the package was still problematic, undoubtedly because people trying the pipelines would be more proficient with Rexx than with Java. The solution seems to be to integrate the package with the NetRexx translation archive itself, making sure there is not import needed to use a pipeline. The pipes compiler compiles a NetRexx source file which includes a pipe specification to a .class file - even if it contains no NetRexx but only a pipe - or a number of pipes. At the moment everything works and the test cases work. I am working on the manual and try to get it into a shape that I can send to John Hartmann, who earlier on promised to write a short introduction. When it all works, it will also be the first time an open source package will provide a pipes implementation for z/OS TSO.

No comments: