I'm a very pleased to receive a Perl Foundation microgrant. For the grant, I'm writing a Java to Perl 6 API converter. This will create the potential for highly similar APIs in both languages.
I originally wrote a Java API parser for Java::Swing, where I used it to feed a code generator which built the Java-Perl glue for event listener callbacks. Now I will convert that from Perl 5 to Perl 6 and make it more general and user friendly.
Thanks to Tim Bunce for suggesting the idea and for encouraging me to apply for the grant. He has some plan to use the result to aid development of the Perl 6 DBI, but Perl's DBI is unlikely to emulate Java's JDBC.
I've already begun planning the code. My initial thought is that there will be three modules. The first will simply shell out to the Java deparser 'javap'. That tool comes with the standard Java dev kit. Users of my module would need to have the tool. In the future, shelling out might not be necessary when the Perl 6 (or Parrot) equivalent of Inline::Java is available. Then the first module could use Java classes from the 'Axis' Apache foundation project instead.
The second module would take the raw output of javap and parse it using a Perl 6 grammar. Learning about Perl 6 rules is my primary motivation for taking on this task.
Finally, using the parse tree from the second module, would be a third module (or set of modules) to emit Perl 6 code.
Tying the three modules together will be a command line script.
I'm back at my desk in Kansas after spendning most of last week at the Plat_Forms contest in Nurenberg Germany.
Our team made some strategic time management mistakes which kept us from fully completing the task assigned. But I don't think any team actually finished it.
The hardest part was attempting to serve soap through our framework in compliance with an exteranlly mandated WSDL file. Perhaps we could have done that with more intimate knowledge of SOAP::Lite. Perhaps Perl needs better SOAP support. Perhaps SOAP is fading into the dark history of computing to join the likes of RPC schemes like DCE. It's hard for me to say.
We enjoyed touring Nurenberg. The old city is quite old, but it is vibrant with shops and shoppers who were in no way deterred by the snow. About a foot of it fell beginning Tuesday. Thankfully, that is started after we arrived. It continued to fall most of the days we were there.
Mass transit is wonderful. They have efficient trains, trams, and busses.
Now it's back to the normal grind, which will be easier when the jet lag wears off.
We arrived in Germany on Tuesday and spent Wednesday seeing the German National Museum and walking around snow covered Nurenberg. By now about a foot of snow has fallen. Our friends from this side of the atlantic have been delayed by the snow. We are waiting in the contest room for them to arrive. They have our server. We hope they do arrive tonight, but aren't too worried... yet.
I owe thanks to a committee of locals who helped me get to my hotel last night after I got off at the wrong train stop.
We are making our final preparations for the Plat_Forms contest. Our power cord adapters are in hand and our hotel rooms are booked.
Gantry is sporting a bit of clean up and a new SOAP capability (responses are prepared with SOAP::Lite, requests are integrated into Gantry). Bigtop generates all the code except the part that does the real work. For now, it only works for mod_perl 2.0. Time permitting we will make it work for mod_perl 1.0 and CGI after the contest.
We could use your help
The contest organizers are going to set up a blog server where contestants can get feedback from the public during the contest time. You can help us by visiting the blog during that time and providing feedback. The contest is from Thursday 8:00 UTC until Friday 15:00 UTC. Helpful comments will be greatly appreciated.
There will be two other perl teams. Please give them comments too. Help all of us make Perl look good.
Our tickets are now booked to Nurenburg for the Plat_Forms contest. You can see a list of all the teams on the contest site.
I found a lovely power adapter at a big box retailer in town. It tells me I can use it to plug my laptop into EU, UK, Australia, and New Zealand power outlets. I hope that includes Germany. We'll see.
We've also added a couple of useful things to our code generation framework. They should appear on CPAN sometime in the next month. They're already in the svn trunk.
The contest requires serving SOAP, which don't do. So, we are studying SOAP::Lite and planning our possible approaches.
On Friday last week we got the notice that our team will be going to Germany to hold high the banner of Perl in the Plat_Forms contest.
We will be using the Gantry framework running under mod_perl 2.
The first order of business was booking flights from Kansas City to Nurenburg. Next up is finding power cords or adapters for our various laptops.