The Scribunto extension for MediaWiki provides all 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 [[ https://arxiv.org/pdf/2004.04733.pdf | Architecture for a Multilingual Wikipedia ]] on MetaWiki, and I think it worked pretty well:
* **Constructor**: [[ https://meta.wikimedia.org/wiki/Module:Sandbox/ATDT/AbstractWikipedia/San_Francisco | m:Module:Sandbox/ATDT/AbstractWikipedia/San_Francisco ]]
* **Renderers for English**: [[ https://meta.wikimedia.org/wiki/Module:Sandbox/ATDT/AbstractWikipedia/Renderers/en | m:Module:Sandbox/ATDT/AbstractWikipedia/Renderers/en ]]
* **Generated article**: [[ https://meta.wikimedia.org/wiki/User:ATDT/Sandbox/AbstractWikipedia/San_Francisco | 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.