Beefy Boxes and Bandwidth Generously Provided by pair Networks
Do you know where your variables are?
 
PerlMonks  

Re^4: getting rid of costly special features

by LanX (Canon)
on Feb 18, 2013 at 10:38 UTC ( #1019320=note: print w/ replies, xml ) Need Help??


in reply to Re^3: getting rid of costly special features
in thread getting rid of costly special features

> Care to back that assertion up with some evidence?

Strings are immutable in JS, now how would you implement a postincrement?

Instead of i++ of a primitive value i, you need to use objects for all scalars with methods like i.postInc() and i.preInc() and i.getValue()

Cheers Rolf


Comment on Re^4: getting rid of costly special features
Select or Download Code
Re^5: getting rid of costly special features
by BrowserUk (Pope) on Feb 18, 2013 at 11:42 UTC

    Essentially what you are arguing is that we should change the Perl5 language and interpreter so that you can replace it with another interpreter written in Javascript. Which is ....!

    Besides which, in order to preserve Perl5's semantics, you would have to have a scalar type that could represent integers, floats, strings and references. Ie. You would have to box your ints.

    Here you are saying that to do so would make things too slow; and yet it is only a few months since you were advocating autoboxing everything in Perl for the sake of some OO ideology, and hang the (enormous) performance hit.

    There's nothing like consistency. And that's nothing like it :)


    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.
      nonsense ... Did the possibility to insert no autovivification change the language?

        Man, you really don;t think things through do you.

        A configurable pragma won't speed numerical increment up, it'll slow it down. It's just one extra test that will need to be performed every time.

        And it won't help a JS port, unless the JS port will only run code that disables all the things that come from having transparent type conversion.

        That includes things like 2**32 (or 2**64) + 1 becoming an NV; and 0+'12' doing the right thing. And at that point; it ain't Perl.


        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.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (4)
As of 2014-08-31 08:32 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (294 votes), past polls