Roadmap

Thus Spake Andy:

My first priority is to cleanup the code base to a satisfactory state for an alpha release. This will be TT3 only. Then I plan to revisit the Template::TT2 modules (a new implementation of TT2 designed to be more forwardly compatible with TT3) and give them a final cleanup. Then we should be ready for a beta release of Template::TT3 which will include both TT2 and TT3 dialects, ready to run out of the box. That will then become the new v3.00 of the Template Toolkit.

After pausing only for light refreshment, I then plan to work on writing some XS components for TT3 and implementing the compile-to-perl option to give it a speed boost. There are a number of other backends I'd like to target: Javascript (like Jemplate), Parrot and maybe a few others. I'm also seriously considering writing a complete implementation of TT3 as a C library with interfaces for Perl, Python, Ruby, PHP, etc (in fact I've got about 90% of what I need to get the basics running in C, but it's on the back-burner until the Perl version is up and running). In theory we should be able to get TT3 running faster than Perl if we adopt PHP's "there are no long running templates" approach and avoid all reference counting and garbage collection until the template is finished processing. In practice, that would probably be mitigated by the overhead of frequently switching from C space to Perl space to resolve callbacks on so on. But either way, something approaching the efficiency of native Perl would be plenty fast enough.

In conclusion, I hope that TT3 will be good enough to last another 10 years.