Beefy Boxes and Bandwidth Generously Provided by pair Networks
"be consistent"
 
PerlMonks  

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

by LanX (Saint)
on Sep 27, 2015 at 22:23 UTC ( [id://1143179]=note: print w/replies, xml ) Need Help??


in reply to Re^3: 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 reinterpreting them as a technical list of things that are supported or unsupported, there are some commandements that will hinder RPerl to become ever usable for me:

Well the question seems to be, if a compatibility mode would be offered, to run "impure" code at "normal" speed. Otherwise I have problems to see the manpower coming to port old CPAN modules.

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.

(which would also solve the compatibility issue)

Rather not as a replacement for Perl in total...

> For me, personally, the "Low-Magic Perl Commandements" do not really read like a technical list of things that are supported or unsupported.

This religious approach is really disturbing ...

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

Replies are listed 'Best First'.
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

    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.

      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!

Re^5: Perl 5 Optimizing Compiler, Part 15: RPerl v1.2 Kickstarter Now Live
by Anonymous Monk on Sep 27, 2015 at 23:39 UTC

    LanX: This religious approach is really disturbing ...

    funny, look around "Canon", you've been doing it for years

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (6)
As of 2025-06-17 11:09 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.