Re: Seeking GONZUS for collaboration
I'll be honest, I never check this list. :) But! Here's my [some form of] contribution: * We[1] worked on Path::Hilbert::XS together as part of the p5pclub efforts so the repo is under p5pclub organization: https://github.com/p5pclub/path-hilbert-xs * I can assure you we are both very responsive there. (Okay, Gonzo is the responsive one, but I'm a ping away!) * You can add optional support for it by simply trying to load it, as Shlomi noted. Module::Implementation is also good, but seems a bit of an overkill. * Feel free to ping me or Gonzo on our CPAN emails, we will be happy to help in any way! All the best, :) Sawyer. [1] That also includes other people under the p5pclub organization, namely Andre. On Mon, Jan 18, 2016 at 12:14 AM, Paul Bennettwrote: > > On Jan 17, 2016 4:50 PM, "Olaf Alders" wrote: >> >> Have you had a look at https://metacpan.org/pod/Module::Implementation ? >> >> Olaf >> > > I have now. Looks very promising indeed. Thanks! > > -- > Paul W Bennett
Re: Seeking GONZUS for collaboration
> On Jan 17, 2016, at 11:43 AM, Shlomi Fishwrote: > > Hi Paul, > > On Sun, 17 Jan 2016 11:12:17 -0500 > Paul Bennett wrote: > >> I'm PWBENNETT and I want to talk with GONZUS about Path::Hilbert::XS and >> how I can make my Path::Hilbert automatically load your ::XS module under >> the covers if it's installed. >> >> I welcome advice from anyone else who has experience shimming in ::XS >> module alternatives if present. I know there are many of you out there; the >> only one I can think of off the top of my head is INGY, but I don't mean to >> single him out. >> >> Thanks in advance, >> > > I think you can do something like > > if (eval { require Path::Hilbert::XS; } and (!$@)) > { > # Do something with @ISA or whatever. > } > > Or is that not what you mean? Have you had a look at https://metacpan.org/pod/Module::Implementation ? Olaf
Re: Seeking GONZUS for collaboration
On Jan 17, 2016 11:47 AM, "David Oswald"wrote: > > Have a look at the source (including Makefile.PL) of Math::Random::ISAAC, List::Binary::Search, and Bytes::Random::Secure for ideas of how. Also JSON, and Text::CSV. > > Most or all of the above load a Pure Perl module in the absence of an XS alternative or the XS version if available. > I have a potentially corner-ish case here, as the API is (ever so slightly) different between the two modules — the PP version has an OO interface that the XS lacks. Since the OO methods are just thin wrappers around the procedural interface (which matches the XS interface verbatim), I'm thinking I might want to do some symbol table trickery: rename the PP procedural subs (underscore prefix or something), then in a BEGIN block try to require the XS module, and either way install "correctly" named globs into %{__PACKAGE__ . '::'}. I suspect the API of the XS module won't change, but I don't know, and I don't like not knowing. Hence, I want to get the nod from GONZUS before I go for it. -- Paul W Bennett
Re: Seeking GONZUS for collaboration
On Jan 17, 2016 4:50 PM, "Olaf Alders"wrote: > > Have you had a look at https://metacpan.org/pod/Module::Implementation ? > > Olaf > I have now. Looks very promising indeed. Thanks! -- Paul W Bennett
Seeking GONZUS for collaboration
I'm PWBENNETT and I want to talk with GONZUS about Path::Hilbert::XS and how I can make my Path::Hilbert automatically load your ::XS module under the covers if it's installed. I welcome advice from anyone else who has experience shimming in ::XS module alternatives if present. I know there are many of you out there; the only one I can think of off the top of my head is INGY, but I don't mean to single him out. Thanks in advance, -- Paul W Bennett
Re: Seeking GONZUS for collaboration
Hi Paul, On Sun, 17 Jan 2016 11:12:17 -0500 Paul Bennettwrote: > I'm PWBENNETT and I want to talk with GONZUS about Path::Hilbert::XS and > how I can make my Path::Hilbert automatically load your ::XS module under > the covers if it's installed. > > I welcome advice from anyone else who has experience shimming in ::XS > module alternatives if present. I know there are many of you out there; the > only one I can think of off the top of my head is INGY, but I don't mean to > single him out. > > Thanks in advance, > I think you can do something like if (eval { require Path::Hilbert::XS; } and (!$@)) { # Do something with @ISA or whatever. } Or is that not what you mean? Regards, -- Shlomi
Re: Seeking GONZUS for collaboration
Have a look at the source (including Makefile.PL) of Math::Random::ISAAC, List::Binary::Search, and Bytes::Random::Secure for ideas of how. Also JSON, and Text::CSV. Most or all of the above load a Pure Perl module in the absence of an XS alternative or the XS version if available. On Jan 17, 2016 9:12 AM, "Paul Bennett"wrote: > I'm PWBENNETT and I want to talk with GONZUS about Path::Hilbert::XS and > how I can make my Path::Hilbert automatically load your ::XS module under > the covers if it's installed. > > I welcome advice from anyone else who has experience shimming in ::XS > module alternatives if present. I know there are many of you out there; the > only one I can think of off the top of my head is INGY, but I don't mean to > single him out. > > Thanks in advance, > > -- > Paul W Bennett >