The Scribunto extension for MediaWiki provides many of the facilities required for prototyping Abstract Wikipedia:
- Ability to create and modify code-objects on wiki, collaboratively.
- Ability to invoke these code-objects from articles to generate prose.
- A programming environment featuring an expressive, general-purpose language (Lua).
- Behavior of code can vary by user or content language.
- Interfaces for querying Wikidata.
As a proof-of-concept, I tried to implement the example given in figures 1 and 2 of Architecture for a Multilingual Wikipedia on MetaWiki, and I think it worked pretty well:
- Constructor: m:Module:Sandbox/ATDT/AbstractWikipedia/San_Francisco
- Renderers for English: m:Module:Sandbox/ATDT/AbstractWikipedia/Renderers/en
- Generated article: m:User:ATDT/Sandbox/AbstractWikipedia/San_Francisco
Hot take: this demonstrates the suitability of Scribunto as a platform for prototyping Abstract Wikipedia, which is something we should start ASAP, so the learnings from that process can influence the design of Wikifunctions.