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

Re^5: A great talk on Perl6

by LanX (Bishop)
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)

Replies are listed 'Best First'.
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 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 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?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1080999]
and the monastery is silent...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2018-06-24 13:58 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (126 votes). Check out past polls.