Beefy Boxes and Bandwidth Generously Provided by pair Networks
Don't ask to ask, just ask
 
PerlMonks  

Re: Re: Re: Perl 6 feature that scares me the most:

by Anonymous Monk
on May 30, 2003 at 13:16 UTC ( #261843=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Perl 6 feature that scares me the most:
in thread Perl 6 feature that scares me the most:

While this is not likely to be true at launch, within a year or so Parrot should be happy to load Perl5 code therefore making the majority (if not the entirety, depending on how XS dependant modules are handled) of CPAN available to Perl6.

Implementing that is definitely not trivial. I think it is more likely that they will end up providing *some* support for XS modules, with the recommendation that we use the new system. Some will not be able to rely upon this emulation layer and it will not move to perl6 until they are really motivated. Continuations and closures alone, won't cut it. If it were so, all those proprietary, never seen by CPAN but running in production environments XS modules, were written in Lisp/Scheme by now

  • Comment on Re: Re: Re: Perl 6 feature that scares me the most:

Replies are listed 'Best First'.
Re: Re: Re: Re: Perl 6 feature that scares me the most:
by Elian (Parson) on May 30, 2003 at 14:18 UTC
    You're right, a not insignificant chunk of the XS code won't be able to be build under parrot, no matter what we do. We haven't (yet) sat down and gone through the perl 5 API to see what can and can't be thunked to work on Parrot.

    Some of it, certainly, can be done with simple macros. Stuff like SvIV or newSViv is a no-brainer, and we will do those. Things like the array and hash access are trickier, but we can probably manage those as well.

    Where it becomes less trivial is with things like SAVETMPS and magic, and I'm not sure what we're going to be able to do for that. When we figure it out we may well put together a consistent transition API for both perl 5 and parrot, so people who are interested in moving over can migrate to the transition API as they get time and interest, so their code will require even fewer changes to build on Parrot...

      People who follow my XS philosophy (write as little XS as possible, don't write "Perl in C", pretend you are using Inline::C not XS, have a Perl wrapper make the data C-friendly for the XS routine if needed) probably won't have to rewrite.

      I just wanted to "gloat" since I think I get more "disrespect" for this philosophy than not. (:

      Update: You can do more than wrappers, just deal with data in C-friendly structures in your C code; don't write C code to manipulate Perl data structures.

                      - tye
        Absolutely--the people who are only writing wrapper code won't have nearly so much to worry about... <ducking>

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://261843]
help
Chatterbox?
[Corion]: Discipulus: I'm slowly migrating my code to require 5.8.x ;) Most of my code works on 5.6, but Filter::signatures requires 5.10 I think
[Corion]: 5.14 is also a good target, widely available and fairly stable. Also, over five years old, which doesn't push people into a needless upgrade cycle
[Discipulus]: yes I saw your efforts Corion but the pain is worth?
[Corion]: Discipulus: IMO it's not that much pain, but most of the systems I use have a Perl 5.14 or newer on them nowadays
[marto]: the question is more, is Padre still the way new users should be directed?
[Discipulus]: ah ah I have all 5.26 atm but I play alone..
[Corion]: Except this RHEL box, which comes with Perl 5.10.1 , but there I installed my own 5.20.3 for the real Perl programs we run ;)
[Corion]: marto: I used Padre for some time but then switched to Notepad++, since all the funky features I wanted to put into Padre couldn't be made to work, and/or I lost interest :)
[Discipulus]: indeed marto I dunno. I tested once and many years ago. But I'm not the programmer yardstick. I try to install Padre via cpan now just to add a line about it in the issue. Strawberryperl all life long!
[marto]: yeah, when I worked on Windows I did use Np++ all the time

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (11)
As of 2018-06-25 08:51 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?



    Results (126 votes). Check out past polls.

    Notices?