Beefy Boxes and Bandwidth Generously Provided by pair Networks
Pathologically Eclectic Rubbish Lister
 
PerlMonks  

Re^5: Perl 5 Optimizing Compiler, Part 15: RPerl v1.2 Kickstarter Now Live

by Corion (Patriarch)
on Sep 28, 2015 at 08:04 UTC ( [id://1143205]=note: print w/replies, xml ) Need Help??


in reply to Re^4: Perl 5 Optimizing Compiler, Part 15: RPerl v1.2 Kickstarter Now Live
in thread Perl 5 Optimizing Compiler, Part 15: RPerl v1.2 Kickstarter Now Live

But if use types really means that variables must be typed, together with all other restrictions, this would just be a C (or C++) with Perlish syntax (and consequently a different language)

Which isn't necessarily useless. I could still imagine this to be useful as an inline language ( Inline::RPerl ) to avoid XS for inner loops where performance matters.

Yeah, the commandements reduce Perl to a managed-memory C without function pointers. As you say, it isn't useless if you want to avoid C and XS.

  • Comment on Re^5: Perl 5 Optimizing Compiler, Part 15: RPerl v1.2 Kickstarter Now Live

Replies are listed 'Best First'.
Re^6: Perl 5 Optimizing Compiler, Part 15: RPerl v1.2 Kickstarter Now Live
by LanX (Saint) on Sep 28, 2015 at 12:48 UTC
    From the FAQ

    Q: How does RPerl work?

    A: The input to the RPerl compiler is low-magic Perl 5 source code. RPerl converts the low-magic Perl 5 source code into C++ source code using Perl and/or C++ data structures. Inline::CPP converts the C++ source code into XS source code. Perl's XS tools and a standard C++ compiler convert the XS source code into machine-readable binary code, which can be directly linked back into normal high-magic Perl 5 source code. The output of the RPerl compiler is fast-running binary code that is exactly equivalent to, and compatible with, the original low-magic Perl 5 source code input. The net effect is that RPerl compiles slow low-magic Perl 5 code into fast binary code, which can optionally be mixed back into high-magic Perl apps.

    Now I remember Reini talking about it.

    update

    Though I'm not sure how the "mix back" is supposed to work.

    IIRC from Reini's talk, something like Inline::Rperl is not intended.

    Cheers Rolf
    (addicted to the Perl Programming Language and ☆☆☆☆ :)
    Je suis Charlie!

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others having a coffee break in the Monastery: (3)
As of 2024-06-22 08:37 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuli‥ 🛈The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.