MandrakeLinux is a popular Linux distribution that relies very much on Perl for its installation and its administration. Sometimes the same tool can run either in a tty or under the X window system using Perl-Gtk. For example. urpmi, a front-end to rpm, the MandrakeLinux package manager, is written in Perl. MandrakeSoft has developped a generic library that is very useful: perl-MDK-common is the rpm that contains it. I know that perl-MDK-Common is used by gentoo, too.

In a sense, the Perl tools developed by MandrakeSoft suffer of the same problem of visibility that other perl tools. Indeed, when a community is very strong, it develops its own forums and it becomes paradoxically less visible because it is underepresented in generic forums like sourceforge. In the case of MandrakeSoft the tools are mostly invisible from the Perl community because they are not in CPAN.

But I am not writing here to sing praises to Mandrakelinux but to advertize a little know tool not even written in Perl: perl_checker. Rafael Garcia-Suarez, MandrakeSoft programmer and one of the Perl5 pumpkings, drawed my attention to that tool. perl_checker is developped by pixel, one of the MandrakeSoft programmers. Its goal is to enforce a sound style policy for Perl programs. perl_checker is written in OCAML. another camel related language. :)

Probably the Perl6 community should get interested in OCAML in particular and the ML class of languages in general because they have done a lot of research on type inference. OCAML code is statically typed while Perl6 will be a mix of statically typed and dynamically typed code.

I guess that, someday, Perl6 will have to do some kind of type inference so as to permit Perl programmers to be light on type annotation but for the Perl6 compiler to generate when possible efficient code (statically typed code, even jittable for simple operations like dealing with integers and floats).

For people interested in OCAML implementation and type inference, here is a good place to start.

I have been asked how to get perl_checker. It is part of the Perl-MDK-Common rpm package. Get the last src rpm if you want to peek the OCAML source.

lftp -c 'open +devel/cooker/SRPMS/main; mget perl-MDK*'
The cvs is

-- stefp

2004-12-17 Janitored by Arunbear - replaced pre tags with code tags, to prevent distortion of site layout