Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^4: (Sort of) poll: what Perl6 features do you consider {likely,desirable} to leak into P5?

by TheDamian (Vicar)
on Mar 09, 2005 at 20:42 UTC ( [id://438046]=note: print w/replies, xml ) Need Help??


in reply to Re^3: (Sort of) poll: what Perl6 features do you consider {likely,desirable} to leak into P5?
in thread (Sort of) poll: what Perl6 features do you consider {likely,desirable} to leak into P5?

I'd definitely like to see say in Perl 5. After the // operator (which is already slated for 5.10), I think say is probably the biggest "bang-for-the-buck" in all of Perl 6.

As for Perl6::Say being "wanting", I would agree. Unfortunately, Perl 5's import and subroutine prototype mechanisms aren't quite up to the task of implementing a full print-like syntax. If only I could do it in Perl 6. Oh, wait...

;-)

Replies are listed 'Best First'.
Re^5: (Sort of) poll: what Perl6 features do you consider {likely,desirable} to leak into P5?
by BrowserUk (Patriarch) on Mar 09, 2005 at 21:16 UTC
    Unfortunately, Perl 5's import and subroutine prototype mechanisms aren't quite up to the task ...

    I wasn't critiquing your implementation of Perl6::Say, just the useability.

    As you say, it's just one of those features that you cannot adaquately emulate at the Perl level. I'm having a go at trying my PP_say() wrapper around pp_print() in pp_hot.c--but it segfaults with my first attempt (and second:().


    Examine what is said, not who speaks.
    Silence betokens consent.
    Love the truth but pardon error.
Re^5: (Sort of) poll: what Perl6 features do you consider {likely,desirable} to leak into P5?
by Anonymous Monk on Mar 10, 2005 at 10:23 UTC
    I agree. And it's probably not going to be a hard patch. But there will be the backwards compatability police - as adding 'say' as a keyword might possibly break existing code.

    * grepping old sources *

    Funny. Seems it might "break" one module I made a long, long time ago:

    sub say { print(STDOUT @_); if ($_[$#_] !~ /\n$/) { print(STDOUT "\n"); } }
    As far as I can tell, it was written in 1997 or 1998. I can live with that breaking (it seems to be doing something similar to Perl6::Say anyway - although I can't tell anymore whether adding the newline, or the printing to STDOUT was the main feature for it). But, if proposed, someone is bound to make the unsupported claim that "thousands and thousands of programs will be broken".

    Hmmm, looking at the code I digged up I can see the charm of a print function that adds a newline only if the string to print doesn't end with a newline. Kind of like chomp only chopping of newlines.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others surveying the Monastery: (5)
As of 2024-03-28 20:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found