That would be my biggest criticism too. It seems like the target audience and use cases are ill defined, vauge and hand wavey.
I dont think it knows really what it wants to be, other than definitely some sort of function store for abstract wikipedia, which also seems unnessarily complex.
Quite frankly i get massive wikidata-second-system vibes from the whole thing.
Abstract Wikipedia authors/editors/developers is the target audience. As far as I can gather, this Wikifunctions is supposed to be a store for functions used to generate text based on data, so things can be written once and "automatically" translated to many languages, meaning you can cover more by stating "facts" and matching them to outputted language somehow.
> We are not competing with sites such as gist, or sites such as [...] esolangs.org
It is currently in locked-down testing. We have been slowly configuring and testing the wiki, the first new multilingual project in over 12 years! It is more complicated than a normal new wiki, in many ways.
We are expecting to open it to broader editing in the next few days - on or after August 1. We are planning an announcement at that time.
There are details of the deployment plan in our last newsletter: https://meta.wikimedia.org/wiki/Special:MyLanguage/Abstract_...
And a broad overview of the project at https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Overview
(And many more examples of functions at our older Beta-deployment location (also currently locked down) at https://wikifunctions.beta.wmflabs.org/wiki/Wikifunctions:Ma... )
I hope that context helps! [Disclaimer: I'm not a developer, but work with the team]
I hope "Z1K1": "Z2" will be removed from UI soon. It is like "Q42 P31 Q5" for Wikidata - everyone understands it, but it is not the main interface.
Basically, at this point of development, consider this as a storage of Python (https://www.wikifunctions.org/view/en/Z10004) or Javascript code (https://www.wikifunctions.org/view/en/Z10005).
But instead of writing
def format_person_info(name, surname, birth_date, death_date):
return "{} {} ({}-{})".format(name, surname, birth_date, death_date)
you need to1) create a page that declares a public interface for your function: and there is no "camel case vs snake case": function name will be "Format person info" (and フォーマット担当者情報 in Japanese, and so on), with arguments: name, surname, birth date, death date (again, people can add translations)
2) create a set of tests
3) create an implementation using Zvalues (see links above for example) in public interface. If this is not the first version, implementation can be reviewed and approved by some reviewer.
I don't.
Q42 is Douglas Adams [2], P31 is instance of [3], Q5 is human [4].
[1] https://en.wikipedia.org/wiki/Semantic_triple
[2] https://www.wikidata.org/wiki/Q42
Still 42 for Douglas Adams manually assigned token is a nice touch.
on ZObjects: https://meta.wikimedia.org/wiki/Abstract_Wikipedia/ZObject
on human-readable equivalents to the above: https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Canonical...
It's all so very utopian.
A simple example or five of what in the hell a function can do might motivate some readers to want to dig deeper. I don't want to today.
Maybe a better start to understand what Wikifunctions does - but it is a very simple example too - is this function: https://www.wikifunctions.org/wiki/Z10000
The other functions that you found randomly are currently not well supported.
We are working on it, to make it less confusing. Such feedback is very helpful.
Opening some of the pages at random, like
https://www.wikifunctions.org/view/en/Z828
https://www.wikifunctions.org/view/en/Z110
There's a "try this function" section, which I couldn't get to take any sort of input on a few tries. It always ended up with a field that said "no results found" on typing things in it.
There's a "current object" section, displaying some kind of alien script. Like, what is this? Is it supposed to tell me something?
Clearly I am not part of the target audience here. But who is?