http://qs321.pair.com?node_id=1218654


in reply to Re^5: It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?
in thread It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

But Perl 6 has the Native Calling Interface which allows you to "Call into dynamic libraries that follow the C calling convention".

I only just noticed - that seems to imply that the Native Calling Interface is for use with "dynamic libraries" only.
Hopefully there'd also be an interface to static libs ? (It's no big deal to me ... I'm simply curious about it.)

Cheers,
Rob
  • Comment on Re^6: It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?

Replies are listed 'Best First'.
Re^7: It has been suggested to rename Perl 6 in order to boost its marketing potential. Which name would you prefer?
by liz (Monsignor) on Jul 17, 2018 at 12:48 UTC
    There is no interface to static libs, as far as I know. At the moment, support for static libraries is very low on a long list of features waiting to be addressed. Sorry.
      support for static libraries is very low on a long list of features waiting to be addressed

      That would be a bit of an issue (but probably not a blocker) for me if I was wanting to code in perl6.
      On Windows I build static libs only where practicable.

      Cheers,
      Rob
        Actually, after consulting with people who know more about this than I do, it turns out it should be theoretically possible. You would have to link your static library into the MoarVM executable (which could be hairy). But after that, assuming your function is named "frobnicate" and it takes a single 64bit integer and returns a string, it would be a matter of:
        use NativeCall; sub frobnicate(int64 --> Str) is native {*}