Wikifunctions:Status updates/2026-08-28
| ◀ | ▶ |
News in Types: Wikifunctions Object Reference
The community has proposed, and now it is here: a new Type, Wikifunctions Object Reference, based on this Type proposal by GrounderUK.
What are Wikifunctions Object References good for? Here are the uses, as listed by the community:
- Prevent the automatic de-referencing of references extracted from Wikifunctions objects (by Z803, for example).
- Allow more straightforward and efficient comparison of types. For example:
- type of object (Z16829) (or an equivalent) could return a Wikifunctions object reference rather than a fully expanded type object
- Type identity (Z19077) extracts a type’s Z4K1 but this is currently expanded back into the referenced type, making type comparisons inefficient
- same Type (Z19084) one Python implementation explicitly compares only Z4K1 values, but the types and their references have already been fully expanded by the orchestrator
- “same type reference” would be more efficient, simplifying to string equality (Z866)
- Object has this Type (Z19352)
- Typed list has the same Object for its Type (Z18636)
- “type is one of” could be implemented with contains (Z12696)
- Simplify search string functions like String for function signature search (Z22973), allowing the type reference to be entered as a string, where known.
- Consistent approach across Wikidata and Wikifunctions references, perhaps allowing objects like types to be used in enumerations.
There was quite a bit of discussion that preceded the implementation of the Type, but in the end we followed the design by the community. We were particularly considering also capturing the Type, but that led to a few complications and would have made the Type initially harder to use. That might become a future improvement, but for now we wanted to unlock the Type.
We also added one Function to dereference the reference, or fetch the Object being referenced: return Wikifunctions Object (Z40102): given a Wikifunctions Object Reference, it returns the dereferenced Object.
Now we can start using this Type in the many possible use cases. I am going to use it right away in anonymous functions, which I hope to write more about very soon.
Thanks to the community for the great suggestion and the thorough discussion.
We invite you all to create new and discuss the existing Type proposals so we can keep on creating new Types. Thanks to all the community members contributing to the discussion and writing proposals, making it possible to extend Wikifunctions to new domains!
Recent Changes in the software
This week, we added support for Z2074/izr Language (T432291). We also fixed a bug that meant that Lexeme Senses wouldn't work correctly, thanks to YoshiRulz for finding the issue (T435331).
Fresh Functions weekly: 70 new Functions
This week we had 70 new functions. This week, we crossed the Wikifunctions Object Identifier Z40000—after 5000 Functions two weeks ago, another milestone! Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
- statement with reference text (Z39631)
- Simplified Han Chinese "是" sentence (string) (Z39635)
- statement + reference before final punctuation (Z39638)
- Wikipedia does not give medical advice (Z39640)
- Armenian superlative (Z39657)
- Chinese latest software version sentence (Z39681)
- developed in-sentence in Chinese (Z39684)
- look up value in Typed map or use given fallback (Z39685)
- does Wikidata statement match grammatical gender? (Z39695)
- does Wikidata statement match grammatical number? (Z39700)
- should include conversion to imperial (USCS) unit (Z39708)
- qty. Statement in English rich text w/ unit conv. (Z39713)
- does Wikidata quantity use metric (SI) units? (Z39716)
- English relational argument for WD item (default) (Z39725)
- French relational argument for WD item (default) (Z39730)
- relational role for Wikidata property (Z39736)
- Print String (Z39739)
- person served in role between dates, English (Z39755)
- dates for position held from Wikidata item (Z39756)
- person served in role sentence, dates from WD (Z39772)
- join text-like objects into HTML fragment, w/ lang (Z39779)
- display Day of Roman year, Esperanto (Z39782)
- strip lang spans when matching language (string) (Z39786)
- date (eowiki, plaintext) (Z39789)
- infobox for album (Z39796)
- strip lang spans when matching language (Z39798)
- infobox for song (Z39804)
- append unary call to anonymous function (Z39807)
- infobox for algorithm (Z39810)
- infobox for ballet (Z39818)
- infobox for musical composition (Z39821)
- binary search (index, Wikidata time) (Z39834)
- birth-(death) date monolingual text for person, Ja (Z39846)
- description for novalue for Wikidata property ref. (Z39847)
- date (jawiki) (Z39859)
- display Day of Roman year, Japanese (Z39861)
- infobox for file format (Z39873)
- date (Armenian) (Z39875)
- infobox for journal (Z39881)
- infobox for periodical (Z39883)
- lemma or fallback QID label, Japanese (Z39886)
- lexemes for occupation of person, Japanese (Z39898)
- lexeme for QID, Japanese (Z39899)
- best ranked value of property for WD item QID (Z39908)
- best ranked value of property for WD property PID (Z39911)
- Japanese person description (Z39914)
- depicts-sentence in Japanese (Z39920)
- Poly1305 (Z39923)
- splice String into other String after first match (Z39926)
- is Wikidata item reference a unit of time? (Z39931)
- is Wikidata property reference age-related? (Z39933)
A complete list of all functions sorted by when they were created is available.