Monday, August 27, 2007

Perl6 - A step ahead

Got an opportunity to attend Perl Mongers users meet here in bangalore. Because of my friend Subramani, i was there at the meet and it turned out to be a mind boggling session. The meet was about the features of Perl6 that is yet to be released. We reached the meeting a little late and when we reached the meeting has started and the speaker was talking about "pugs". "pugs" stands for Perl6 user golfing system. Looks like Larry Wall wanted perl6 to be a community developed project. Pugs is one of the sucessfull implementations of the specification written by Larry Wall. Pugs is written fully in a language called Haskel. Pugs could produce output in Haskell, perl5 or if you want in Java script so that it can be viewed in browser !

One of the most important feature of Perl6 is that, it supports inline C, python and inline java. It was awesome to see a java code inside a perl program. Yet another feature in perl6 was Hyperoperators which helps in exploiting parallelism. An example of hyperoperators is

[2, 2, 3, 5] >>+<< [4, 4, 3, 1] (result would be [6, 6, 6, 6])

Not only hyperoperators, hypermethods are also available. An example would be like [1, 4, 9, 16] >>. sqrt

One more change in perl6 is that, while loop is no longer used. It is also possible to assign multiple values to variable like $city = "chennai" | "bangalore" and check the variable for any of the values like any <$city> == "chennai". There are a lot other options available with Perl6 but i could not remember a lot that was said in the meeting. The biggest blunder i did was going to the meeting without a scribble pad and pen. Still the meeting was very informative and i am planning to attend more meetings.

With Perl6, it is possible to change the language to match that of the problem. A video in the meet said "it is not reinventing the wheel, but keeping the wheel and reinventing the whole machine". It seemed to be true. Today learnt it is possible to run pug in the browser without download or installation. Check out this site http://feather.perl6.nl:8080/runpugs/

The Perl meeting was the only usefull thing that i did during the weekend. The next post would be on what i did after the meet or perhaps "how to kill time during weekend without much trouble" :).

No comments: