Roadmap
- Template::TT3 Alpha (TT3 only)
- Template::TT2 Beta (TT2 only)
- Template::TT3 Beta (TT3 + TT2)
- Template v3
- Swift Ale
- XS Components
- Perl compiler backend
- Other backends: Javascript, Parrot, etc.
- Large brandy
- C runtime library
- Good enough for another 10 years
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.