Perl wrapper for ROOT

Dear ROOT folks,

I’ve been playing with the idea of writing a Perl wrapper for ROOT for about a week now and finally sat down and wrote a first cut on the past weekend. Unlike Fabrice Salvaire’s 2004 PerlROOT, it’s modeled after Ruby-ROOT and does as much as possible dynamically at run-time using the introspection API (not Reflex yet). Quite a few things are working, a lot aren’t, but it seems useful enough to expose it to some criticism. Whatever way this criticism goes, I’m amazed at what can be achieved this quickly via the introspection API. Thank you for that!

The wrapper is called “SOOT” in a pun on being a (string) increment of “ROOT” and being all dirty inside. :slight_smile:
You can find the code on github at
http://github.com/tsee/soot
and an early first “release” on CPAN at
http://search.cpan.org/~smueller/SOOT

The github repository also contains the as yet unreleased SOOT::App, a REPL (interactive interpreter) based on the Devel::REPL module and a bunch of other things from CPAN.

Feedback is appreciated. In particular, I’d like to know whether this kind of work is generally welcome and could even potentially ship alongside the other language bindings in future, provided I find the time to polish it.

Installation of the CPAN release should be quite simple. Set up your ROOT paths as usual (root-config in PATH). Then run “sudo cpan SOOT”, answer cpan’s questions if you’re using it for the first time, and then wait for a bit while it compiles. The ultra-sparse documentation is accessible via “perldoc SOOT” and “man SOOT”.

Best regards,
Steffen

Hi Steffen,

Thanks for this posting.
We are willing to include your Perl interface in the bindings directory if
-you package the directory with the relevant files (Module.mk, etc)
-you send the diff file for the configure and makedepend files
-you add the perl directory in $ROOTSYS/tutorials and a few examples
-you take the commitment to maintain the system
-your classes and examples are well documented

A lot of ifs ::slight_smile:
in addition, it would be good if you could test your interface on as many systems as possible.
Let us know. Fons will follow this development as soon as he will be back.

Rene

Hi Rene,

thanks for your reply.

[quote=“brun”]
We are willing to include your Perl interface in the bindings directory if
-you package the directory with the relevant files (Module.mk, etc)
-you send the diff file for the configure and makedepend files
-you add the perl directory in $ROOTSYS/tutorials and a few examples
-you take the commitment to maintain the system
-your classes and examples are well documented

A lot of ifs ::slight_smile:
in addition, it would be good if you could test your interface on as many systems as possible.
Let us know. Fons will follow this development as soon as he will be back.[/quote]

These conditions are entirely reasonable and I expected as much. Whether or not it is feasible for me to get the wrapper in a stable, useful state and maintain that state will become clear in the coming months.

Best regards,
Steffen