On 23/08/12 07:17, Ryan Lane wrote:
I hear what you're saying Ryan - although in fairness there is some history there, and also some very significant challenges on all sides to actually communicate. However, one has to keep in mind that sometimes the definition of "end user" can be pretty different. On reading this thread, I have the sense that lots of people commenting here see template creators/curators as the "end user" - but they aren't in any conventional sense. The end user is the person who actually uses the template.
The end-users for scribunto are template editors. The way the template is called from articles is almost exactly the same. The syntax is so similar to how it currently is that It does nothing to change the experience for a normal editor.
I'd bet that most templates will keep the same arguments when switched over, and the syntax will be mass changed by a bot.
I think there will be some changes to template invocations. For example, a typical coord invocation looks like this:
{{Coord|33|51|35.9|S|151|12|40|E}}
With the string processing facilities that Lua provides, that might change to:
{{Coord|33°51'35.9"S 151°12'40"E}}
Of course, backwards compatibility would need to be maintained, but that's easy enough.
The same thing would have happened if we enabled StringFunctions, but the performance would have been worse than the original, whereas with Lua, we should be able to parse simple strings like that with a performance much better than the original coord template.
There will still be double braces and pipes, but fixing that is the domain of VisualEditor.
Our metatemplate authors enjoy a challenge. You have to have that kind of mindset to attempt to do complex things in the existing wikitext syntax. I would expect some of them to try really complex things in Lua.
Some of the applications might be whimsical, like a code snippet template for [[Lisp (programming language)]] that contains a complete Lisp interpreter. Others will be more practical, perhaps navbox generation based on a template-free wikitext specification hosted on a separate page.
If we extrapolate from the experience with metatemplates, we can expect Wikipedia's community to tolerate such developments until performance limits are reached, and then to tolerate it some more until they are significantly exceeded. But Lua is so fast compared to wikitext that our Lua developers will have to exercise a lot of creativity to find applications that will exceed the performance limits.
-- Tim Starling