Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

MandrakeSoft perl_checker

by stefp (Vicar)
on Dec 17, 2004 at 03:33 UTC ( #415538=perlmeditation: print w/replies, xml ) Need Help??

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

Replies are listed 'Best First'.
Re: MandrakeSoft perl_checker
by tilly (Archbishop) on Dec 18, 2004 at 01:39 UTC
    OK, so there is a fantastic tool written in OCAML named perl_checker.

    Fine. What does it do exactly, and why is it fantastic?

Re: MandrakeSoft perl_checker
by Anonymous Monk on Dec 17, 2004 at 14:57 UTC
    Perhaps it's totally ignored not because it's not CPAN, but because it's just not open source, hence none of us could ever contribute to it? There are valid and good reasons for prejudice against such tools...

      What makes you think it isn't open-source? The source is freely available from the Mandrake-sources trees. I think the reason it may have less visibility in the Perl community has to do more with the fact that it isn't Perl. Not to denigrate OCAML (I don't know enough about it to make a judgement), but it seems that Perl developers tend to like using development tools written in Perl.

      I know that's my preference, and for me it has largely to do with the potential need to modify the tools -- when I'm in "Perl mode", it would be far easier for me to make a tweak to a Perl-based tool than, say, a C-based tool.

      require General::Disclaimer;
      s//2fde04abe76c036c9074586c1/; while(m/(.)/g){print substr(' ,JPacehklnorstu',hex($1),1)}

        Ok, fair enough ... I did find the CVS logs on google. I guess I just saw the binary RPM and questioned that.

        I would hope to see "open open source", i.e. something that is easy for non-mandrake users to get at, submit bugs, submit patches, etc. Aka -- sourceforge.

        The choice of using OCaml to write this was ... interesting ... to say the least. (There is nothing wrong with OCaml, but if it is a tool for Perl users, I'd expect them to want to play with it).

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: perlmeditation [id://415538]
Approved by atcroft
Front-paged by grinder
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (8)
As of 2021-01-27 23:11 GMT
Find Nodes?
    Voting Booth?