http://www.perlmonks.org?node_id=1043019


in reply to Re^5: v5, a reimplementation of P5 (was Re^5: A "Perl-7" that I could actually USE right now)
in thread A "Perl-7" that I could actually USE right now

a worthwhile replacement for Perl 5.

I still don't get all this endeavour to re-write P5 in P6. P5 is perfectly embeddable.

Just embed perl5xx.dll/.so into the P6 compiler and provide:

  1. P6 built-in(s) to access p5 subroutines:

    Say something like:

    use P5 qw[ LWP::Simple ]; ... my $url :String = <...some P6 source>; my $content = p5call( "LWP::Simple::get( $url )" );
    ).
  2. P6 proxies for P5 objects:

    Say:

    use P5 qw[ DBI DBD::Pg ]; ... my $dbi = P5Object( "DBI->connect( $dataSource, $userName, $userAuth, +\%attrs" ); ); my $sth = $dbi->prepare( 'SOME SQL HERE' ); ...

Full compatibility at a stroke, and full P5 performance (within the p5 code), and a small hit through the thunking layer.

How hard could it be to write the thunking layer? (It's gotta be easier than recreating P5 + XS + everything else.)

I effectively do exactly this in my 15-line Perl5 REPL.


With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.