Talk:Lua scripting

script call template ?
18:57, 2 April 2012 (UTC), Rical wrote:

Sory if my edit is not in a right place. The question is about the transition between template and lua. There are lots of templates and js scripts and they will not disapear. Is it a good idea to permit to call them from lua scripts ?

I well understand this is a very bad way because the time and ram uses. But this permit to re-use a large number of existing template, waiting the time when they will be replaced by lua scripts.

Bots could replace template calls with lua script calls each time a replacement is OK.

-- Rical (talk) 21:11, 2 April 2012 (UTC)


 * I'm not sure at the moment whether invoking templates from Lua should be included in the initial deployment, since it's complex from the perspective of security and resource limiting. A simpler feature to implement would be allowing Lua functions to return some unexpanded wikitext for the parser to later expand. Do you think that would be useful? -- Tim Starling (talk) 00:28, 10 April 2012 (UTC)


 * Yes, this is an other way for same goal.
 * A template call a Lua fonction with parameters
 * Then the Lua fonction generate an unexpanded wikitext, including adapted template call with adapted parameters
 * The unexpanded wikitext can include one or some template calls.
 * Then the parser expand wikitext including the template call(s).
 * I think this is simple to code in parser and in Lua users-scripts and this re-use existing template and would be usefull.
 * But ...
 * If we hope to replace existing template by more efficient Lua script, this way do not permit to easy replace the calls of them. The next step should be :
 * A common extra fonction could be defined in Lua library to do the same as before. Exemple :
 * s = templateCall( s, templateName, param1, param2, ... )
 * Then replace the template call by a future Lua equivalent script become 'easy', even by bot. The replacement give :
 * s = equivalentLua( s, param1, param2, ... )
 * Is this a right way ? Do we want replace many templates ? Will we be able to translate-convert many tempates by equivalent Lua scripts automatically ?
 * Rical (talk) 17:02, 10 April 2012 (UTC)

var in template

 * Some time in template i would like to use var that could replace repeated code. This could reduce the interpreting time, simplify and reduce the code.
 * To do it we could use negative parameters and a syntax similar to switch.
 * To define and  we could code :
 * Rical (talk) 23:34, 3 April 2012 (UTC)
 * Rical (talk) 23:34, 3 April 2012 (UTC)


 * No, there won't be any feature which requires wikitext to be parsed in a certain order, such as top to bottom. This gives us some more flexibility in future parser design. Memorization is probably the best option for efficiency. -- Tim Starling (talk) 00:28, 10 April 2012 (UTC)


 * Yes, '#var:' was not the right word, my idea was to memorize a wikitext value in  as local constant to re-use it in the next wikitext in the same template at the same level. The parser extented function could be #const: or #constant:
 * Rical (talk) 17:02, 10 April 2012 (UTC)
 * Rical (talk) 17:02, 10 April 2012 (UTC)


 * After a few minutes, i think that the value of a «constant» could be replaced by an other value to generate the next wikitext later in the same template. Then the «constant» becomes almost a variable on the same local level. The parser is not more complex. Rical (talk) 21:26, 10 April 2012 (UTC)

Note from Foswiki
Hi, Foswiki developer here. Great to see MW tackle structured data & scripting!

I just wanted to point out, that the MongoDB folks seem to have effective memory limits for their usage of spidermonkey & v8; actually, it was because of a bug report of mine that the default JS memory allocation size increased from 8M circa 2.0. There was a time when an OOM condition in the JS engine made mongodb itself quite unstable, but the JS engine seems to manage/recover itself fine now these days.

I'm not a C coder (any more) and I'm not familiar with your project, so perhaps this info isn't relevent to your situation. In Foswiki, we're still trying to figure out a reasonable mechansim for securing user JS, at the moment you can whitelist it - which some feel is too stifling - but it's a huge rabbit hole, as you can imagine. --Csirac2 (talk) 00:23, 23 May 2012 (UTC)