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

Re^5: A great talk on Perl6

by LanX (Canon)
on Apr 03, 2014 at 20:11 UTC ( #1080999=note: print w/ replies, xml ) Need Help??


in reply to Re^4: A great talk on Perl6
in thread A great talk on Perl6

> Could NQP or another compiler produce also binary executables (not bytecode intended for virtual machines)?

One of the main problems with such ideas is to underestimate the dynamism of languages like Perl or JS.

Just think of the need to have the whole compiler backend to simulate eval.

Thats why one ends up using a VM with JIT compiler, like V8.

And of course those can be bundled into a stand-alone executable.

So the answer depends on the definition of "binary executable".

Cheers Rolf

( addicted to the Perl Programming Language)


Comment on Re^5: A great talk on Perl6
Re^6: A great talk on Perl6
by Anonymous Monk on Apr 03, 2014 at 20:30 UTC
    You could use a specializing compiler which does Futamura projections to generate specialized executables, like PyPy does.

    But don't hold your breath for Rakudo to do that, because MOAR is more of the same "let's write it in C then shove a JIT up its arse" crap that doesn't work.

Re^6: A great talk on Perl6
by emilbarton (Scribe) on Apr 03, 2014 at 21:22 UTC
    Right, thanks. I didn't think about eval.
Re^6: A great talk on Perl6
by emilbarton (Scribe) on Apr 05, 2014 at 06:19 UTC
    But dynamic features such as eval could be compiled so as to target an external virtual machine or even the Perl5 interpreter.

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (3)
As of 2014-08-01 01:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    My favorite superfluous repetitious redundant duplicative phrase is:









    Results (256 votes), past polls