On templates and programming languages

classic Classic list List threaded Threaded
116 messages Options
1234 ... 6
Reply | Threaded
Open this post in threaded view
|

On templates and programming languages

Brion Vibber-3
As many folks have noted, our current templating system works ok for
simple things, but doesn't scale well -- even moderately complex
conditionals or text-munging will quickly turn your template source into
what appears to be line noise.

And we all thought Perl was bad! ;)

There's been talk of Lua as an embedded templating language for a while,
and there's even an extension implementation.

One advantage of Lua over other languages is that its implementation is
optimized for use as an embedded language, and it looks kind of pretty.

An _inherent_ disadvantage is that it's a fairly rarely-used language,
so still requires special learning on potential template programmers' part.

An _implementation_ disadvantage is that it currently is dependent on an
external Lua binary installation -- something that probably won't be
present on third-party installs, meaning Lua templates couldn't be
easily copied to non-Wikimedia wikis.


There are perhaps three primary alternative contenders that don't
involve making up our own scripting language (something I'd dearly like
to avoid):

* PHP

Advantage: Lots of webbish people have some experience with PHP or can
easily find references.

Advantage: we're pretty much guaranteed to have a PHP interpreter
available. :)

Disadvantage: PHP is difficult to lock down for secure execution.


* JavaScript

Advantage: Even more folks have been exposed to JavaScript programming,
including Wikipedia power-users.

Disadvantage: Server-side interpreter not guaranteed to be present. Like
Lua, would either restrict our portability or would require an
interpreter reimplementation. :P


* Python

Advantage: A Python interpreter will be present on most web servers,
though not necessarily all. (Windows-based servers especially.)

Wash: Python is probably better known than Lua, but not as well as PHP
or JS.

Disadvantage: Like PHP, Python is difficult to lock down securely.


Any thoughts? Does anybody happen to have a PHP implementation of a Lua
or JavaScript interpreter? ;)

-- brion

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Chad
On Tue, Jun 30, 2009 at 12:16 PM, Brion Vibber<[hidden email]> wrote:

> As many folks have noted, our current templating system works ok for
> simple things, but doesn't scale well -- even moderately complex
> conditionals or text-munging will quickly turn your template source into
> what appears to be line noise.
>
> And we all thought Perl was bad! ;)
>
> There's been talk of Lua as an embedded templating language for a while,
> and there's even an extension implementation.
>
> One advantage of Lua over other languages is that its implementation is
> optimized for use as an embedded language, and it looks kind of pretty.
>
> An _inherent_ disadvantage is that it's a fairly rarely-used language,
> so still requires special learning on potential template programmers' part.
>
> An _implementation_ disadvantage is that it currently is dependent on an
> external Lua binary installation -- something that probably won't be
> present on third-party installs, meaning Lua templates couldn't be
> easily copied to non-Wikimedia wikis.
>
>
> There are perhaps three primary alternative contenders that don't
> involve making up our own scripting language (something I'd dearly like
> to avoid):
>
> * PHP
>
> Advantage: Lots of webbish people have some experience with PHP or can
> easily find references.
>
> Advantage: we're pretty much guaranteed to have a PHP interpreter
> available. :)
>
> Disadvantage: PHP is difficult to lock down for secure execution.
>
>
> * JavaScript
>
> Advantage: Even more folks have been exposed to JavaScript programming,
> including Wikipedia power-users.
>
> Disadvantage: Server-side interpreter not guaranteed to be present. Like
> Lua, would either restrict our portability or would require an
> interpreter reimplementation. :P
>
>
> * Python
>
> Advantage: A Python interpreter will be present on most web servers,
> though not necessarily all. (Windows-based servers especially.)
>
> Wash: Python is probably better known than Lua, but not as well as PHP
> or JS.
>
> Disadvantage: Like PHP, Python is difficult to lock down securely.
>
>
> Any thoughts? Does anybody happen to have a PHP implementation of a Lua
> or JavaScript interpreter? ;)
>
> -- brion
>
> _______________________________________________
> Wikitech-l mailing list
> [hidden email]
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>

I haven't tried it, but there seems to be a Lua Pecl extension.

-Chad

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Amir Elisha Aharoni
In reply to this post by Brion Vibber-3
On Tue, Jun 30, 2009 at 19:16, Brion Vibber<[hidden email]> wrote:
> As many folks have noted, our current templating system works ok for
> simple things, but doesn't scale well -- even moderately complex
> conditionals or text-munging will quickly turn your template source into
> what appears to be line noise.
>
> And we all thought Perl was bad! ;)

I never thought that Perl is bad. There are some irresponsible Perl
programmers, just as there are some irresponsible PHP and Python
programmers.

You could try add Perl into your questionnaire.

Advantage: At least as portable as Python. Someone who can have PHP,
can have Perl, too.

Advantage: Anyone who knows PHP, knows Perl almost completely.

Not sure whether it's an advantage: Perl has some built-in security
features (taint), but i'm not really a security expert.

--
Amir Elisha Aharoni

http://aharoni.wordpress.com

"We're living in pieces,
 I want to live in peace." - T. Moore

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Robert Rohde
In reply to this post by Chad
On Tue, Jun 30, 2009 at 9:27 AM, Chad<[hidden email]> wrote:
> I haven't tried it, but there seems to be a Lua Pecl extension.

The Lua Pecl says:

"We should emphasize that is still under development and is completely
experimental."

That was nearly two years ago and there doesn't appear to have been
any real work on it since.  Someone would probably need to look at it
carefully to make sure it is adequately functional before considering
that path.

-Robert Rohde

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Victor Vasiliev
In reply to this post by Brion Vibber-3
Brion Vibber wrote:

> As many folks have noted, our current templating system works ok for
> simple things, but doesn't scale well -- even moderately complex
> conditionals or text-munging will quickly turn your template source into
> what appears to be line noise.
>
> And we all thought Perl was bad! ;)
>
> There's been talk of Lua as an embedded templating language for a while,
> and there's even an extension implementation.
>
> One advantage of Lua over other languages is that its implementation is
> optimized for use as an embedded language, and it looks kind of pretty.
>
> An _inherent_ disadvantage is that it's a fairly rarely-used language,
> so still requires special learning on potential template programmers' part.
>
> An _implementation_ disadvantage is that it currently is dependent on an
> external Lua binary installation -- something that probably won't be
> present on third-party installs, meaning Lua templates couldn't be
> easily copied to non-Wikimedia wikis.
>
>
> There are perhaps three primary alternative contenders that don't
> involve making up our own scripting language (something I'd dearly like
> to avoid):
>
> * PHP
>
> Advantage: Lots of webbish people have some experience with PHP or can
> easily find references.
>
> Advantage: we're pretty much guaranteed to have a PHP interpreter
> available. :)
>
> Disadvantage: PHP is difficult to lock down for secure execution.
>
>
> * JavaScript
>
> Advantage: Even more folks have been exposed to JavaScript programming,
> including Wikipedia power-users.
>
> Disadvantage: Server-side interpreter not guaranteed to be present. Like
> Lua, would either restrict our portability or would require an
> interpreter reimplementation. :P
>
>
> * Python
>
> Advantage: A Python interpreter will be present on most web servers,
> though not necessarily all. (Windows-based servers especially.)
>
> Wash: Python is probably better known than Lua, but not as well as PHP
> or JS.
>
> Disadvantage: Like PHP, Python is difficult to lock down securely.
>
>
> Any thoughts? Does anybody happen to have a PHP implementation of a Lua
> or JavaScript interpreter? ;)
>
> -- brion
>
> _______________________________________________
> Wikitech-l mailing list
> [hidden email]
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>
>  
I'm working on rewriting abuse filter parser so it's suitable for
embedding in wikitext. It's half-done and will be ready soon.
--vvvv

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Robert Rohde
In reply to this post by Brion Vibber-3
On Tue, Jun 30, 2009 at 9:16 AM, Brion Vibber<[hidden email]> wrote:
<snip>

> There are perhaps three primary alternative contenders that don't
> involve making up our own scripting language (something I'd dearly like
> to avoid):

<snip>

In the Lua Bugzilla thread (#19298), there was some extended
discussion about using the AbuseFilter parser as the basis for a
Mediawiki scripting language.  From your comment should I assume we
are taking that option off the table?

There are advantages to that approach in terms of integration and
flexibility, though rolling our own scripting language would obviously
be a quite complex (and probably long-term) undertaking.

-Robert Rohde

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Brion Vibber-3
In reply to this post by Victor Vasiliev
Victor Vasiliev wrote:
> I'm working on rewriting abuse filter parser so it's suitable for
> embedding in wikitext. It's half-done and will be ready soon.

Eh, I'd rather replace the AbuseFilter scripting with
JS/Lua/Python/whatever too. :)

-- brion

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Brion Vibber-3
In reply to this post by Robert Rohde
Robert Rohde wrote:

> On Tue, Jun 30, 2009 at 9:27 AM, Chad<[hidden email]> wrote:
>> I haven't tried it, but there seems to be a Lua Pecl extension.
>
> The Lua Pecl says:
>
> "We should emphasize that is still under development and is completely
> experimental."
>
> That was nearly two years ago and there doesn't appear to have been
> any real work on it since.  Someone would probably need to look at it
> carefully to make sure it is adequately functional before considering
> that path.

A PECL extension wouldn't be a compatibility improvement over shelling
out to a Lua binary; it still requires compilation and installation on
the server. (Though it could be a performance win by having the Lua
interpreter available in-process.)

-- brion

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Brion Vibber-3
In reply to this post by Robert Rohde
Robert Rohde wrote:
> In the Lua Bugzilla thread (#19298), there was some extended
> discussion about using the AbuseFilter parser as the basis for a
> Mediawiki scripting language.  From your comment should I assume we
> are taking that option off the table?
>
> There are advantages to that approach in terms of integration and
> flexibility, though rolling our own scripting language would obviously
> be a quite complex (and probably long-term) undertaking.

Right, that's exactly what I don't want to have to do.

I'd honestly rather implement a JS interpreter in PHP than create and
maintain our own programming language, if it came to that. :)

-- brion

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Trevor Parscal-2
In reply to this post by Brion Vibber-3
On 6/30/09 9:16 AM, Brion Vibber wrote:
> Any thoughts? Does anybody happen to have a PHP implementation of a Lua
> or JavaScript interpreter? ;)
>
> -- brion
>
>    
GPL, Alpha software, seems to be abandoned in 2005
http://j4p5.sourceforge.net/

Perhaps this could be tested, considered, brought back to life, etc?

- Trevor

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Robert Rohde
On Tue, Jun 30, 2009 at 10:03 AM, Trevor Parscal<[hidden email]> wrote:

> On 6/30/09 9:16 AM, Brion Vibber wrote:
>> Any thoughts? Does anybody happen to have a PHP implementation of a Lua
>> or JavaScript interpreter? ;)
>>
>> -- brion
>>
>>
> GPL, Alpha software, seems to be abandoned in 2005
> http://j4p5.sourceforge.net/
>
> Perhaps this could be tested, considered, brought back to life, etc?

Google also turns up
http://phpjs.berlios.de/

Like J4P5 it also seems to be an abandoned alpha.

For a stand-alone JavaScript interpreters there are some
well-supported projects, like Jaxer:
http://www.aptana.com/jaxer

However, this again gets back to separately compiled code, and would
not easily be able to interact with PHP.

-Robert Rohde

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Victor Vasiliev
In reply to this post by Brion Vibber-3
Brion Vibber wrote:

> Victor Vasiliev wrote:
>  
>> I'm working on rewriting abuse filter parser so it's suitable for
>> embedding in wikitext. It's half-done and will be ready soon.
>>    
>
> Eh, I'd rather replace the AbuseFilter scripting with
> JS/Lua/Python/whatever too. :)
>
> -- brion
>
> _______________________________________________
> Wikitech-l mailing list
> [hidden email]
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>  
We'll anyway have to remove for() and while() from it and restrict it in
other ways.
--vvv

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Brian J Mingus
In reply to this post by Brion Vibber-3
So far my favorite idea is to use a restricted subset of PHP.

I would like to broach an important topic however: How can we convert all of
the existing ParserFunctions and difficult-to-read template code to this new
language automatically? Are we really talking about the dream of getting rid
of templates entirely? The end of {{||||||}} ?

How difficult would it be to modify the parser to spit out some of its data
structures in the new language as opposed to HTML etc.. ?

This seems to be the more difficult part of the project.

There is a more practical/pragmatic approach which is to deprecate the
current syntax similar to the way languages sometimes deprecate language
features. I fear that the conversion is a superhuman task, however.

On Tue, Jun 30, 2009 at 10:16 AM, Brion Vibber <[hidden email]> wrote:

> As many folks have noted, our current templating system works ok for
> simple things, but doesn't scale well -- even moderately complex
> conditionals or text-munging will quickly turn your template source into
> what appears to be line noise.
>
> And we all thought Perl was bad! ;)
>
> There's been talk of Lua as an embedded templating language for a while,
> and there's even an extension implementation.
>
> One advantage of Lua over other languages is that its implementation is
> optimized for use as an embedded language, and it looks kind of pretty.
>
> An _inherent_ disadvantage is that it's a fairly rarely-used language,
> so still requires special learning on potential template programmers' part.
>
> An _implementation_ disadvantage is that it currently is dependent on an
> external Lua binary installation -- something that probably won't be
> present on third-party installs, meaning Lua templates couldn't be
> easily copied to non-Wikimedia wikis.
>
>
> There are perhaps three primary alternative contenders that don't
> involve making up our own scripting language (something I'd dearly like
> to avoid):
>
> * PHP
>
> Advantage: Lots of webbish people have some experience with PHP or can
> easily find references.
>
> Advantage: we're pretty much guaranteed to have a PHP interpreter
> available. :)
>
> Disadvantage: PHP is difficult to lock down for secure execution.
>
>
> * JavaScript
>
> Advantage: Even more folks have been exposed to JavaScript programming,
> including Wikipedia power-users.
>
> Disadvantage: Server-side interpreter not guaranteed to be present. Like
> Lua, would either restrict our portability or would require an
> interpreter reimplementation. :P
>
>
> * Python
>
> Advantage: A Python interpreter will be present on most web servers,
> though not necessarily all. (Windows-based servers especially.)
>
> Wash: Python is probably better known than Lua, but not as well as PHP
> or JS.
>
> Disadvantage: Like PHP, Python is difficult to lock down securely.
>
>
> Any thoughts? Does anybody happen to have a PHP implementation of a Lua
> or JavaScript interpreter? ;)
>
> -- brion
>
> _______________________________________________
> Wikitech-l mailing list
> [hidden email]
> https://lists.wikimedia.org/mailman/listinfo/wikitech-l
>
_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Robert Rohde
On Tue, Jun 30, 2009 at 10:15 AM, Brian<[hidden email]> wrote:

> So far my favorite idea is to use a restricted subset of PHP.
>
> I would like to broach an important topic however: How can we convert all of
> the existing ParserFunctions and difficult-to-read template code to this new
> language automatically? Are we really talking about the dream of getting rid
> of templates entirely? The end of {{||||||}} ?
>
> How difficult would it be to modify the parser to spit out some of its data
> structures in the new language as opposed to HTML etc.. ?
>
> This seems to be the more difficult part of the project.
>
> There is a more practical/pragmatic approach which is to deprecate the
> current syntax similar to the way languages sometimes deprecate language
> features. I fear that the conversion is a superhuman task, however.

You couldn't ever turn template syntax off without making old
revisions unrenderable.  The best one could likely do is encourage
people to upgrade and provide tools to make that easier.  However,
given the nastiness of template syntax, I would expect no end of wiki
authors willing to help convert the commonly used stuff.

-Robert Rohde

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Bryan Tong Minh
In reply to this post by Brion Vibber-3
On Tue, Jun 30, 2009 at 6:16 PM, Brion Vibber<[hidden email]> wrote:

> * Python
>
> Advantage: A Python interpreter will be present on most web servers,
> though not necessarily all. (Windows-based servers especially.)
>
> Wash: Python is probably better known than Lua, but not as well as PHP
> or JS.
>
> Disadvantage: Like PHP, Python is difficult to lock down securely.
>
Also for Python you really will want an editor that supports
indenting. Web browsers are not suitable for programming Python.


Bryan

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Brian J Mingus
In reply to this post by Robert Rohde
On Tue, Jun 30, 2009 at 11:20 AM, Robert Rohde <[hidden email]> wrote:

> You couldn't ever turn template syntax off without making old
> revisions unrenderable.  The best one could likely do is encourage
> people to upgrade and provide tools to make that easier.  However,
> given the nastiness of template syntax, I would expect no end of wiki
> authors willing to help convert the commonly used stuff.
>
> -Robert Rohde
>

 The solution (no doubt first developed on this list many years ago) is to
have mark revisions that still trigger the template/parser functions parser
as using that syntax, and to mark revisions that have moved on as using the
new language.

Moreover, old revisions already are unrenderable. They may look like they
render correctly but in fact they don't. This is because mediawiki has no
notion of the fact that a particular revision of an article also uses
particular revisions of templates etc...

At any rate, I don't see how this nitpick is a difficult problem
technically.
_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Robert Rohde
In reply to this post by Bryan Tong Minh
On Tue, Jun 30, 2009 at 10:22 AM, Bryan Tong
Minh<[hidden email]> wrote:

> On Tue, Jun 30, 2009 at 6:16 PM, Brion Vibber<[hidden email]> wrote:
>
>> * Python
>>
>> Advantage: A Python interpreter will be present on most web servers,
>> though not necessarily all. (Windows-based servers especially.)
>>
>> Wash: Python is probably better known than Lua, but not as well as PHP
>> or JS.
>>
>> Disadvantage: Like PHP, Python is difficult to lock down securely.
>>
> Also for Python you really will want an editor that supports
> indenting. Web browsers are not suitable for programming Python.

Though indenting is mandatory for Python, the use or reasonable
indenting is pretty much necessary to produce readable code in any
language.

That said, I don't see any reason we couldn't use two or three
consecutive spaces to indicate indentations.

-Robert Rohde

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Amir Elisha Aharoni
On Tue, Jun 30, 2009 at 20:42, Robert Rohde<[hidden email]> wrote:

> On Tue, Jun 30, 2009 at 10:22 AM, Bryan Tong
>> Also for Python you really will want an editor that supports
>> indenting. Web browsers are not suitable for programming Python.
>
> Though indenting is mandatory for Python, the use or reasonable
> indenting is pretty much necessary to produce readable code in any
> language.
>
> That said, I don't see any reason we couldn't use two or three
> consecutive spaces to indicate indentations.

Four!

--
Amir Elisha Aharoni

http://aharoni.wordpress.com

"We're living in pieces,
 I want to live in peace." - T. Moore

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Robert Rohde
On Tue, Jun 30, 2009 at 10:45 AM, Amir E. Aharoni<[hidden email]> wrote:

> On Tue, Jun 30, 2009 at 20:42, Robert Rohde<[hidden email]> wrote:
>> On Tue, Jun 30, 2009 at 10:22 AM, Bryan Tong
>>> Also for Python you really will want an editor that supports
>>> indenting. Web browsers are not suitable for programming Python.
>>
>> Though indenting is mandatory for Python, the use or reasonable
>> indenting is pretty much necessary to produce readable code in any
>> language.
>>
>> That said, I don't see any reason we couldn't use two or three
>> consecutive spaces to indicate indentations.
>
> Four!

Four is the default size of a tab in Python, but indents aren't
actually required to be that size.  If we are required to type
consecutive spaces to format code, I'd actually prefer a smaller
default size.

-Robert Rohde

_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Reply | Threaded
Open this post in threaded view
|

Re: On templates and programming languages

Steve Sanbeg
In reply to this post by Brion Vibber-3
On Tue, 30 Jun 2009 09:16:41 -0700, Brion Vibber wrote:

> As many folks have noted, our current templating system works ok for
> simple things, but doesn't scale well -- even moderately complex
> conditionals or text-munging will quickly turn your template source into
> what appears to be line noise.
>
> And we all thought Perl was bad! ;)
>
> There's been talk of Lua as an embedded templating language for a while,
> and there's even an extension implementation.
>
> One advantage of Lua over other languages is that its implementation is
> optimized for use as an embedded language, and it looks kind of pretty.
>
> An _inherent_ disadvantage is that it's a fairly rarely-used language,
> so still requires special learning on potential template programmers' part.
>
> An _implementation_ disadvantage is that it currently is dependent on an
> external Lua binary installation -- something that probably won't be
> present on third-party installs, meaning Lua templates couldn't be
> easily copied to non-Wikimedia wikis.
>
>
> There are perhaps three primary alternative contenders that don't
> involve making up our own scripting language (something I'd dearly like
> to avoid):
>

I was thinking about something similar this weekend, although I'd thought
about different languages:

1 - XSLT

  Since the syntax is XML (like the extensions tags) and XPath (vaguely
  similar to template syntax, although it's XML that calls XPath, the
  opposite of what we have) It would be reasonably consistent with current
  syntax.  It also should also already be fairly well locked down, and the
 interface seems fairly clear - present template parameters as stylesheet
 parameters, and other magic words as an input document.  We may just need
 a few simplifications to make it easier to use.

2- lisp/scheme

 Should be easy to write a parser for if needed, since the grammer is so simple,
 and it should be relatively simple to lock down or extend as needed.

Of course, those are both a bit more esoteric than your recommendations.  
Perl is nice for getting useful results from short code, if we're not
bothered by one parser with no grammer specification calling another one. Tcl may
be a reasonable compromise; a less esoteric, imperative language which is often
used as an extension language.
 

 




_______________________________________________
Wikitech-l mailing list
[hidden email]
https://lists.wikimedia.org/mailman/listinfo/wikitech-l
1234 ... 6