in reply to Steve Yegge on how to build IDEs and improve speed of dynamic languages

It's really a nice talk (and it's fun reading his rants ;).

The drawback of all these optimizations is that they need to be implemented, which tends to be non-trivial in perl (and a lot of work in any compiler). So far we don't have JIT, which you'd need for example for that trace tree optimization.

Perl tends to be hard to optimize because it has overloads and tied variables. Maybe a JIT compiler should ignore such cases, and delegate to the normal executor if either of those cases is detected.

In parrot land it's quite different: most (or all) of these optimizations could be implemented. PAST is a quite high level representation of programs, so all dynamic languages built on top of parrot+PAST could profit from optimizations in the PAST compiler.

Currently the effort is more geared towards feature completeness than optimizations, so I guess we won't see many of these in parrot 1.0, but parrot development will not stop with 1.0 ;-)

  • Comment on Re: Steve Yegge on how to build IDEs and improve speed of dynamic languages