Beefy Boxes and Bandwidth Generously Provided by pair Networks
Just another Perl shrine
 
PerlMonks  

Re^2: Rationale for why successive Perl releases are not XS-compatible?

by vrk (Chaplain)
on Mar 17, 2017 at 15:57 UTC ( #1185055=note: print w/replies, xml ) Need Help??


in reply to Re: Rationale for why successive Perl releases are not XS-compatible?
in thread Rationale for why successive Perl releases are not XS-compatible?

chromatic's blog post is a good read, but as he points out, it would actually be beneficial to have an extra layer between perl's internals and user modules to prevent XS code from accessing the internals. I don't disagree with the necessity for changing the internals periodically. It would just be nice to have a binary compatible interface that shields you from those changes...

  • Comment on Re^2: Rationale for why successive Perl releases are not XS-compatible?

Replies are listed 'Best First'.
Re^3: Rationale for why successive Perl releases are not XS-compatible?
by Anonymous Monk on Mar 17, 2017 at 17:14 UTC
    The perl api mostly consists of inline macros, for speed. It should be relatively simple to design a semistable binary api: just provide out-of-line-compiled functions for each of the inline macros. There would be a slight speed penalty, which is why nobody has done it.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1185055]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (8)
As of 2023-02-01 15:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I prefer not to run the latest version of Perl because:







    Results (11 votes). Check out past polls.

    Notices?