Wikifunctions wikifunctionswiki https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page MediaWiki 1.47.0-wmf.1 first-letter Media Special Talk User User talk Wikifunctions Wikifunctions talk File File talk MediaWiki MediaWiki talk Template Template talk Help Help talk Category Category talk TimedText TimedText talk Module Module talk Translations Translations talk Event Event talk Z1806 0 1032 273287 157301 2026-05-08T18:18:49Z Waldyrious 801 expand/improve label, alias and description in English 273287 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z1806" }, "Z2K2": { "Z1K1": "Z60", "Z60K1": "kea" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Cape Verdean Creole" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "Kaapverdisch-Creools" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Kapverdisches Kreol" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Kabuverdianu" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "créole cap-verdien" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1004", "Z31K2": [ "Z6", "créole du Cap-Vert" ] }, { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "Kabuverdianu" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Portuguese-based creole language spoken in Cape Verde" } ] } } 6fwwxpfhr8j91kolhh2wc0hx38mojfy Wikifunctions:Suggest a function 4 1176 273260 273063 2026-05-08T15:18:38Z YoshiRulz 10156 /* Requests from Abstract Wikipedia editors */ Add hatnote pointing to abstract-data tool 273260 wikitext text/x-wiki {{Shortcut|[[WF:SAF]]|[[WF:RF]]}} Do you have an idea for a new function? Suggest it here! It may help to refer to [[Wikifunctions:Glossary|our glossary]]. There is currently '''a limited set of types to choose from''' for functions' inputs and outputs. These include text, numbers, lists, and of course Wikidata entities. For the full list, see [[WF:Type]]. * If you know the exact input and output types in advance, '''you can [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 create the function] right away''' instead of commenting here.<!-- --> Then create test cases to specify the expected behaviour for the function. (This means that even if you can't make an implementation, someone else might be able to.)<!-- --><br>Once created, consider adding new Functions to [[Wikifunctions:Catalogue|the catalogue]]. * If a function requires a new type, consider [[WF:TP|proposing that type]] before adding suggestions here. [[Category:Maintenance]] == Drafted functions == {| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;" ! Functions with connected test cases and disconnected implementations |- | {{#tag:div| Taken from [[quarry:query/105111]], last updated {{#formatdate:2026-05-07}}. * {{Z+|Z10225}} * {{Z+|Z18418}} * {{Z+|Z24400}} * {{Z+|Z24442}} * {{Z+|Z25052}} * {{Z+|Z26871}} * {{Z+|Z26922}} * {{Z+|Z27610}} * {{Z+|Z30573}} * {{Z+|Z30931}} * {{Z+|Z31575}} * {{Z+|Z31583}} * {{Z+|Z32807}} * {{Z+|Z33304}} ==== Cryptography and encodings ==== * {{Z+|Z15575}} * {{Z+|Z15581}} * {{Z+|Z22030}} * {{Z+|Z24602}} * {{Z+|Z31965}} * {{Z+|Z24460}} ==== Datetime ==== * {{Z+|Z20628}} * {{Z+|Z25917}} * {{Z+|Z28738}} * {{Z+|Z31694}} ==== NLG ==== * {{Z+|Z12451}} * {{Z+|Z14537}} * {{Z+|Z16313}} * {{Z+|Z16398}} * {{Z+|Z17073}} * {{Z+|Z17970}} * {{Z+|Z18166}} * {{Z+|Z19512}} * {{Z+|Z20471}} * {{Z+|Z20473}} * {{Z+|Z20475}} * {{Z+|Z20495}} * {{Z+|Z21240}} * {{Z+|Z22018}} * {{Z+|Z26049}} * {{Z+|Z26121}} * {{Z+|Z26955}} * {{Z+|Z27245}} * {{Z+|Z29144}} * {{Z+|Z29568}} * {{Z+|Z29784}} * {{Z+|Z29953}} * {{Z+|Z30232}} * {{Z+|Z30410}} * {{Z+|Z30635}} * {{Z+|Z31335}} * {{Z+|Z32238}} * {{Z+|Z32270}} * {{Z+|Z32822}} * {{Z+|Z32825}} * {{Z+|Z33057}} * {{Z+|Z33138}} * {{Z+|Z33762}} * {{Z+|Z33995}} * {{Z+|Z34088}} * {{Z+|Z34165}} * {{Z+|Z34209}} }} |} {| class="mw-collapsible mw-collapsed wikitable" style="width: 100%;" ! Functions with connected test cases but no partial implementations |- | {{#tag:div| Taken from [[quarry:query/105112]], last updated {{#formatdate:2026-05-07}}. * {{Z+|Z22836}} * {{Z+|Z24608}} * {{Z+|Z25065}} * {{Z+|Z28180}} * {{Z+|Z28420}} * {{Z+|Z30853}} * {{Z+|Z31682}} * {{Z+|Z31840}} * {{Z+|Z31842}} * {{Z+|Z34560}} ==== Cryptography and encodings ==== * {{Z+|Z10135}} * {{Z+|Z10136}} * {{Z+|Z11670}} * {{Z+|Z11674}} * {{Z+|Z15867}} * {{Z+|Z31890}} ==== Datetime ==== * {{Z+|Z20277}} * {{Z+|Z33163}} ==== NLG ==== * {{Z+|Z10658}} * {{Z+|Z10708}} * {{Z+|Z12014}} * {{Z+|Z12121}} * {{Z+|Z12801}} * {{Z+|Z20476}} * {{Z+|Z20480}} * {{Z+|Z20512}} * {{Z+|Z20692}} * {{Z+|Z20715}} * {{Z+|Z22620}} * {{Z+|Z27268}} * {{Z+|Z27600}} * {{Z+|Z29036}} * {{Z+|Z29085}} * {{Z+|Z30463}} * {{Z+|Z30623}} * {{Z+|Z30847}} * {{Z+|Z30848}} * {{Z+|Z32958}} * {{Z+|Z33451}} * {{Z+|Z34092}} * {{Z+|Z34149}} * {{Z+|Z34150}} * {{Z+|Z34274}} * {{Z+|Z34479}} * {{Z+|Z34623}} }} |} == Requests from Abstract Wikipedia editors == {{main|abstract:Project:Suggested functions}} {{see also|toolforge:abstract-data/functions}} === Infobox === I'm thinking we can adapt [[w:module:infobox]] to create infobox HTML in abstract articles. Maybe it can even use info from Wikidata to populate it, like it already does on some wikis. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:34, 28 April 2026 (UTC) == Proposed functions requiring only available types == === String === ==== String character discard functions ==== ==== String character replacement functions ==== Add the word 'the' to the start of a function. e.g United Kingdom - the United Kingdom. [[User:FantasticWikiUser|FantasticWikiUser]] ([[User talk:FantasticWikiUser|talk]]) 11:27, 25 March 2026 (UTC) :Yes… simple enough to do but not entirely clear when it is required. We’ve been [https://t.me/Wikifunctions/29989 discussing it on Telegram]. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:10, 25 March 2026 (UTC) ::This was an issue I found on [[abstract:Q21]] when I couldn't add it there. [[User:FantasticWikiUser|FantasticWikiUser]] ([[User talk:FantasticWikiUser|talk]]) 12:16, 25 March 2026 (UTC) :I worked on {{z|Z33138}} today. I'm not sure it covers all corner cases, feel free to try it out and add more tests :) [[User:So9q|So9q]] ([[User talk:So9q|talk]]) 20:32, 5 April 2026 (UTC) ==== String search functions ==== ==== String escaping and unescaping functions ==== ==== String encoding and decoding functions ==== * Unicode normalising functions (there are several types of normalisation) * [https://html.spec.whatwg.org/#named-character-references HTML named character encode] * [[wikidata:Q47466379|Punycode encode]] - {{z+|Z10178}} (part only, not whole url); see also {{z+|Z10185}} * [[:en:Unified_English_Braille|Unified English Braille encode]] (discarding invalid characters?) *[https://braille-autoriteit.org/standaarden/achtpuntsbraille/ Dutch eight-dot Braille] encode [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 21:38, 17 January 2026 (UTC) *[https://braille-autoriteit.org/standaarden/achtpuntsbraille/ Dutch eight-dot Braille] decode [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 21:38, 17 January 2026 (UTC) *[https://braille-autoriteit.org/versie-2019-van-zespunts-standaard/ Dutch six-dot Braille] encode [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 21:38, 17 January 2026 (UTC) *[https://braille-autoriteit.org/versie-2019-van-zespunts-standaard/ Dutch six-dot Braille] decode [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 21:38, 17 January 2026 (UTC) *[[google:ipa+braille&oq=IPA+Braille&gs_lcrp=EgZjaHJvbWUqDAgAECMYJxiABBiKBTIMCAAQIxgnGIAEGIoFMg0IARAAGIYDGIAEGIoFMg0IAhAAGIYDGIAEGIoFMgoIAxAAGIAEGKIEMgoIBBAAGIAEGKIEMgYIBRBFGDwyBggGEEUYPTIGCAcQRRg90gEHMjMyajBqN6gCALACAA&sourceid=chrome&ie=UTF-8|IPA Braille]] encode (IPA --> IPA Braille) [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 11:42, 18 January 2026 (UTC) *[[google:ipa+braille&oq=IPA+Braille&gs_lcrp=EgZjaHJvbWUqDAgAECMYJxiABBiKBTIMCAAQIxgnGIAEGIoFMg0IARAAGIYDGIAEGIoFMg0IAhAAGIYDGIAEGIoFMgoIAxAAGIAEGKIEMgoIBBAAGIAEGKIEMgYIBRBFGDwyBggGEEUYPTIGCAcQRRg90gEHMjMyajBqN6gCALACAA&sourceid=chrome&ie=UTF-8|IPA Braille]] decode (IPA Braille --> IPA) [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 11:42, 18 January 2026 (UTC) ==== String presentation functions ==== * add [[:en:Quotation_mark|locale-specific quotation marks]] to string ** Shouldn't the output depend on the locale? See [[mw:Extension:Scribunto/Lua_reference_manual#mw.language:formatNum|mw.language:formatNum]]. —[[User:Dexxor|Dexxor]] ([[User talk:Dexxor|talk]]) 17:15, 4 September 2023 (UTC) ==== String colour notation functions ==== * Hue of color (since we already have [[Z13017]], [[Z18263]] and [[Z18268]]) ==== String notation validation checks ==== * check if string is an [[:en:International_Chemical_Identifier]] ** {{Partly done}} see {{z+|Z21539}}. Supports the verification of the chemical formula and the stereochemical layer. There are 13 testcaes that I've written, all of which are passed by my JavaScript implementation. Note that a python implementation is not possible as the regex module is not available in Wikifunctions. [[User:MolecularPilot|MolecularPilot]] ([[User talk:MolecularPilot|talk]]) 03:09, 11 January 2025 (UTC) ** To do: *** Needs to verify the hydrogen and connection sections of the main layer *** Support the charge layer *** Support the isotopic layer **[[User:MolecularPilot|MolecularPilot]] ([[User talk:MolecularPilot|talk]]) 03:09, 11 January 2025 (UTC) ***{{ping|MolecularPilot}} A python impl. is infact possible. I created a basic direct translation at {{z+|Z22823}}. Some tests are failing as the regex needs a bit of sorting out, out of scope for me, but you can give it a try! Keep in mind that you need to escape any \ with a \\ just before saving per [[Wikifunctions:Python_implementations#Known_limitations_as_of_October_2024]]. <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 06:14, 26 February 2025 (UTC) * check if string is a [[:en:SMILES_arbitrary_target_specification|SMILES arbitrary target specification (SMARTS) notation]] * check if string is an [[:en:ABC_notation|ABC notation]] * check if string is a [[:en:LilyPond|LilyPond notation]] * check if string is a [[:en:UIC_classification_of_locomotive_axle_arrangements|UIC classification of locomotive axle arrangements notation]] * check if a string is a valid [[:en:Digital_object_identifier|DOI]] ** Something about implementation difficulties: https://stackoverflow.com/questions/27910/finding-a-doi-in-a-document-or-page [[User:Alexander-Mart-Earth|Alexander-Mart-Earth]] ([[User talk:Alexander-Mart-Earth|talk]]) 14:28, 21 December 2023 (UTC) ==== String validation checks ==== * check if string is a valid ISO 3166 country code * check if string is a valid [[:en:ISO_8601#EDTF|EDTF]] date/time ====String analysis functions==== ==== Monolingual text ==== ==== String Wikitext operations ==== ... === Natural number === === Integer=== === Byte === See [[Wikifunctions:Catalogue/Boolean operations#Byte functions|existing Byte functions]] in catalogue. * next byte without overflow: byte → byte * previous byte without overflow: byte → byte * next byte by Gray code: byte → byte * previous byte by Gray code: byte → byte * all bits set: byte → boolean * no bits set: byte → boolean * add bytes without overflow: byte, byte → byte * subtract bytes without overflow: byte, byte → byte * multiply bytes without overflow: byte, byte → byte * add bytes with overflow: byte, byte → byte * subtract bytes with overflow: byte, byte → byte * multiply bytes with overflow: byte, byte → byte * modulo bytes: byte, byte → byte * byte division: byte, byte → byte * right shift: byte → byte * left shift: byte → byte * right shift by n: byte, natural number → byte * left shift by n: byte, natural number → byte * right shift as ring: byte → byte * left shift as ring: byte → byte * right shift by n as ring: byte, natural number → byte * left shift by n as ring: byte, natural number → byte === Unicode code point === See [[Wikifunctions:Catalogue/Character operations#Unicode code points|existing code point functions in catalogue]]. * Codepoint to list of bytes for UTF-8 * Codepoint to list of bytes for UTF-16 * Codepoint to list of bytes for UTF-32 ===Object=== === List === ==== Basic list/iterable functions ==== ==== Complex list functions ==== ==== CSV list operations ==== === Functions with functions as arguments === * test whether certain functions have specific properties of [[:w:Homogeneous_relation|homogeneous relations]] for particular lists/sets === Gregorian calendar date === See [[Wikifunctions:Catalogue/Date operations#Gregorian calendar dates|catalogue of calendar date functions]] for existing functions. * Create a reading function for Dagbani that handles all the possible formats (both the English-linke and the traditional ones, both the Gregorian and the Hijra calendars). [https://docs.google.com/document/d/1u7-ZeY7NHt75JICUPAYky3-7KgkvauD_W3fBjmvpFO0/edit?tab=t.0#heading=h.gf6hp9o3gi0j] [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:43, 31 May 2025 (UTC) * same day of the year: date, date → boolean * same day of the week: date, date → boolean * within a year: date, date → boolean * within a week: date, date → boolean * within n days: date, date → boolean * months between: date, date → natural number * weeks between: date, date → natural number * n days later: date, natural number → date * n days earlier: date, natural number → date * n weeks earlier: date, natural number → date * n months later: date, natural number → date * n months earlier: date, natural number → date * n years later: date, natural number → date * n years earlier: date, natural number → date * Julian day number to date: integer → date * how many leap days passed between two dates: date, date → natural number * how many weekdays between two dates: date, date, day of the week → natural number * within JavaScript's date implementation: date → boolean * next time a day of the month is on a specific weekday: date, natural number, day of the week → date * next Friday the 13th: date → date * nth weekday of the month: date, day of the week, natural number → date * nth working days after: date, list of wikidata item references (list of holidays), wikidata item reference (place) → date === Gregorian year === See [[Wikifunctions:Catalogue/Date operations#Gregorian year|catalogue of year functions]] for existing functions. == Morphological functions == {{main|WF:HL}} == Proposed functions requiring future types == '''Note these functions cannot be implemented properly until the needed types are requested and approved.''' If one wishes to nevertheless attempt to define and implement them, * the functions and implementations should indicate prominently in their labels that their input/output types must be adjusted once support for the appropriate replacement types become available; ''and'' * the functions should ''not'' be used in the implementations of any other functions, as the later adjustment of input/output types to appropriate replacements will break those implementations. === String manipulation functions === === String analysis functions === * count distance between two letters in given alphabet (default to 26-charcater western alphabet. case insensitive. e.g. "a" & "A" ⇒ 0; "K" & "N" ⇒ 3) === String encoding and decoding functions === (would be better with types representing a stream of bytes) * [[wikidata:Q113486941|BASE45 encode]] * [[wikidata:Q113486941|BASE45 decode]] * Hexadecimal UTF-8 encode ("ABC ₤" ⇒ "41 42 43 20 E2 82 A4") * Hexadecimal UTF-8 decode ("41 42 43 20 E2 82 A4" ⇒ "ABC ₤") * Decimal UTF-8 encode ("ABC ₤" ⇒ "65 66 67 32 226 130 164") * Decimal UTF-8 decode ("65 66 67 32 226 130 164" ⇒ "ABC ₤") * Octal UTF-8 encode ("ABC ₤" ⇒ "101 102 103 40 342 202 244") * Octal UTF-8 decode ("101 102 103 40 342 202 244" ⇒ "ABC ₤") * Binary UTF-8 encode ("ABC ₤" ⇒ "01000001 01000010 01000011 00100000 11100010 10000010 10100100") * Binary UTF-8 decode ("01000001 01000010 01000011 00100000 11100010 10000010 10100100" ⇒ "ABC ₤") * Unicode code point encode ("ABC ₤" ⇒ "41 42 43 20 20A4") - {{z+|Z10785}} * Unicode code point decode ("41 42 43 20 20A4" ⇒ "ABC ₤") * Create regular expression object/string (i.e: "test" & "i" to /test/i) === Natural language functions === * Choose singular or plural based on number (e.g. singularOrPlural("person",6") -> "people") ** Note that there are also dual and other [[:w:grammatical number|grammatical number]]s in other languages. [[User:魔琴|魔琴]] ([[User talk:魔琴|talk]]) 18:54, 26 October 2023 (UTC) ** relevant interwiki link: [[d:WD:property proposal/plural forms]] [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 04:15, 9 February 2024 (UTC) **:Was rejected. **:The similar proposal {{P|13986}} was accepted, but per the comments on your proposal, just having that set (and [[Z30455|mapping it to one of our enums]]) isn't sufficient since a language might have exceptions to its conjugation rules, or handle rational/real numbers in different ways. **:Being able to make use of CLDR data might still be desirable to avoid hardcoding rules and exceptions into Functions. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 02:16, 18 December 2025 (UTC) ** This is duplicated with a suggestion above. There's some work done already: [[Z15977]]. We also have lightweight enums like {{Z|28215}} now. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 21:11, 30 November 2025 (UTC) === Cryptographic functions === (would be better with types representing a stream of bytes) * {{todo}} [[wikidata:Q47477417|MD2]] - {{z+|Z10135}} * {{todo}} [[wikidata:Q47462255|MD4]] - {{z+|Z10136}} * {{todo}} [[wikidata:Q27036232|MD5]] - {{z+|Z10137}} * {{todo}} [[wikidata:Q47208127|RIPEMD-128]] - {{z+|Z10138}} * {{todo}} [[wikidata:Q47208127|RIPEMD-160]] - {{z+|Z10139}} * {{todo}} [[wikidata:Q47463469|BLAKE2b-160]] - {{z+|Z10140}} * {{todo}} [[wikidata:Q47463469|BLAKE2b-256]] - {{z+|Z10141}} * {{todo}} [[wikidata:Q47463469|BLAKE2b-384]] - {{z+|Z10142}} * {{todo}} [[wikidata:Q47463469|BLAKE2b-512]] - {{z+|Z10143}} * {{todo}} [[wikidata:Q47463469|BLAKE2s-128]] - {{z+|Z10144}} * {{todo}} [[wikidata:Q47463469|BLAKE2s-160]] - {{z+|Z10145}} * {{todo}} [[wikidata:Q47463469|BLAKE2s-224]] - {{z+|Z10146}} * {{todo}} [[wikidata:Q47463469|BLAKE2s-256]] - {{z+|Z10147}} * {{todo}} [[wikidata:Q47465971|SHA-224]] - {{z+|Z10149}} * {{todo}} [[wikidata:Q47465971|HMAC-SHA-256]] * {{todo}} [[wikidata:Q87486893|SHAKE-128]] - {{z+|Z10150}} * {{todo}} [[wikidata:Q87486893|SHAKE-256]] - {{z+|Z10151}} * {{todo}} [[wikidata:Q56099240|ChaCha20]] - {{z+|Z25376}} * {{todo}} [[wikidata:Q56099436|X25519]] - {{z+|Z25393}} * {{todo}} [[wikidata:Q1190947|Keccak-f[1600]]] - {{z+|Z25399}} === Date, time, and calendric functions === See also: * Discussion of types at [[WF:type#Calendar types]] * {{q|139667974}} Lua module ==== Earth focus ==== [[file:Axial and apsidal precession.png|thumb|alt=diagram|orbit of Earth]] ===== Bengali calendar ===== {{z+|Z12926}} ===== Chinese calendar ===== ===== French Republican Calendar ===== decimalises and secularises the Gregorian * day names: {{z+|Z13006}}{{not done}} '''yet''' ===== Gregorian ===== widely used calendar derived from the Julian, basis for [[xkcd:1179|ISO 8601]] * date to ISO week number {{q|2110154}} * string to date * date to ISO 8601 string *: {{done}}, see {{z+|Z21842}}. --[[User:Sbb1413|Sbb1413]] ([[User talk:Sbb1413|talk]]) 18:47, 21 January 2025 (UTC) * date to year (yyyy) * date to month of the year (1-12) * date to month name (January-December) * date to day of the month (1-31) * date to hour of the day (0-23) * date to minutes (0-59) * date to seconds (0-59) Named Day from Date or day of year ; Input type : Date ; Output Type : String. ; The initial use case was automated population of On The Day, based on various collections of Holidays, festival days and observances. ? [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 19:35, 26 March 2025 (UTC) : So If you gave it 2025-05-01 It said "All Fools Day" etc.. Possibly an additional input of enumrated type to indicate which data set to pull holidays, fesitvals and observances from. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 19:35, 26 March 2025 (UTC) Diary/calander Header function - Using the above and other date functions, generates a data set from a given date. Hence if you give it 2003-05-01 you get back a JOSN set contianing the {Day of week:String, Day in the Month, Observances} etc. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 19:35, 26 March 2025 (UTC) ===== Holocene calendar ===== * [[w:en:Holocene calendar#Conversion]] *: {{done}}, see {{z+|Z21913}}. --[[User:Sbb1413|Sbb1413]] ([[User talk:Sbb1413|talk]]) 13:30, 25 January 2025 (UTC) ===== Indian national calendar ===== ===== Islamic ===== a Lunar calendar, also called Hijri ===== Julian ===== mostly used by astronomers, some historians, and some Orthodox Christian denominations ===== Mesoamerican calendars ===== including civil and clerical forms ===== Persian ===== also called Jalali ===== Thai calendar ===== ===== Hebrew calendar ===== ==== Mars focus ==== [[file:Lowell - Mars (1894) - Diagram of the Orbits of Mars and the Earth.jpg|thumb|alt=diagram|orbit of Mars]] ===== Asgardian calendar ===== Proposed time-keeping system for Mars; base on the [https://asgardia.space/en/calendar online converter]; see [[w:Asgardia|Asgardia]] for context ===== Darian calendar ===== Proposed time-keeping system for Mars, requires Julian Date/Time to calculate and a month enumeration: [[WF:type proposals#Something to think about]] ===== Lukashian calendars ===== Proposed simple perpetual calendar system designed to be extensible to other reference frames (for example a Mars-centric one). Eschews leap-units. * [https://lukashian.org/download Java] reference implementation * [https://github.com/The-Lukashian-Calendar/lukashian GitHub] === Basic numerical functions === * round up ("1.289" & "2" ⇒ "1.29"; "5678" & "2" ⇒ "5700") *: So if the number is floating point, round to n decimal places, and if not, round to n significant figures. Is that right? [[User:BrightSunMan|BrightSunMan]] ([[User talk:BrightSunMan|talk]]) 19:36, 24 December 2023 (UTC) *: {{done}} {{Z|20053}}/{{Z|21043}} and {{Z|27705}}/{{Z|21047}} * round down ** {{done}} {{Z|20032}}/{{Z|20841}} * return integer value (5678.678 ⇒ 5678) ** {{done}} {{Z|19841}}/{{Z|26315}} * {{z+|Z13587}} (23 ⇒ "twenty-three") * Convert money from US$ to anything else ** requires source of conversion rates, which is a hole in function-likeness * Arabic numeral to Etruscan numeral * Etruscan numeral to Arabic numeral === Data serialization functions === * parse a string as [[:en:JSON|JSON]] * extract string from JSON object based on [[:d:Q121208951|JSONPath]] (<code>{"name":"Alice"}</code>, "$.name" ⇒ "Alice") *:Why not first convert a JSON string to an object, and then have a function that extracts fields based on JSONPath? Doing Stringly-typed things like this proposal as defined isn't a good idea. [[User:0xDeadbeef|0xDeadbeef]] ([[User talk:0xDeadbeef|talk]]) 16:16, 5 August 2023 (UTC) *::This seems to be a good idea, thanks! I moved and splitted the proposal accordingly. --[[User:1-Byte|1-Byte]] ([[User talk:1-Byte|talk]]) 09:51, 6 August 2023 (UTC) *:: is it okay to go ahead to create this 'extract string from JSON object based on JSONPath' as a function ? [[User:Dolphyb|Dolphyb]] ([[User talk:Dolphyb|talk]]) 16:14, 15 February 2024 (UTC) === Basic list/iterable functions requiring numeric types === * [[w:en:Lehmer random number generator#Sample C99 code]] * Sum the elements of a numeric list - {{z+|Z14038}} * Product of the elements of a numeric list ** {{done}} {{Z|23909}}/{{Z|13558}} * {{z+|Z12676}} * Slice of list elements: for the supplied list, return a list of elements that are at indexes between a supplied range n:m ** Zero indexing is used (first element is index 0)? ** n and m are are included in the range? ** What happens if n and/or m are invalid indexes? ** {{done}} {{Z+|Z26556}} * Remove slice of elements from list: return the supplied list with elements between a supplied range of indexes removed ** Zero indexing is used (first element is index 0)? ** n and m are are included in the range? ** What happens if n and/or m are invalid indexes? * Every nth element of list: returns every nth element of the supplied list ** {{done}} {{Z+|Z28735}} * Remove every nth element of list: removes every nth element of the supplied list - * sample n objects from list (return up to n [[Wikifunctions:Determinism|random]] objects from the list) * Jaccard similarity coefficient (see https://en.wikipedia.org/wiki/Jaccard_index) * Weighted average. Supply a list of values, and a second list of the same length of their weights. Returns a weighted average ** Example Input: <code>values = [10, 20, 30]</code>, <code>weights = [1, 2, 3]</code> ** Output: <code>23.33</code> ** {{done}} {{Z+|Z28066}} === Geodetics functions === [[w:en:planetary coordinate system]], [[w:en:well-known text representation of coordinate reference systems]] ==== Earth ==== * convert coordinates outside of the ranges (-180, 180) for longitude and (-90, 90) for latitude to a canonical form * [https://plus.codes Plus Codes] to/from geocoordinates ** functions should match the semantics of the [https://github.com/google/open-location-code/blob/main/Documentation/Specification/specification.md#api-requirements expected API]: <code>is valid Plus Code?</code>, <code>is shortened Plus Code?</code>, <code>is full Plus Code?</code>, {{z+|Z25963}}, <code>co-ordinates from Plus Code</code> ([https://github.com/google/open-location-code/blob/main/Documentation/Specification/specification.md#decoding SW corner]), <code>shorten Plus Code</code>, <code>recover nearest Plus Code</code> ** implementations for JS and Python are provided, Apache 2.0 licenced, not sure how self-contained they are ** most of the functions could also be implemented by composition ** sample data is provided for testing (it's ~500 cases for each of encode/decode and ~50 cases for each of the others, but they're grouped nicely so maybe take 1 from each) ==== Mars ==== [[w:en:areography#Cartography and geodesy]] * convert coordinates outside of the ranges [0, 360) for longitude and (-90, 90) for latitude to a canonical form ==== Moon ==== [[w:en:selenography#Lunar cartography and toponymy]] === Unit conversion functions === * {{z+|Z15560}} ::The function has two implementations now. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 20:32, 20 February 2026 (UTC) === Conversion function : 2D Cartesian to 2D Polar === Input : matrix [x,y] Output: matrix [θ,r] Short text : Polar conversion of x,y to a polar space centred at 0,0 in the Cartesian. Constraints: x,y,r are reals (float64), θ lies in the range -π<0<π (Sign determined in relation to standards used in STEM applications. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 14:30, 26 March 2025 (UTC) :The companion could also be provided. As I never did Geodetic functions, I am not sure how Lat, Long to map projection would work , but useful. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 14:30, 26 March 2025 (UTC) :See also [[WF:Type proposals/complex128]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 10:17, 1 December 2025 (UTC) === Trigonometric functions === * {{Z|Z16463}}, {{Z|Z12473}}, *: Input : float64 Angle in radians. *: Output : float64 desired trignometric value [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 19:40, 26 March 2025 (UTC) * {{Z|Z29125}} *:Inputs: 2D Point (float64s, Reals, or perhaps [[WF:Type_proposals/complex128|a single complex number]]), angle (float64 or Real) *:Output: 2D Point (matching the input type) *:Not necessarily one single function; one can be created for each input type [[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:05, 31 July 2025 (UTC) ==== Function proposal : Decimalise angle of the form ('1:x' or '1 in x') to % (in 100) or ‰ (in 1000) ==== *Suggested name: gardient_decimal. *Input type: Integer ( The 1 is implied.). Lower Bound +1: Upper Bound: 1000 (for most practical situations?) *Output type: Real/float 64. Proposer: [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 19:05, 28 March 2025 (UTC) ===Color Functions=== ==== Colorspace Conversion ==== x,y,Y to sRGB (Illuminant D65). Input : 3tuple of float64, Output: 3 tuple of integer, where 0>=r<=255, 0>=g<=255 0>=b<=255. Convert a color specfied as 3 float64 values, from x,y,Y colorspace to sRGB or raise an "Out of Gaumt" exception. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 19:09, 7 April 2025 (UTC) ==== Spectral Approximate from sRGB or XYZ values. ==== I'd like to see the techniques detailed here: http://scottburns.us/reflectance-curves-from-srgb/ implemented in Wikifunctions as the provided spreadhseet later in the paper doesn't appear to work with Libre Office. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 19:32, 2 June 2025 (UTC) ==== Subtractive color mix (Pigment style) ==== Implement the mixing function from Spectral.js (https://github.com/rvanwijnen/spectral.js/blob/3.0.0/spectral.js )(MIT license), to allow 2 or more sRGB triplets to be mixed like pigment colors. This is different from the subtract colors function implemented previously. === Music Functions === It would be nice to have '''12 equal temperament pitch class''' and '''12 equal temperament pitch''' types, as they would be useful for calculating harmonies and melodies. The pitch classes could be stored as natural numbers from 0 to 11, and represented with symbols C, C♯, D, ..., B. The pitches could be stored as integers with -1 being B3, 0 being C4, 1 being C♯4, etc. Over time, we could expand the pitch class and pitch types to other temperaments and just intonation. As I'm new to Wikifunctions and my coding skills are next to zero, this is just a suggestion to the community. (edited) [[User:CaffeineP|CaffeineP]] ([[User talk:CaffeineP|talk]]) 14:48, 9 April 2025 (UTC) :Yes… There are some notational challenges because of enharmonics as well as naming conventions varying by language/culture, so English A♯ is equivalent to German B and English B♭, for example. Ideally, I would want the (English) pitch class that is five semitones higher than G♭ to be displayed as C♭ rather than B. :Also, given some reference pitch like A4 = 440 Hz, we should be able to return the frequency in hertz of a given pitch and, conversely, the nearest pitch for a given frequency and its offset in cents (or whatever). The computation is a lot simpler than representing the result (or capturing how the result should be represented)! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:08, 9 April 2025 (UTC) :If you use the cardinal values for the pitches from the MIDI standard (or an extension to such, since they're limited to 0..<128) then you could make some of these functions already, no [[WF:Type_proposals|type proposal]] needed. Granted a lot of them would just be addition/subtraction. And if you semi-arbitrarily map A = 0, A# = 1, etc. then you could do all of them. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 10:33, 1 December 2025 (UTC) * '''12-ET Pitch Class of a Pitch''': Return the 12 equal temperament pitch class of a given 12 equal temperament pitch. For example, C4 returns C. * '''12-ET Pitch based on Pitch Class''': Return a 12 equal temperament pitch based on a given 12 equal temperament pitch class and a given integer. For example, C and 4 return C4. * '''Interval between 12-ET Pitch Classes in Semitones''': Get the interval in semitones between two 12 equal temperament pitch classes, always assuming that the first is lower than (or the same as) the second, and the interval is less than an octave. For example, C and B return 11, while B and C return 1. * '''Interval between 12-ET Pitches in Semitones''': Get the interval in semitones between two 12 equal temperament pitches. For example, C4 and B3 return -1, while C3 and B4 return 23. ** {{Z+|Z25219}} * '''Raise 12-ET Pitch Class by Semitones''': Get a new 12 equal temperament pitch class through raising a given pitch class by the provided number of semitones. For example, raising B by 1 semitone returns C. ** {{Z+|Z25407}} * '''Lower 12-ET Pitch Class by Semitones''': Same as above, but lower the pitch class instead of raising it. ** {{Z+|Z25407}} * '''Raise 12-ET Pitch by Semitones''': Get a new 12 equal temperament pitch through raising a given pitch by the provided number of semitones. For example, raising B3 by 1 semitone returns C4. * '''Lower 12-ET Pitch by Semitones''': Same as above, but lower the pitch instead of raising it. * '''Frequency of a 12-ET Pitch''': Return a float64 frequency in Hz based on the provided 12 equal temperament pitch (and possibly a reference pitch with its frequency; if not provided, take default A4 = 440 Hz). ** {{Z+|Z25217}} * '''Approximate 12-ET Pitch Class based on Frequency''': Return a 12 equal temperament pitch class approximately based on the provided frequency in Hz. * '''Approximate 12-ET Pitch based on Frequency''': Return a 12 equal temperament pitch approximately based on the provided frequency in Hz. === SVG Functions === I would be nice to generate SVG (a XML-based vector image format which is basically a long string), it could allow to replace a lot of images on Commons or templates/tools. Here some examples: * create simple forms, * create graphs (line graph/bar graph for population or for production, elections diagrams like [[:File:1900Hawaii.svg]], etc.), * create more complex visualisation like genealogical trees, * create coat of arms (?), * etc. Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 10:47, 23 April 2025 (UTC) :@[[User:VIGNERON|VIGNERON]]: Eventually that is something we might support, but there'll be nothing any time soon. It has a number of complex security and scalability concerns, sadly. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:21, 23 April 2025 (UTC) ::{{ping|Jdforrester (WMF)}} thanks. I talked about it for the last Corner but I wanted to leave a record here, if we have time, maybe I'll use that time to write some things to prepare (like listing templates and tools on the Wikimedia projects that generate SVG or visualisations). Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 15:28, 23 April 2025 (UTC) :::Of course! I've explicitly added a section on this here: [[Wikifunctions:Embedded function calls#Non-text output]] — hope that helps assure you that we're thinking about it. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:40, 23 April 2025 (UTC) :An intermediate step could be replicating some of the [https://w3.org/TR/SVG11/filters.html functions] contained within {{Q|1518348}} [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 06:22, 5 May 2026 (UTC) === Biology === ==== Taxon functions ==== A taxon type could be useful, as could a taxon rank enum ({{Q|P31}} {{Q|Q427626}}). --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 16:49, 22 September 2025 (UTC) * Wikidata item representing taxon rank ({{Q|P31}} {{Q|Q427626}}) is at genus level or below ** Should(?) be possible with the current Wikidata functionality, from what I understand. See [[:Wikifunctions:Project chat#Taxon rank function(s)]] for a more detailed explanation. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:27, 16 May 2025 (UTC) * compare taxon ranks ** Cases: a < b, a == b, a > b, undetermined/incomparable (if a or b are clades, this should be returned/used) * get taxon code of nomenclature ({{Q|P944}}) * is parent taxon of / is child taxon of ** <code>is parent taxon of(Taxon a, Taxon b) => b.parent == a OR is parent taxon of(a, b.parent)</code> * format taxon name (according to relevant rules of nomenclature) ** Include author and year citation? Maybe page too, if present? == Object / type / function functions == == External function lists == * [[WF:importing]] ffu92pij7kozr78jooxq84e2rfafykd Wikifunctions:Project chat 4 1184 273232 273227 2026-05-08T14:04:50Z Theki 2389 /* RGBA colour, spelling... */ new topic ([[mw:c:Special:MyLanguage/User:JWBTH/CD|CD]]) 273232 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __NEWSECTIONLINK__ [[Category:Help]] <!-- please do not remove this line --> Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc. Other places to find help: * [[Wikifunctions:Administrators' noticeboard]] * [[Wikifunctions:Report a technical problem]] * [[Wikifunctions:FAQ]] {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}} |class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}} |prefix=WF:Project chat/Archive/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Help me understand why test passes but running function with same input errors == I've been working on a function that I thought I had working correctly: {{Z+|Z31108}}. It has a test which is passing, but when I enter the same Wikidata item as the test uses (or any other relevant item that it ought to work for), it errors. I can't figure out what's wrong (and the function itself seemed to be working as expected the last time worked on it, a month ago), and I don't know how to interpret the error info. The error output is: <code> Error type: Unspecified error Error data: error information: "cannot read property 'Z6003K4' of undefined" Execution debug logs: Z12696K2 (find this) ==> ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6007'},Z6007K1:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6092'},Z6092K1:P3831>,Z6007K2:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6091'},Z6091K1:Q7380503>,Z6007K3:ZReference<Z6021>> </code> -- [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 18:02, 10 April 2026 (UTC) :Hmm… I’ve had a quick look and found a comparable error with {{Z|Z29937}}, which was passing “4 months ago”. The debug comes from {{Z|Z12863}}, after it fails to find a match. This is probably because Z6007K3 is ZReference("Z6021") rather than a Z6020 object, as it appears in the debug logs for your test “28 days ago”: :"Z6007K3":{"Z1K1":{"Z1K1":"Z9","Z9K1":"Z6020"},"Z6020K1":{"Z9K1":"Z6021"}} :This means it’s probably a bug introduced by a recent software change. I’ll take a closer look over the weekend, but the actual error for your test case now is: :Unspecified error (error information: "cannot read property 'Z6003K4' of undefined") :I’m guessing that’s from there being no guard against an empty array in {{Z|Z23681}}, but we’ll see. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:22, 10 April 2026 (UTC) :I tracked down the bug to [[Z29869]] and fixed that, but the tests for [[Z31659]] are still failing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:44, 11 April 2026 (UTC) ::Thanks. I’ve re-implemented {{Z|Z23680}} with {{Z|Z33331}} so we at least get a meaningful error in {{Z|Z31108}}. The new implementation explicitly caters for the alternative representation of {{Z|Z6040}} and errors on the empty list it gets from {{Z|Z31659}}. ::I also made a [[Z33332|simple Python implementation]], which seems to work. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 11 April 2026 (UTC) == No place to ask to activate a function? == I just discovered the {{Z|Z11390}} function and decided to make an overarching language-selecting function for it. After some fiddling around and studying how {{Z|Z32321}} and its set works, I now have {{Z|Z33439}} which has a config object ({{Z|Z33441}}) that selects between the two preexisting language-specific versions I found (English and Malayalam) and the new one I created for my other native language, {{Z|Z33440}}. Except I can't get these to work, because, from what I understand, only [[Wikifunctions:Functioneers|functioneers]] can activate newly created functions and implementations? So where do I apply for the {{Z|Z33439}} and {{Z|Z33440}} functions to be activated? Perhaps we should have a place to ask for it, a la [[w:WP:NPP]] — call it [[Project:New Functions Patrol|New Functions Patrol]] if you will. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] ([[User talk:UndueMarmot|talk]]) 08:58, 14 April 2026 (UTC) :There's [[Wikifunctions:Community portal]] for this. By the way, {{Z|Z33445}} doesn't work because all the code must be inside the main function in Python code. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:19, 14 April 2026 (UTC) ::Huh. How could I have missed that? ::But anyway, I've moved the code in {{Z|Z33445}} into inside the main function block. ::Is there any reason why WF decided not to simply allow anyone to write functions? After all, that's how it works with wikitext templates, and these functions are fundamentally serving the same purposes as templates, just written in a different way. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 11:25, 14 April 2026 (UTC) :::I've fixed a couple of technical issues, but tests still fail. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:28, 14 April 2026 (UTC) ::::The tests pass now after some more changes to the code: [[Special:Diff/265232/cur]]. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 12:01, 14 April 2026 (UTC) :::::{{D|Connected}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:02, 14 April 2026 (UTC) :::I think it's a security issue, since Wikifunctions implementations could teoretically be malicious. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:29, 14 April 2026 (UTC) ::::This ^^^. We're very lenient, though, once you've created a few working functions you can apply for the right, per [[WF:Functioneer]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:26, 14 April 2026 (UTC) ::::That explanation [[phab:T343559#11421293|doesn't add up]]. A reason to limit ''connection powers'' to Functioneers might be to prevent vandalism, considering Functions can be used across wikis. But user-provided code is already being executed even without a Functioneer connecting it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 April 2026 (UTC) == Actual difference between {{Z|Z26039}} and {{Z|Z26095}} == What is the actual difference between these two functions? I ask, since it seems to me that the current distinction is more or less that the first one doesn't use an indefinite article in English, while the second does. Which is not a good distinction in a project that should be language neutral. This doubt emerged from my use of the first one in [[abstract:Q124441]], which @[[User:Hogü-456|Hogü-456]] made me notice that is probably wrong. My question is: why is it wrong? How could we clarify the difference? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:46, 19 April 2026 (UTC) :I think the difference is if there is an indefinite article like a or an before the subject or not. In German there can be cases where a definite article is necessary before the subject. I looked at the functions and before the object both times an article is mentioned. As it depends on the language and the word what is the correct function to use I hope it will be clarified and it is an example of the necessity to have a human with understanding in a specific language check it. I hope there will be longer functions what generate more content about a specific kind of item. Then it is necessary to write one such function per language and it can be then applied to several items. It still requires checks and so maybe it is better to write down what item category needs what kind of introduction sentence function for what language. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:05, 19 April 2026 (UTC) ::The point of these two functions (and of the entire Abstract Wikipedia project) is that they should be defined in a purely language-independent way, so that the translation to actual language can be done automatically. This is the reason why these functions have been renamed; I think that this attempt was not succesful, since meaning is still unclear. My proposal to clarify them would be to invoke the concept of [[w:specificity (linguistics)|specificity]]: {{Z|Z26039}} should be named "specific subject is instance of (string)", and should be used only when the QID of the subject uniquely identifies a single thing; {{Z|Z26095}} should instead be renamed in "non-specific subject is kind of (Monolingual text)", and should be used when the QID refers to a multitude of real life items, and we are specifying the class that all these item belong to. This clarification would not still be enough, since it doesn't explain how mass nouns are handled (is water a unique thing? Does {{Q|Q7802}} refer to a single piece of bread or to the entirety of bread, like water?). This problem is very tricky, since mass noun are language-specific and blurry the line between these two functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 20:58, 19 April 2026 (UTC) :Simply put, one corresponds to P31 and the other to P279. Paris is an {{Q|P31}} a {{Q|Q1549591}} :whereas a {{Q|Q1549591}} is a {{Q|P279}} (alias “kind of”) {{Q|Q515}}. Whether the Wikidata knowledge representation will be sufficient to resolve into fluent natural language representations in all languages is, of course, a crucial question. Where it is not, the Abstract Wikipedia knowledge representation will need to supplement the Wikidata content with additional details about the relation between the participants or the participants themselves, and these details should be language-neutral, to the extent that this is practicable. The item {{Q|Q124441}} has no [[:d:Q124441#P31|P31]] statements; it has only [[:d:Q124441#P279|P279]]s, including one relating it to {{Q|Q212920}}, which suggests {{Z|Z26095}} is the appropriate choice here even if the rendering in some languages is the same. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:52, 19 April 2026 (UTC) ::Thanks for explaining it. I think that I'll change the implementation of {{Z|Z26095}}, so that in Italian it produces more or less the same output of {{Z|Z26039}} (both with the definite article). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:24, 20 April 2026 (UTC) == Equivalent of Z6830 for lexemes == Is there an equivalent of {{Z|Z6830}} that enables retrieving all lexemes pointing to a particular lexeme using a specific property? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 21:06, 20 April 2026 (UTC) :There's {{Z|6831}} but I think that's slightly different again to what you're after. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:31, 21 April 2026 (UTC) ::Thanks for sharing that one, I did not know it existed. But you are right, it’s not quite what I am looking for. I want a function that would take a Wikidata property reference (like P5191, which is ‘derived from lexeme’) and a Wikidata lexeme reference, and return a list of lexemes that reference that lexeme using that property. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 13:23, 21 April 2026 (UTC) == Storing huge datasets == It is not a necessity I suppose, but an idea came to me earlier to write a function that would give the corresponding [[en:Shavian alphabet|Shavian alphabet representation]] of an English word written with the Latin alphabet, or perhaps apply that operation to an entire sentence. However, just trying to guess as to what the IPA pronunciation of each word passed into it could be is is both not ideal (pronunciations obviously can and will vary widely between accents) and infeasible <s>(Wikidata lexemes don't really seem to account for pronunciation)</s>. It happens, though, that a comprehensive Shavian dictionary exists named the [https://readlex.pythonanywhere.com/ ''Read Lexicon''], which uses pronunciation and spelling similar to that used by the creator of the alphabet himself. This would be a good dataset to use in performing this translation in the function, but it appears that, all in all, the total size of the dictionary is [https://github.com/Shavian-info/readlex/blob/main/readlex.json ''nearly 26MB''] when formatted as JSON, which would certainly be larger when converted into a typed list. I am wondering if this will ever be feasible or admissible, or if there is really a way around this if importing such a large set of data is deemed impractical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54, 25 April 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on Composition Language v2, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:21, 2 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of {{Z|Z28579}}. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON. I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus". The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) hqnvs3rdyr0hq3p2jmt1petfcds52ta 273233 273232 2026-05-08T14:08:17Z Theki 2389 /* RGBA colour, spelling... */ 273233 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __NEWSECTIONLINK__ [[Category:Help]] <!-- please do not remove this line --> Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc. Other places to find help: * [[Wikifunctions:Administrators' noticeboard]] * [[Wikifunctions:Report a technical problem]] * [[Wikifunctions:FAQ]] {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}} |class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}} |prefix=WF:Project chat/Archive/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Help me understand why test passes but running function with same input errors == I've been working on a function that I thought I had working correctly: {{Z+|Z31108}}. It has a test which is passing, but when I enter the same Wikidata item as the test uses (or any other relevant item that it ought to work for), it errors. I can't figure out what's wrong (and the function itself seemed to be working as expected the last time worked on it, a month ago), and I don't know how to interpret the error info. The error output is: <code> Error type: Unspecified error Error data: error information: "cannot read property 'Z6003K4' of undefined" Execution debug logs: Z12696K2 (find this) ==> ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6007'},Z6007K1:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6092'},Z6092K1:P3831>,Z6007K2:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6091'},Z6091K1:Q7380503>,Z6007K3:ZReference<Z6021>> </code> -- [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 18:02, 10 April 2026 (UTC) :Hmm… I’ve had a quick look and found a comparable error with {{Z|Z29937}}, which was passing “4 months ago”. The debug comes from {{Z|Z12863}}, after it fails to find a match. This is probably because Z6007K3 is ZReference("Z6021") rather than a Z6020 object, as it appears in the debug logs for your test “28 days ago”: :"Z6007K3":{"Z1K1":{"Z1K1":"Z9","Z9K1":"Z6020"},"Z6020K1":{"Z9K1":"Z6021"}} :This means it’s probably a bug introduced by a recent software change. I’ll take a closer look over the weekend, but the actual error for your test case now is: :Unspecified error (error information: "cannot read property 'Z6003K4' of undefined") :I’m guessing that’s from there being no guard against an empty array in {{Z|Z23681}}, but we’ll see. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:22, 10 April 2026 (UTC) :I tracked down the bug to [[Z29869]] and fixed that, but the tests for [[Z31659]] are still failing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:44, 11 April 2026 (UTC) ::Thanks. I’ve re-implemented {{Z|Z23680}} with {{Z|Z33331}} so we at least get a meaningful error in {{Z|Z31108}}. The new implementation explicitly caters for the alternative representation of {{Z|Z6040}} and errors on the empty list it gets from {{Z|Z31659}}. ::I also made a [[Z33332|simple Python implementation]], which seems to work. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 11 April 2026 (UTC) == No place to ask to activate a function? == I just discovered the {{Z|Z11390}} function and decided to make an overarching language-selecting function for it. After some fiddling around and studying how {{Z|Z32321}} and its set works, I now have {{Z|Z33439}} which has a config object ({{Z|Z33441}}) that selects between the two preexisting language-specific versions I found (English and Malayalam) and the new one I created for my other native language, {{Z|Z33440}}. Except I can't get these to work, because, from what I understand, only [[Wikifunctions:Functioneers|functioneers]] can activate newly created functions and implementations? So where do I apply for the {{Z|Z33439}} and {{Z|Z33440}} functions to be activated? Perhaps we should have a place to ask for it, a la [[w:WP:NPP]] — call it [[Project:New Functions Patrol|New Functions Patrol]] if you will. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] ([[User talk:UndueMarmot|talk]]) 08:58, 14 April 2026 (UTC) :There's [[Wikifunctions:Community portal]] for this. By the way, {{Z|Z33445}} doesn't work because all the code must be inside the main function in Python code. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:19, 14 April 2026 (UTC) ::Huh. How could I have missed that? ::But anyway, I've moved the code in {{Z|Z33445}} into inside the main function block. ::Is there any reason why WF decided not to simply allow anyone to write functions? After all, that's how it works with wikitext templates, and these functions are fundamentally serving the same purposes as templates, just written in a different way. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 11:25, 14 April 2026 (UTC) :::I've fixed a couple of technical issues, but tests still fail. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:28, 14 April 2026 (UTC) ::::The tests pass now after some more changes to the code: [[Special:Diff/265232/cur]]. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 12:01, 14 April 2026 (UTC) :::::{{D|Connected}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:02, 14 April 2026 (UTC) :::I think it's a security issue, since Wikifunctions implementations could teoretically be malicious. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:29, 14 April 2026 (UTC) ::::This ^^^. We're very lenient, though, once you've created a few working functions you can apply for the right, per [[WF:Functioneer]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:26, 14 April 2026 (UTC) ::::That explanation [[phab:T343559#11421293|doesn't add up]]. A reason to limit ''connection powers'' to Functioneers might be to prevent vandalism, considering Functions can be used across wikis. But user-provided code is already being executed even without a Functioneer connecting it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 April 2026 (UTC) == Actual difference between {{Z|Z26039}} and {{Z|Z26095}} == What is the actual difference between these two functions? I ask, since it seems to me that the current distinction is more or less that the first one doesn't use an indefinite article in English, while the second does. Which is not a good distinction in a project that should be language neutral. This doubt emerged from my use of the first one in [[abstract:Q124441]], which @[[User:Hogü-456|Hogü-456]] made me notice that is probably wrong. My question is: why is it wrong? How could we clarify the difference? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:46, 19 April 2026 (UTC) :I think the difference is if there is an indefinite article like a or an before the subject or not. In German there can be cases where a definite article is necessary before the subject. I looked at the functions and before the object both times an article is mentioned. As it depends on the language and the word what is the correct function to use I hope it will be clarified and it is an example of the necessity to have a human with understanding in a specific language check it. I hope there will be longer functions what generate more content about a specific kind of item. Then it is necessary to write one such function per language and it can be then applied to several items. It still requires checks and so maybe it is better to write down what item category needs what kind of introduction sentence function for what language. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:05, 19 April 2026 (UTC) ::The point of these two functions (and of the entire Abstract Wikipedia project) is that they should be defined in a purely language-independent way, so that the translation to actual language can be done automatically. This is the reason why these functions have been renamed; I think that this attempt was not succesful, since meaning is still unclear. My proposal to clarify them would be to invoke the concept of [[w:specificity (linguistics)|specificity]]: {{Z|Z26039}} should be named "specific subject is instance of (string)", and should be used only when the QID of the subject uniquely identifies a single thing; {{Z|Z26095}} should instead be renamed in "non-specific subject is kind of (Monolingual text)", and should be used when the QID refers to a multitude of real life items, and we are specifying the class that all these item belong to. This clarification would not still be enough, since it doesn't explain how mass nouns are handled (is water a unique thing? Does {{Q|Q7802}} refer to a single piece of bread or to the entirety of bread, like water?). This problem is very tricky, since mass noun are language-specific and blurry the line between these two functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 20:58, 19 April 2026 (UTC) :Simply put, one corresponds to P31 and the other to P279. Paris is an {{Q|P31}} a {{Q|Q1549591}} :whereas a {{Q|Q1549591}} is a {{Q|P279}} (alias “kind of”) {{Q|Q515}}. Whether the Wikidata knowledge representation will be sufficient to resolve into fluent natural language representations in all languages is, of course, a crucial question. Where it is not, the Abstract Wikipedia knowledge representation will need to supplement the Wikidata content with additional details about the relation between the participants or the participants themselves, and these details should be language-neutral, to the extent that this is practicable. The item {{Q|Q124441}} has no [[:d:Q124441#P31|P31]] statements; it has only [[:d:Q124441#P279|P279]]s, including one relating it to {{Q|Q212920}}, which suggests {{Z|Z26095}} is the appropriate choice here even if the rendering in some languages is the same. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:52, 19 April 2026 (UTC) ::Thanks for explaining it. I think that I'll change the implementation of {{Z|Z26095}}, so that in Italian it produces more or less the same output of {{Z|Z26039}} (both with the definite article). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:24, 20 April 2026 (UTC) == Equivalent of Z6830 for lexemes == Is there an equivalent of {{Z|Z6830}} that enables retrieving all lexemes pointing to a particular lexeme using a specific property? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 21:06, 20 April 2026 (UTC) :There's {{Z|6831}} but I think that's slightly different again to what you're after. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:31, 21 April 2026 (UTC) ::Thanks for sharing that one, I did not know it existed. But you are right, it’s not quite what I am looking for. I want a function that would take a Wikidata property reference (like P5191, which is ‘derived from lexeme’) and a Wikidata lexeme reference, and return a list of lexemes that reference that lexeme using that property. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 13:23, 21 April 2026 (UTC) == Storing huge datasets == It is not a necessity I suppose, but an idea came to me earlier to write a function that would give the corresponding [[en:Shavian alphabet|Shavian alphabet representation]] of an English word written with the Latin alphabet, or perhaps apply that operation to an entire sentence. However, just trying to guess as to what the IPA pronunciation of each word passed into it could be is is both not ideal (pronunciations obviously can and will vary widely between accents) and infeasible <s>(Wikidata lexemes don't really seem to account for pronunciation)</s>. It happens, though, that a comprehensive Shavian dictionary exists named the [https://readlex.pythonanywhere.com/ ''Read Lexicon''], which uses pronunciation and spelling similar to that used by the creator of the alphabet himself. This would be a good dataset to use in performing this translation in the function, but it appears that, all in all, the total size of the dictionary is [https://github.com/Shavian-info/readlex/blob/main/readlex.json ''nearly 26MB''] when formatted as JSON, which would certainly be larger when converted into a typed list. I am wondering if this will ever be feasible or admissible, or if there is really a way around this if importing such a large set of data is deemed impractical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54, 25 April 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on Composition Language v2, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:21, 2 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of {{Z|Z28579}}. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON. I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus".<ref group="color">It could be argued that the front-and-center ''Function catalogue'' using 「catalogue」 is actually indicative of such a "consensus", but ''catalogue'' is in a similar position to the word ''grey'' where I live (that is, the US) in that it is used just as often as its American counterpart.</ref> The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. <references group="color"></references> &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) lly1xaxbjb4iaijiipf112yhokpszv0 273234 273233 2026-05-08T14:11:22Z Theki 2389 /* RGBA colour, spelling... */ 273234 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __NEWSECTIONLINK__ [[Category:Help]] <!-- please do not remove this line --> Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc. Other places to find help: * [[Wikifunctions:Administrators' noticeboard]] * [[Wikifunctions:Report a technical problem]] * [[Wikifunctions:FAQ]] {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}} |class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}} |prefix=WF:Project chat/Archive/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Help me understand why test passes but running function with same input errors == I've been working on a function that I thought I had working correctly: {{Z+|Z31108}}. It has a test which is passing, but when I enter the same Wikidata item as the test uses (or any other relevant item that it ought to work for), it errors. I can't figure out what's wrong (and the function itself seemed to be working as expected the last time worked on it, a month ago), and I don't know how to interpret the error info. The error output is: <code> Error type: Unspecified error Error data: error information: "cannot read property 'Z6003K4' of undefined" Execution debug logs: Z12696K2 (find this) ==> ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6007'},Z6007K1:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6092'},Z6092K1:P3831>,Z6007K2:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6091'},Z6091K1:Q7380503>,Z6007K3:ZReference<Z6021>> </code> -- [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 18:02, 10 April 2026 (UTC) :Hmm… I’ve had a quick look and found a comparable error with {{Z|Z29937}}, which was passing “4 months ago”. The debug comes from {{Z|Z12863}}, after it fails to find a match. This is probably because Z6007K3 is ZReference("Z6021") rather than a Z6020 object, as it appears in the debug logs for your test “28 days ago”: :"Z6007K3":{"Z1K1":{"Z1K1":"Z9","Z9K1":"Z6020"},"Z6020K1":{"Z9K1":"Z6021"}} :This means it’s probably a bug introduced by a recent software change. I’ll take a closer look over the weekend, but the actual error for your test case now is: :Unspecified error (error information: "cannot read property 'Z6003K4' of undefined") :I’m guessing that’s from there being no guard against an empty array in {{Z|Z23681}}, but we’ll see. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:22, 10 April 2026 (UTC) :I tracked down the bug to [[Z29869]] and fixed that, but the tests for [[Z31659]] are still failing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:44, 11 April 2026 (UTC) ::Thanks. I’ve re-implemented {{Z|Z23680}} with {{Z|Z33331}} so we at least get a meaningful error in {{Z|Z31108}}. The new implementation explicitly caters for the alternative representation of {{Z|Z6040}} and errors on the empty list it gets from {{Z|Z31659}}. ::I also made a [[Z33332|simple Python implementation]], which seems to work. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 11 April 2026 (UTC) == No place to ask to activate a function? == I just discovered the {{Z|Z11390}} function and decided to make an overarching language-selecting function for it. After some fiddling around and studying how {{Z|Z32321}} and its set works, I now have {{Z|Z33439}} which has a config object ({{Z|Z33441}}) that selects between the two preexisting language-specific versions I found (English and Malayalam) and the new one I created for my other native language, {{Z|Z33440}}. Except I can't get these to work, because, from what I understand, only [[Wikifunctions:Functioneers|functioneers]] can activate newly created functions and implementations? So where do I apply for the {{Z|Z33439}} and {{Z|Z33440}} functions to be activated? Perhaps we should have a place to ask for it, a la [[w:WP:NPP]] — call it [[Project:New Functions Patrol|New Functions Patrol]] if you will. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] ([[User talk:UndueMarmot|talk]]) 08:58, 14 April 2026 (UTC) :There's [[Wikifunctions:Community portal]] for this. By the way, {{Z|Z33445}} doesn't work because all the code must be inside the main function in Python code. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:19, 14 April 2026 (UTC) ::Huh. How could I have missed that? ::But anyway, I've moved the code in {{Z|Z33445}} into inside the main function block. ::Is there any reason why WF decided not to simply allow anyone to write functions? After all, that's how it works with wikitext templates, and these functions are fundamentally serving the same purposes as templates, just written in a different way. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 11:25, 14 April 2026 (UTC) :::I've fixed a couple of technical issues, but tests still fail. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:28, 14 April 2026 (UTC) ::::The tests pass now after some more changes to the code: [[Special:Diff/265232/cur]]. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 12:01, 14 April 2026 (UTC) :::::{{D|Connected}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:02, 14 April 2026 (UTC) :::I think it's a security issue, since Wikifunctions implementations could teoretically be malicious. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:29, 14 April 2026 (UTC) ::::This ^^^. We're very lenient, though, once you've created a few working functions you can apply for the right, per [[WF:Functioneer]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:26, 14 April 2026 (UTC) ::::That explanation [[phab:T343559#11421293|doesn't add up]]. A reason to limit ''connection powers'' to Functioneers might be to prevent vandalism, considering Functions can be used across wikis. But user-provided code is already being executed even without a Functioneer connecting it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 April 2026 (UTC) == Actual difference between {{Z|Z26039}} and {{Z|Z26095}} == What is the actual difference between these two functions? I ask, since it seems to me that the current distinction is more or less that the first one doesn't use an indefinite article in English, while the second does. Which is not a good distinction in a project that should be language neutral. This doubt emerged from my use of the first one in [[abstract:Q124441]], which @[[User:Hogü-456|Hogü-456]] made me notice that is probably wrong. My question is: why is it wrong? How could we clarify the difference? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:46, 19 April 2026 (UTC) :I think the difference is if there is an indefinite article like a or an before the subject or not. In German there can be cases where a definite article is necessary before the subject. I looked at the functions and before the object both times an article is mentioned. As it depends on the language and the word what is the correct function to use I hope it will be clarified and it is an example of the necessity to have a human with understanding in a specific language check it. I hope there will be longer functions what generate more content about a specific kind of item. Then it is necessary to write one such function per language and it can be then applied to several items. It still requires checks and so maybe it is better to write down what item category needs what kind of introduction sentence function for what language. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:05, 19 April 2026 (UTC) ::The point of these two functions (and of the entire Abstract Wikipedia project) is that they should be defined in a purely language-independent way, so that the translation to actual language can be done automatically. This is the reason why these functions have been renamed; I think that this attempt was not succesful, since meaning is still unclear. My proposal to clarify them would be to invoke the concept of [[w:specificity (linguistics)|specificity]]: {{Z|Z26039}} should be named "specific subject is instance of (string)", and should be used only when the QID of the subject uniquely identifies a single thing; {{Z|Z26095}} should instead be renamed in "non-specific subject is kind of (Monolingual text)", and should be used when the QID refers to a multitude of real life items, and we are specifying the class that all these item belong to. This clarification would not still be enough, since it doesn't explain how mass nouns are handled (is water a unique thing? Does {{Q|Q7802}} refer to a single piece of bread or to the entirety of bread, like water?). This problem is very tricky, since mass noun are language-specific and blurry the line between these two functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 20:58, 19 April 2026 (UTC) :Simply put, one corresponds to P31 and the other to P279. Paris is an {{Q|P31}} a {{Q|Q1549591}} :whereas a {{Q|Q1549591}} is a {{Q|P279}} (alias “kind of”) {{Q|Q515}}. Whether the Wikidata knowledge representation will be sufficient to resolve into fluent natural language representations in all languages is, of course, a crucial question. Where it is not, the Abstract Wikipedia knowledge representation will need to supplement the Wikidata content with additional details about the relation between the participants or the participants themselves, and these details should be language-neutral, to the extent that this is practicable. The item {{Q|Q124441}} has no [[:d:Q124441#P31|P31]] statements; it has only [[:d:Q124441#P279|P279]]s, including one relating it to {{Q|Q212920}}, which suggests {{Z|Z26095}} is the appropriate choice here even if the rendering in some languages is the same. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:52, 19 April 2026 (UTC) ::Thanks for explaining it. I think that I'll change the implementation of {{Z|Z26095}}, so that in Italian it produces more or less the same output of {{Z|Z26039}} (both with the definite article). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:24, 20 April 2026 (UTC) == Equivalent of Z6830 for lexemes == Is there an equivalent of {{Z|Z6830}} that enables retrieving all lexemes pointing to a particular lexeme using a specific property? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 21:06, 20 April 2026 (UTC) :There's {{Z|6831}} but I think that's slightly different again to what you're after. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:31, 21 April 2026 (UTC) ::Thanks for sharing that one, I did not know it existed. But you are right, it’s not quite what I am looking for. I want a function that would take a Wikidata property reference (like P5191, which is ‘derived from lexeme’) and a Wikidata lexeme reference, and return a list of lexemes that reference that lexeme using that property. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 13:23, 21 April 2026 (UTC) == Storing huge datasets == It is not a necessity I suppose, but an idea came to me earlier to write a function that would give the corresponding [[en:Shavian alphabet|Shavian alphabet representation]] of an English word written with the Latin alphabet, or perhaps apply that operation to an entire sentence. However, just trying to guess as to what the IPA pronunciation of each word passed into it could be is is both not ideal (pronunciations obviously can and will vary widely between accents) and infeasible <s>(Wikidata lexemes don't really seem to account for pronunciation)</s>. It happens, though, that a comprehensive Shavian dictionary exists named the [https://readlex.pythonanywhere.com/ ''Read Lexicon''], which uses pronunciation and spelling similar to that used by the creator of the alphabet himself. This would be a good dataset to use in performing this translation in the function, but it appears that, all in all, the total size of the dictionary is [https://github.com/Shavian-info/readlex/blob/main/readlex.json ''nearly 26MB''] when formatted as JSON, which would certainly be larger when converted into a typed list. I am wondering if this will ever be feasible or admissible, or if there is really a way around this if importing such a large set of data is deemed impractical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54, 25 April 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on Composition Language v2, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:21, 2 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of {{Z|Z28579}}. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON.<ref group="color">I'm avoiding linking to these folks because I don't think pinging them about this discussion is all too necessary unless they themselves want to be involved; I don't want to clutter their inboxes just to briefly mention them. I pinged Denny because, well, I'm asking him a question directly, but everyone else I would prefer to join this discussion by their own accord... not that I wish for this decision to be confused as me going 「these people use British English so they will probably oppose my idea, I won't invite them to the discussion because of that」...no, I promise you that is not the reason.</ref> I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus".<ref group="color">It could be argued that the front-and-center ''Function catalogue'' using 「catalogue」 is actually indicative of such a "consensus", but ''catalogue'' is in a similar position to the word ''grey'' where I live (that is, the US) in that it is used just as often as its American counterpart.</ref> The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. <references group="color"></references> &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) 9jj2tyuapw6rns7d9zy5q1doz4kxyzf 273235 273234 2026-05-08T14:12:09Z Theki 2389 /* RGBA colour, spelling... */ 273235 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __NEWSECTIONLINK__ [[Category:Help]] <!-- please do not remove this line --> Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc. Other places to find help: * [[Wikifunctions:Administrators' noticeboard]] * [[Wikifunctions:Report a technical problem]] * [[Wikifunctions:FAQ]] {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}} |class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}} |prefix=WF:Project chat/Archive/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Help me understand why test passes but running function with same input errors == I've been working on a function that I thought I had working correctly: {{Z+|Z31108}}. It has a test which is passing, but when I enter the same Wikidata item as the test uses (or any other relevant item that it ought to work for), it errors. I can't figure out what's wrong (and the function itself seemed to be working as expected the last time worked on it, a month ago), and I don't know how to interpret the error info. The error output is: <code> Error type: Unspecified error Error data: error information: "cannot read property 'Z6003K4' of undefined" Execution debug logs: Z12696K2 (find this) ==> ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6007'},Z6007K1:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6092'},Z6092K1:P3831>,Z6007K2:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6091'},Z6091K1:Q7380503>,Z6007K3:ZReference<Z6021>> </code> -- [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 18:02, 10 April 2026 (UTC) :Hmm… I’ve had a quick look and found a comparable error with {{Z|Z29937}}, which was passing “4 months ago”. The debug comes from {{Z|Z12863}}, after it fails to find a match. This is probably because Z6007K3 is ZReference("Z6021") rather than a Z6020 object, as it appears in the debug logs for your test “28 days ago”: :"Z6007K3":{"Z1K1":{"Z1K1":"Z9","Z9K1":"Z6020"},"Z6020K1":{"Z9K1":"Z6021"}} :This means it’s probably a bug introduced by a recent software change. I’ll take a closer look over the weekend, but the actual error for your test case now is: :Unspecified error (error information: "cannot read property 'Z6003K4' of undefined") :I’m guessing that’s from there being no guard against an empty array in {{Z|Z23681}}, but we’ll see. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:22, 10 April 2026 (UTC) :I tracked down the bug to [[Z29869]] and fixed that, but the tests for [[Z31659]] are still failing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:44, 11 April 2026 (UTC) ::Thanks. I’ve re-implemented {{Z|Z23680}} with {{Z|Z33331}} so we at least get a meaningful error in {{Z|Z31108}}. The new implementation explicitly caters for the alternative representation of {{Z|Z6040}} and errors on the empty list it gets from {{Z|Z31659}}. ::I also made a [[Z33332|simple Python implementation]], which seems to work. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 11 April 2026 (UTC) == No place to ask to activate a function? == I just discovered the {{Z|Z11390}} function and decided to make an overarching language-selecting function for it. After some fiddling around and studying how {{Z|Z32321}} and its set works, I now have {{Z|Z33439}} which has a config object ({{Z|Z33441}}) that selects between the two preexisting language-specific versions I found (English and Malayalam) and the new one I created for my other native language, {{Z|Z33440}}. Except I can't get these to work, because, from what I understand, only [[Wikifunctions:Functioneers|functioneers]] can activate newly created functions and implementations? So where do I apply for the {{Z|Z33439}} and {{Z|Z33440}} functions to be activated? Perhaps we should have a place to ask for it, a la [[w:WP:NPP]] — call it [[Project:New Functions Patrol|New Functions Patrol]] if you will. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] ([[User talk:UndueMarmot|talk]]) 08:58, 14 April 2026 (UTC) :There's [[Wikifunctions:Community portal]] for this. By the way, {{Z|Z33445}} doesn't work because all the code must be inside the main function in Python code. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:19, 14 April 2026 (UTC) ::Huh. How could I have missed that? ::But anyway, I've moved the code in {{Z|Z33445}} into inside the main function block. ::Is there any reason why WF decided not to simply allow anyone to write functions? After all, that's how it works with wikitext templates, and these functions are fundamentally serving the same purposes as templates, just written in a different way. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 11:25, 14 April 2026 (UTC) :::I've fixed a couple of technical issues, but tests still fail. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:28, 14 April 2026 (UTC) ::::The tests pass now after some more changes to the code: [[Special:Diff/265232/cur]]. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 12:01, 14 April 2026 (UTC) :::::{{D|Connected}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:02, 14 April 2026 (UTC) :::I think it's a security issue, since Wikifunctions implementations could teoretically be malicious. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:29, 14 April 2026 (UTC) ::::This ^^^. We're very lenient, though, once you've created a few working functions you can apply for the right, per [[WF:Functioneer]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:26, 14 April 2026 (UTC) ::::That explanation [[phab:T343559#11421293|doesn't add up]]. A reason to limit ''connection powers'' to Functioneers might be to prevent vandalism, considering Functions can be used across wikis. But user-provided code is already being executed even without a Functioneer connecting it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 April 2026 (UTC) == Actual difference between {{Z|Z26039}} and {{Z|Z26095}} == What is the actual difference between these two functions? I ask, since it seems to me that the current distinction is more or less that the first one doesn't use an indefinite article in English, while the second does. Which is not a good distinction in a project that should be language neutral. This doubt emerged from my use of the first one in [[abstract:Q124441]], which @[[User:Hogü-456|Hogü-456]] made me notice that is probably wrong. My question is: why is it wrong? How could we clarify the difference? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:46, 19 April 2026 (UTC) :I think the difference is if there is an indefinite article like a or an before the subject or not. In German there can be cases where a definite article is necessary before the subject. I looked at the functions and before the object both times an article is mentioned. As it depends on the language and the word what is the correct function to use I hope it will be clarified and it is an example of the necessity to have a human with understanding in a specific language check it. I hope there will be longer functions what generate more content about a specific kind of item. Then it is necessary to write one such function per language and it can be then applied to several items. It still requires checks and so maybe it is better to write down what item category needs what kind of introduction sentence function for what language. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:05, 19 April 2026 (UTC) ::The point of these two functions (and of the entire Abstract Wikipedia project) is that they should be defined in a purely language-independent way, so that the translation to actual language can be done automatically. This is the reason why these functions have been renamed; I think that this attempt was not succesful, since meaning is still unclear. My proposal to clarify them would be to invoke the concept of [[w:specificity (linguistics)|specificity]]: {{Z|Z26039}} should be named "specific subject is instance of (string)", and should be used only when the QID of the subject uniquely identifies a single thing; {{Z|Z26095}} should instead be renamed in "non-specific subject is kind of (Monolingual text)", and should be used when the QID refers to a multitude of real life items, and we are specifying the class that all these item belong to. This clarification would not still be enough, since it doesn't explain how mass nouns are handled (is water a unique thing? Does {{Q|Q7802}} refer to a single piece of bread or to the entirety of bread, like water?). This problem is very tricky, since mass noun are language-specific and blurry the line between these two functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 20:58, 19 April 2026 (UTC) :Simply put, one corresponds to P31 and the other to P279. Paris is an {{Q|P31}} a {{Q|Q1549591}} :whereas a {{Q|Q1549591}} is a {{Q|P279}} (alias “kind of”) {{Q|Q515}}. Whether the Wikidata knowledge representation will be sufficient to resolve into fluent natural language representations in all languages is, of course, a crucial question. Where it is not, the Abstract Wikipedia knowledge representation will need to supplement the Wikidata content with additional details about the relation between the participants or the participants themselves, and these details should be language-neutral, to the extent that this is practicable. The item {{Q|Q124441}} has no [[:d:Q124441#P31|P31]] statements; it has only [[:d:Q124441#P279|P279]]s, including one relating it to {{Q|Q212920}}, which suggests {{Z|Z26095}} is the appropriate choice here even if the rendering in some languages is the same. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:52, 19 April 2026 (UTC) ::Thanks for explaining it. I think that I'll change the implementation of {{Z|Z26095}}, so that in Italian it produces more or less the same output of {{Z|Z26039}} (both with the definite article). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:24, 20 April 2026 (UTC) == Equivalent of Z6830 for lexemes == Is there an equivalent of {{Z|Z6830}} that enables retrieving all lexemes pointing to a particular lexeme using a specific property? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 21:06, 20 April 2026 (UTC) :There's {{Z|6831}} but I think that's slightly different again to what you're after. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:31, 21 April 2026 (UTC) ::Thanks for sharing that one, I did not know it existed. But you are right, it’s not quite what I am looking for. I want a function that would take a Wikidata property reference (like P5191, which is ‘derived from lexeme’) and a Wikidata lexeme reference, and return a list of lexemes that reference that lexeme using that property. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 13:23, 21 April 2026 (UTC) == Storing huge datasets == It is not a necessity I suppose, but an idea came to me earlier to write a function that would give the corresponding [[en:Shavian alphabet|Shavian alphabet representation]] of an English word written with the Latin alphabet, or perhaps apply that operation to an entire sentence. However, just trying to guess as to what the IPA pronunciation of each word passed into it could be is is both not ideal (pronunciations obviously can and will vary widely between accents) and infeasible <s>(Wikidata lexemes don't really seem to account for pronunciation)</s>. It happens, though, that a comprehensive Shavian dictionary exists named the [https://readlex.pythonanywhere.com/ ''Read Lexicon''], which uses pronunciation and spelling similar to that used by the creator of the alphabet himself. This would be a good dataset to use in performing this translation in the function, but it appears that, all in all, the total size of the dictionary is [https://github.com/Shavian-info/readlex/blob/main/readlex.json ''nearly 26MB''] when formatted as JSON, which would certainly be larger when converted into a typed list. I am wondering if this will ever be feasible or admissible, or if there is really a way around this if importing such a large set of data is deemed impractical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54, 25 April 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on Composition Language v2, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:21, 2 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of {{Z|Z28579}}. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON.<ref group="color">I'm avoiding linking to these folks because I don't think pinging them about this discussion is all too necessary unless they themselves want to be involved; I don't want to clutter their inboxes just to briefly mention them. I pinged Denny because, well, I'm asking him a question directly, but everyone else I would prefer to join this discussion by their own accord... not that I wish for this decision to be confused as me going 「these people use British English so they will probably oppose my idea, I won't invite them to the discussion because of that」...no, I promise you that is not the reason.</ref> I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus".<ref group="color">It could be argued that the front-and-center ''Function catalogue'' using 「catalogue」 is actually indicative of such a "consensus", but ''catalogue'' is in a similar position to the word ''grey'' where I live (that is, the US) in that it is used just as often as its American counterpart. Also, consider Wiktionary's ''Beer parlour'' project chat.</ref> The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. <references group="color"></references> &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) 8i9hjk7jmvne98eomc6i8wtrki6wxaq 273247 273235 2026-05-08T14:22:03Z YoshiRulz 10156 /* RGBA colour, spelling... */ Reply 273247 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __NEWSECTIONLINK__ [[Category:Help]] <!-- please do not remove this line --> Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc. Other places to find help: * [[Wikifunctions:Administrators' noticeboard]] * [[Wikifunctions:Report a technical problem]] * [[Wikifunctions:FAQ]] {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}} |class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}} |prefix=WF:Project chat/Archive/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Help me understand why test passes but running function with same input errors == I've been working on a function that I thought I had working correctly: {{Z+|Z31108}}. It has a test which is passing, but when I enter the same Wikidata item as the test uses (or any other relevant item that it ought to work for), it errors. I can't figure out what's wrong (and the function itself seemed to be working as expected the last time worked on it, a month ago), and I don't know how to interpret the error info. The error output is: <code> Error type: Unspecified error Error data: error information: "cannot read property 'Z6003K4' of undefined" Execution debug logs: Z12696K2 (find this) ==> ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6007'},Z6007K1:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6092'},Z6092K1:P3831>,Z6007K2:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6091'},Z6091K1:Q7380503>,Z6007K3:ZReference<Z6021>> </code> -- [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 18:02, 10 April 2026 (UTC) :Hmm… I’ve had a quick look and found a comparable error with {{Z|Z29937}}, which was passing “4 months ago”. The debug comes from {{Z|Z12863}}, after it fails to find a match. This is probably because Z6007K3 is ZReference("Z6021") rather than a Z6020 object, as it appears in the debug logs for your test “28 days ago”: :"Z6007K3":{"Z1K1":{"Z1K1":"Z9","Z9K1":"Z6020"},"Z6020K1":{"Z9K1":"Z6021"}} :This means it’s probably a bug introduced by a recent software change. I’ll take a closer look over the weekend, but the actual error for your test case now is: :Unspecified error (error information: "cannot read property 'Z6003K4' of undefined") :I’m guessing that’s from there being no guard against an empty array in {{Z|Z23681}}, but we’ll see. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:22, 10 April 2026 (UTC) :I tracked down the bug to [[Z29869]] and fixed that, but the tests for [[Z31659]] are still failing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:44, 11 April 2026 (UTC) ::Thanks. I’ve re-implemented {{Z|Z23680}} with {{Z|Z33331}} so we at least get a meaningful error in {{Z|Z31108}}. The new implementation explicitly caters for the alternative representation of {{Z|Z6040}} and errors on the empty list it gets from {{Z|Z31659}}. ::I also made a [[Z33332|simple Python implementation]], which seems to work. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 11 April 2026 (UTC) == No place to ask to activate a function? == I just discovered the {{Z|Z11390}} function and decided to make an overarching language-selecting function for it. After some fiddling around and studying how {{Z|Z32321}} and its set works, I now have {{Z|Z33439}} which has a config object ({{Z|Z33441}}) that selects between the two preexisting language-specific versions I found (English and Malayalam) and the new one I created for my other native language, {{Z|Z33440}}. Except I can't get these to work, because, from what I understand, only [[Wikifunctions:Functioneers|functioneers]] can activate newly created functions and implementations? So where do I apply for the {{Z|Z33439}} and {{Z|Z33440}} functions to be activated? Perhaps we should have a place to ask for it, a la [[w:WP:NPP]] — call it [[Project:New Functions Patrol|New Functions Patrol]] if you will. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] ([[User talk:UndueMarmot|talk]]) 08:58, 14 April 2026 (UTC) :There's [[Wikifunctions:Community portal]] for this. By the way, {{Z|Z33445}} doesn't work because all the code must be inside the main function in Python code. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:19, 14 April 2026 (UTC) ::Huh. How could I have missed that? ::But anyway, I've moved the code in {{Z|Z33445}} into inside the main function block. ::Is there any reason why WF decided not to simply allow anyone to write functions? After all, that's how it works with wikitext templates, and these functions are fundamentally serving the same purposes as templates, just written in a different way. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 11:25, 14 April 2026 (UTC) :::I've fixed a couple of technical issues, but tests still fail. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:28, 14 April 2026 (UTC) ::::The tests pass now after some more changes to the code: [[Special:Diff/265232/cur]]. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 12:01, 14 April 2026 (UTC) :::::{{D|Connected}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:02, 14 April 2026 (UTC) :::I think it's a security issue, since Wikifunctions implementations could teoretically be malicious. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:29, 14 April 2026 (UTC) ::::This ^^^. We're very lenient, though, once you've created a few working functions you can apply for the right, per [[WF:Functioneer]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:26, 14 April 2026 (UTC) ::::That explanation [[phab:T343559#11421293|doesn't add up]]. A reason to limit ''connection powers'' to Functioneers might be to prevent vandalism, considering Functions can be used across wikis. But user-provided code is already being executed even without a Functioneer connecting it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 April 2026 (UTC) == Actual difference between {{Z|Z26039}} and {{Z|Z26095}} == What is the actual difference between these two functions? I ask, since it seems to me that the current distinction is more or less that the first one doesn't use an indefinite article in English, while the second does. Which is not a good distinction in a project that should be language neutral. This doubt emerged from my use of the first one in [[abstract:Q124441]], which @[[User:Hogü-456|Hogü-456]] made me notice that is probably wrong. My question is: why is it wrong? How could we clarify the difference? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:46, 19 April 2026 (UTC) :I think the difference is if there is an indefinite article like a or an before the subject or not. In German there can be cases where a definite article is necessary before the subject. I looked at the functions and before the object both times an article is mentioned. As it depends on the language and the word what is the correct function to use I hope it will be clarified and it is an example of the necessity to have a human with understanding in a specific language check it. I hope there will be longer functions what generate more content about a specific kind of item. Then it is necessary to write one such function per language and it can be then applied to several items. It still requires checks and so maybe it is better to write down what item category needs what kind of introduction sentence function for what language. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:05, 19 April 2026 (UTC) ::The point of these two functions (and of the entire Abstract Wikipedia project) is that they should be defined in a purely language-independent way, so that the translation to actual language can be done automatically. This is the reason why these functions have been renamed; I think that this attempt was not succesful, since meaning is still unclear. My proposal to clarify them would be to invoke the concept of [[w:specificity (linguistics)|specificity]]: {{Z|Z26039}} should be named "specific subject is instance of (string)", and should be used only when the QID of the subject uniquely identifies a single thing; {{Z|Z26095}} should instead be renamed in "non-specific subject is kind of (Monolingual text)", and should be used when the QID refers to a multitude of real life items, and we are specifying the class that all these item belong to. This clarification would not still be enough, since it doesn't explain how mass nouns are handled (is water a unique thing? Does {{Q|Q7802}} refer to a single piece of bread or to the entirety of bread, like water?). This problem is very tricky, since mass noun are language-specific and blurry the line between these two functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 20:58, 19 April 2026 (UTC) :Simply put, one corresponds to P31 and the other to P279. Paris is an {{Q|P31}} a {{Q|Q1549591}} :whereas a {{Q|Q1549591}} is a {{Q|P279}} (alias “kind of”) {{Q|Q515}}. Whether the Wikidata knowledge representation will be sufficient to resolve into fluent natural language representations in all languages is, of course, a crucial question. Where it is not, the Abstract Wikipedia knowledge representation will need to supplement the Wikidata content with additional details about the relation between the participants or the participants themselves, and these details should be language-neutral, to the extent that this is practicable. The item {{Q|Q124441}} has no [[:d:Q124441#P31|P31]] statements; it has only [[:d:Q124441#P279|P279]]s, including one relating it to {{Q|Q212920}}, which suggests {{Z|Z26095}} is the appropriate choice here even if the rendering in some languages is the same. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:52, 19 April 2026 (UTC) ::Thanks for explaining it. I think that I'll change the implementation of {{Z|Z26095}}, so that in Italian it produces more or less the same output of {{Z|Z26039}} (both with the definite article). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:24, 20 April 2026 (UTC) == Equivalent of Z6830 for lexemes == Is there an equivalent of {{Z|Z6830}} that enables retrieving all lexemes pointing to a particular lexeme using a specific property? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 21:06, 20 April 2026 (UTC) :There's {{Z|6831}} but I think that's slightly different again to what you're after. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:31, 21 April 2026 (UTC) ::Thanks for sharing that one, I did not know it existed. But you are right, it’s not quite what I am looking for. I want a function that would take a Wikidata property reference (like P5191, which is ‘derived from lexeme’) and a Wikidata lexeme reference, and return a list of lexemes that reference that lexeme using that property. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 13:23, 21 April 2026 (UTC) == Storing huge datasets == It is not a necessity I suppose, but an idea came to me earlier to write a function that would give the corresponding [[en:Shavian alphabet|Shavian alphabet representation]] of an English word written with the Latin alphabet, or perhaps apply that operation to an entire sentence. However, just trying to guess as to what the IPA pronunciation of each word passed into it could be is is both not ideal (pronunciations obviously can and will vary widely between accents) and infeasible <s>(Wikidata lexemes don't really seem to account for pronunciation)</s>. It happens, though, that a comprehensive Shavian dictionary exists named the [https://readlex.pythonanywhere.com/ ''Read Lexicon''], which uses pronunciation and spelling similar to that used by the creator of the alphabet himself. This would be a good dataset to use in performing this translation in the function, but it appears that, all in all, the total size of the dictionary is [https://github.com/Shavian-info/readlex/blob/main/readlex.json ''nearly 26MB''] when formatted as JSON, which would certainly be larger when converted into a typed list. I am wondering if this will ever be feasible or admissible, or if there is really a way around this if importing such a large set of data is deemed impractical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54, 25 April 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on Composition Language v2, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:21, 2 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of {{Z|Z28579}}. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON.<ref group="color">I'm avoiding linking to these folks because I don't think pinging them about this discussion is all too necessary unless they themselves want to be involved; I don't want to clutter their inboxes just to briefly mention them. I pinged Denny because, well, I'm asking him a question directly, but everyone else I would prefer to join this discussion by their own accord... not that I wish for this decision to be confused as me going 「these people use British English so they will probably oppose my idea, I won't invite them to the discussion because of that」...no, I promise you that is not the reason.</ref> I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus".<ref group="color">It could be argued that the front-and-center ''Function catalogue'' using 「catalogue」 is actually indicative of such a "consensus", but ''catalogue'' is in a similar position to the word ''grey'' where I live (that is, the US) in that it is used just as often as its American counterpart. Also, consider Wiktionary's ''Beer parlour'' project chat.</ref> The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. <references group="color"></references> &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) :This is a multilingual project; the <code>en</code> label is <code>RGBA colour</code> and the <code>en-us</code> label is <code>RGBA color</code>. Though I'm not able to switch to <code>en-us</code> via the language picker so that would need to be fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:22, 8 May 2026 (UTC) f8wigj9gotascxcp8bz3xp4t80tpz44 273263 273247 2026-05-08T15:26:40Z Winston Sung 2672 /* Z6830 for Chinese */ Reply 273263 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __NEWSECTIONLINK__ [[Category:Help]] <!-- please do not remove this line --> Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc. Other places to find help: * [[Wikifunctions:Administrators' noticeboard]] * [[Wikifunctions:Report a technical problem]] * [[Wikifunctions:FAQ]] {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}} |class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}} |prefix=WF:Project chat/Archive/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Help me understand why test passes but running function with same input errors == I've been working on a function that I thought I had working correctly: {{Z+|Z31108}}. It has a test which is passing, but when I enter the same Wikidata item as the test uses (or any other relevant item that it ought to work for), it errors. I can't figure out what's wrong (and the function itself seemed to be working as expected the last time worked on it, a month ago), and I don't know how to interpret the error info. The error output is: <code> Error type: Unspecified error Error data: error information: "cannot read property 'Z6003K4' of undefined" Execution debug logs: Z12696K2 (find this) ==> ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6007'},Z6007K1:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6092'},Z6092K1:P3831>,Z6007K2:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6091'},Z6091K1:Q7380503>,Z6007K3:ZReference<Z6021>> </code> -- [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 18:02, 10 April 2026 (UTC) :Hmm… I’ve had a quick look and found a comparable error with {{Z|Z29937}}, which was passing “4 months ago”. The debug comes from {{Z|Z12863}}, after it fails to find a match. This is probably because Z6007K3 is ZReference("Z6021") rather than a Z6020 object, as it appears in the debug logs for your test “28 days ago”: :"Z6007K3":{"Z1K1":{"Z1K1":"Z9","Z9K1":"Z6020"},"Z6020K1":{"Z9K1":"Z6021"}} :This means it’s probably a bug introduced by a recent software change. I’ll take a closer look over the weekend, but the actual error for your test case now is: :Unspecified error (error information: "cannot read property 'Z6003K4' of undefined") :I’m guessing that’s from there being no guard against an empty array in {{Z|Z23681}}, but we’ll see. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:22, 10 April 2026 (UTC) :I tracked down the bug to [[Z29869]] and fixed that, but the tests for [[Z31659]] are still failing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:44, 11 April 2026 (UTC) ::Thanks. I’ve re-implemented {{Z|Z23680}} with {{Z|Z33331}} so we at least get a meaningful error in {{Z|Z31108}}. The new implementation explicitly caters for the alternative representation of {{Z|Z6040}} and errors on the empty list it gets from {{Z|Z31659}}. ::I also made a [[Z33332|simple Python implementation]], which seems to work. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 11 April 2026 (UTC) == No place to ask to activate a function? == I just discovered the {{Z|Z11390}} function and decided to make an overarching language-selecting function for it. After some fiddling around and studying how {{Z|Z32321}} and its set works, I now have {{Z|Z33439}} which has a config object ({{Z|Z33441}}) that selects between the two preexisting language-specific versions I found (English and Malayalam) and the new one I created for my other native language, {{Z|Z33440}}. Except I can't get these to work, because, from what I understand, only [[Wikifunctions:Functioneers|functioneers]] can activate newly created functions and implementations? So where do I apply for the {{Z|Z33439}} and {{Z|Z33440}} functions to be activated? Perhaps we should have a place to ask for it, a la [[w:WP:NPP]] — call it [[Project:New Functions Patrol|New Functions Patrol]] if you will. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] ([[User talk:UndueMarmot|talk]]) 08:58, 14 April 2026 (UTC) :There's [[Wikifunctions:Community portal]] for this. By the way, {{Z|Z33445}} doesn't work because all the code must be inside the main function in Python code. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:19, 14 April 2026 (UTC) ::Huh. How could I have missed that? ::But anyway, I've moved the code in {{Z|Z33445}} into inside the main function block. ::Is there any reason why WF decided not to simply allow anyone to write functions? After all, that's how it works with wikitext templates, and these functions are fundamentally serving the same purposes as templates, just written in a different way. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 11:25, 14 April 2026 (UTC) :::I've fixed a couple of technical issues, but tests still fail. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:28, 14 April 2026 (UTC) ::::The tests pass now after some more changes to the code: [[Special:Diff/265232/cur]]. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 12:01, 14 April 2026 (UTC) :::::{{D|Connected}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:02, 14 April 2026 (UTC) :::I think it's a security issue, since Wikifunctions implementations could teoretically be malicious. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:29, 14 April 2026 (UTC) ::::This ^^^. We're very lenient, though, once you've created a few working functions you can apply for the right, per [[WF:Functioneer]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:26, 14 April 2026 (UTC) ::::That explanation [[phab:T343559#11421293|doesn't add up]]. A reason to limit ''connection powers'' to Functioneers might be to prevent vandalism, considering Functions can be used across wikis. But user-provided code is already being executed even without a Functioneer connecting it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 April 2026 (UTC) == Actual difference between {{Z|Z26039}} and {{Z|Z26095}} == What is the actual difference between these two functions? I ask, since it seems to me that the current distinction is more or less that the first one doesn't use an indefinite article in English, while the second does. Which is not a good distinction in a project that should be language neutral. This doubt emerged from my use of the first one in [[abstract:Q124441]], which @[[User:Hogü-456|Hogü-456]] made me notice that is probably wrong. My question is: why is it wrong? How could we clarify the difference? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:46, 19 April 2026 (UTC) :I think the difference is if there is an indefinite article like a or an before the subject or not. In German there can be cases where a definite article is necessary before the subject. I looked at the functions and before the object both times an article is mentioned. As it depends on the language and the word what is the correct function to use I hope it will be clarified and it is an example of the necessity to have a human with understanding in a specific language check it. I hope there will be longer functions what generate more content about a specific kind of item. Then it is necessary to write one such function per language and it can be then applied to several items. It still requires checks and so maybe it is better to write down what item category needs what kind of introduction sentence function for what language. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:05, 19 April 2026 (UTC) ::The point of these two functions (and of the entire Abstract Wikipedia project) is that they should be defined in a purely language-independent way, so that the translation to actual language can be done automatically. This is the reason why these functions have been renamed; I think that this attempt was not succesful, since meaning is still unclear. My proposal to clarify them would be to invoke the concept of [[w:specificity (linguistics)|specificity]]: {{Z|Z26039}} should be named "specific subject is instance of (string)", and should be used only when the QID of the subject uniquely identifies a single thing; {{Z|Z26095}} should instead be renamed in "non-specific subject is kind of (Monolingual text)", and should be used when the QID refers to a multitude of real life items, and we are specifying the class that all these item belong to. This clarification would not still be enough, since it doesn't explain how mass nouns are handled (is water a unique thing? Does {{Q|Q7802}} refer to a single piece of bread or to the entirety of bread, like water?). This problem is very tricky, since mass noun are language-specific and blurry the line between these two functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 20:58, 19 April 2026 (UTC) :Simply put, one corresponds to P31 and the other to P279. Paris is an {{Q|P31}} a {{Q|Q1549591}} :whereas a {{Q|Q1549591}} is a {{Q|P279}} (alias “kind of”) {{Q|Q515}}. Whether the Wikidata knowledge representation will be sufficient to resolve into fluent natural language representations in all languages is, of course, a crucial question. Where it is not, the Abstract Wikipedia knowledge representation will need to supplement the Wikidata content with additional details about the relation between the participants or the participants themselves, and these details should be language-neutral, to the extent that this is practicable. The item {{Q|Q124441}} has no [[:d:Q124441#P31|P31]] statements; it has only [[:d:Q124441#P279|P279]]s, including one relating it to {{Q|Q212920}}, which suggests {{Z|Z26095}} is the appropriate choice here even if the rendering in some languages is the same. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:52, 19 April 2026 (UTC) ::Thanks for explaining it. I think that I'll change the implementation of {{Z|Z26095}}, so that in Italian it produces more or less the same output of {{Z|Z26039}} (both with the definite article). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:24, 20 April 2026 (UTC) == Equivalent of Z6830 for lexemes == Is there an equivalent of {{Z|Z6830}} that enables retrieving all lexemes pointing to a particular lexeme using a specific property? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 21:06, 20 April 2026 (UTC) :There's {{Z|6831}} but I think that's slightly different again to what you're after. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:31, 21 April 2026 (UTC) ::Thanks for sharing that one, I did not know it existed. But you are right, it’s not quite what I am looking for. I want a function that would take a Wikidata property reference (like P5191, which is ‘derived from lexeme’) and a Wikidata lexeme reference, and return a list of lexemes that reference that lexeme using that property. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 13:23, 21 April 2026 (UTC) == Storing huge datasets == It is not a necessity I suppose, but an idea came to me earlier to write a function that would give the corresponding [[en:Shavian alphabet|Shavian alphabet representation]] of an English word written with the Latin alphabet, or perhaps apply that operation to an entire sentence. However, just trying to guess as to what the IPA pronunciation of each word passed into it could be is is both not ideal (pronunciations obviously can and will vary widely between accents) and infeasible <s>(Wikidata lexemes don't really seem to account for pronunciation)</s>. It happens, though, that a comprehensive Shavian dictionary exists named the [https://readlex.pythonanywhere.com/ ''Read Lexicon''], which uses pronunciation and spelling similar to that used by the creator of the alphabet himself. This would be a good dataset to use in performing this translation in the function, but it appears that, all in all, the total size of the dictionary is [https://github.com/Shavian-info/readlex/blob/main/readlex.json ''nearly 26MB''] when formatted as JSON, which would certainly be larger when converted into a typed list. I am wondering if this will ever be feasible or admissible, or if there is really a way around this if importing such a large set of data is deemed impractical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54, 25 April 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) ::::We don't have a separated <code>cmn</code> BCP 47 language subtag in MediaWiki and Wikidata at the moment. <code>zho</code> and <code>chi</code> are ISO 639 language codes but not BCP 47 language subtags. ::::For Modern Standard Mandarin, please use <code>zh-*</code> language tags for now. -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 15:26, 8 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on Composition Language v2, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:21, 2 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of {{Z|Z28579}}. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON.<ref group="color">I'm avoiding linking to these folks because I don't think pinging them about this discussion is all too necessary unless they themselves want to be involved; I don't want to clutter their inboxes just to briefly mention them. I pinged Denny because, well, I'm asking him a question directly, but everyone else I would prefer to join this discussion by their own accord... not that I wish for this decision to be confused as me going 「these people use British English so they will probably oppose my idea, I won't invite them to the discussion because of that」...no, I promise you that is not the reason.</ref> I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus".<ref group="color">It could be argued that the front-and-center ''Function catalogue'' using 「catalogue」 is actually indicative of such a "consensus", but ''catalogue'' is in a similar position to the word ''grey'' where I live (that is, the US) in that it is used just as often as its American counterpart. Also, consider Wiktionary's ''Beer parlour'' project chat.</ref> The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. <references group="color"></references> &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) :This is a multilingual project; the <code>en</code> label is <code>RGBA colour</code> and the <code>en-us</code> label is <code>RGBA color</code>. Though I'm not able to switch to <code>en-us</code> via the language picker so that would need to be fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:22, 8 May 2026 (UTC) mroa1k37br5uk7fg9xyj556defhlcn6 273280 273263 2026-05-08T17:42:48Z YoshiRulz 10156 /* RGBA colour, spelling... */ 273280 wikitext text/x-wiki {{shortcut|[[WF:CHAT]]|[[WF:PC]]|[[WF:VP]]}} __NEWSECTIONLINK__ [[Category:Help]] <!-- please do not remove this line --> Welcome to the Project chat, a place to discuss any and all aspects of Wikifunctions: the project itself, policy and proposals, individual data items, technical issues, etc. Other places to find help: * [[Wikifunctions:Administrators' noticeboard]] * [[Wikifunctions:Report a technical problem]] * [[Wikifunctions:FAQ]] {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{#tag:div|<br />{{Flatlist|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1|hideredirects=1}} |class=mw-collapsible-content|style=font-size:92%;}}|class="mw-collapsible mw-collapsible-toggle mw-collapsed"}} |prefix=WF:Project chat/Archive/ }} == "language" argument for certain functions == Hello. I am relatively new to Wikifunctions. Recently, I tried to create functions for Chinese translation of {{Z|Z26570}} and {{Z|Z26095}} (which became [[Z32788]] and [[Z32900]]). During the creation of these functions, I was trying to take {{Z|Z32212}} as reference. And I realized that the defining role sentence function is taking <code>language</code> as an argument (and the test case of the Chinese-language function already contains two varieties of Chinese). This makes it possible to output monolingual text in <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code>, or any varieties of the language. I think for this reason, it is better to have <code>language</code> as arguments for the implementation of Z26570 and Z26095, and potentially more functions that require {{Z|Z14294}}, since it would output the varieties code instead of just saying <code>zh</code> for <code>zh-hant</code>, <code>zh-hans</code>, <code>zh-tw</code> in the output of type {{Z|Z11}}. I am not sure how the fallback mechanism works if one of the language (varieties) do not have a labels/lexemes, but to me, it is reasonable to have a <code>language</code> argument. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 09:38, 31 March 2026 (UTC) :The functions you mention do have a language argument. For Wikifunctions, the {{Z|Z60}} can be at a higher or lower level; whether a {{Z|Z11}} is for a language or a variant is determined by the function that constructs it. Please see {{Z|Z26565}} for an example and feel free to add test cases in Chinese. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:54, 11 April 2026 (UTC) ::Hello @[[User:GrounderUK|GrounderUK]], thanks for the answer. I understand that whether {{Z|Z11}} is for a language or a variant depends on the function. But that is exactly what I am asking for. It is true that [[Z26570]] and [[Z26095]] takes [[Z60]] as argument, but the language-specific functions in {{Z|Z29843}} and {{Z|Z26096}} don't. ::Let me give you an example: INPUT to [[Z26570]]: <code>entity</code>: Tokyo, <code>class</code>: city, <code>location</code>: Japan, <code>language</code>: zh-cn, the config would select [[Z33030]] (created after my previous comment by elseone) as the implementation, and it would RETURN 东京是日本的一个城市。(zh-hans), which is not zh-cn as requested in the INPUT. It would also be using the term not for the variant (when it is different) because it is hardcoded to use the term in zh-hans. However, if we have the implementation like [[Z32790]] (which was created by me but a natural language argument was added by elseone) or [[Z32213]] (that works in the defining role sentence function because of the extra argument), it could cater for different variant. ::If we don't have the language argument in the language-specific function, the desire for article creation on Abstract Wikipedia would be to create a function for every variant. Is it then better to create functions for every variant? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:18, 11 April 2026 (UTC) :::I forgot to mention that there are some hardcoding in {{Z|Z32790}} as well, but I cannot fix it because it is a connected function and I am not a functioneer. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:31, 11 April 2026 (UTC) ::::Okay, I think it’s safe to disconnect this one as the function is not yet configured for use on Abstract Wikipedia. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:04, 11 April 2026 (UTC) :::Ah, sorry… I misunderstood you. I agree that the called function should be able to accept the original language argument. That is simpler in theory than in practice, because the configured functions all have to have the same argument types, as I understand it. I’m not sure which the best approach is, really, but we probably want to avoid two levels of configuration. That suggests that all language-specific functions would need to accept the additional argument, which is unrewarding work for someone. @[[User:99of9|99of9]], @[[User:Jdforrester (WMF)|Jdforrester (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]] Any thoughts? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 18:57, 11 April 2026 (UTC) ::::I mean, we would need to modify all the functions in each language, which could take some time. But we are still in an early stage. If we don't fix it now and we want to fix it later, it would be a disaster. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 19:25, 11 April 2026 (UTC) :::::Agreed. And we probably want them converted to HTML too, with separate language spans for text in different languages. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 19:35, 11 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]: This sounds like a reasonable change to make. Note that (given these Functions are primarily for use on Abstract Wikipedia), altering/replacing them to return Z89/HTML fragments is already a desired but breaking change, so making a second breaking change at the same time is probably easiest for fixing things swiftly. That said, that's of course a decision for the Abstract Wikipedia and Wikifunctions communities, not me! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:43, 12 April 2026 (UTC) ::::@[[User:GrounderUK|GrounderUK]]@[[User:Sun8908|Sun8908]] to make it a non-breaking change, I've created {{Z|Z34039}} which allows a composition {{Z|Z34043}}. This way you can make functions which either need the specified variant or don't! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:52, 24 April 2026 (UTC) :I have now created {{Z|Z33465}}, which is an implementation of [[Z26570]]. Maybe we can migrate to use that function when more (language-specific) functions for it are ready? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:19, 14 April 2026 (UTC) == Help me understand why test passes but running function with same input errors == I've been working on a function that I thought I had working correctly: {{Z+|Z31108}}. It has a test which is passing, but when I enter the same Wikidata item as the test uses (or any other relevant item that it ought to work for), it errors. I can't figure out what's wrong (and the function itself seemed to be working as expected the last time worked on it, a month ago), and I don't know how to interpret the error info. The error output is: <code> Error type: Unspecified error Error data: error information: "cannot read property 'Z6003K4' of undefined" Execution debug logs: Z12696K2 (find this) ==> ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6007'},Z6007K1:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6092'},Z6092K1:P3831>,Z6007K2:ZObject<Z1K1:{'Z1K1': 'Z9', 'Z9K1': 'Z6091'},Z6091K1:Q7380503>,Z6007K3:ZReference<Z6021>> </code> -- [[User:Ragesoss|Ragesoss]] ([[User talk:Ragesoss|talk]]) 18:02, 10 April 2026 (UTC) :Hmm… I’ve had a quick look and found a comparable error with {{Z|Z29937}}, which was passing “4 months ago”. The debug comes from {{Z|Z12863}}, after it fails to find a match. This is probably because Z6007K3 is ZReference("Z6021") rather than a Z6020 object, as it appears in the debug logs for your test “28 days ago”: :"Z6007K3":{"Z1K1":{"Z1K1":"Z9","Z9K1":"Z6020"},"Z6020K1":{"Z9K1":"Z6021"}} :This means it’s probably a bug introduced by a recent software change. I’ll take a closer look over the weekend, but the actual error for your test case now is: :Unspecified error (error information: "cannot read property 'Z6003K4' of undefined") :I’m guessing that’s from there being no guard against an empty array in {{Z|Z23681}}, but we’ll see. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:22, 10 April 2026 (UTC) :I tracked down the bug to [[Z29869]] and fixed that, but the tests for [[Z31659]] are still failing. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:44, 11 April 2026 (UTC) ::Thanks. I’ve re-implemented {{Z|Z23680}} with {{Z|Z33331}} so we at least get a meaningful error in {{Z|Z31108}}. The new implementation explicitly caters for the alternative representation of {{Z|Z6040}} and errors on the empty list it gets from {{Z|Z31659}}. ::I also made a [[Z33332|simple Python implementation]], which seems to work. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 11 April 2026 (UTC) == No place to ask to activate a function? == I just discovered the {{Z|Z11390}} function and decided to make an overarching language-selecting function for it. After some fiddling around and studying how {{Z|Z32321}} and its set works, I now have {{Z|Z33439}} which has a config object ({{Z|Z33441}}) that selects between the two preexisting language-specific versions I found (English and Malayalam) and the new one I created for my other native language, {{Z|Z33440}}. Except I can't get these to work, because, from what I understand, only [[Wikifunctions:Functioneers|functioneers]] can activate newly created functions and implementations? So where do I apply for the {{Z|Z33439}} and {{Z|Z33440}} functions to be activated? Perhaps we should have a place to ask for it, a la [[w:WP:NPP]] — call it [[Project:New Functions Patrol|New Functions Patrol]] if you will. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] ([[User talk:UndueMarmot|talk]]) 08:58, 14 April 2026 (UTC) :There's [[Wikifunctions:Community portal]] for this. By the way, {{Z|Z33445}} doesn't work because all the code must be inside the main function in Python code. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 09:19, 14 April 2026 (UTC) ::Huh. How could I have missed that? ::But anyway, I've moved the code in {{Z|Z33445}} into inside the main function block. ::Is there any reason why WF decided not to simply allow anyone to write functions? After all, that's how it works with wikitext templates, and these functions are fundamentally serving the same purposes as templates, just written in a different way. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 11:25, 14 April 2026 (UTC) :::I've fixed a couple of technical issues, but tests still fail. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:28, 14 April 2026 (UTC) ::::The tests pass now after some more changes to the code: [[Special:Diff/265232/cur]]. —[[User:UndueMarmot|<span style="color:#705ccb;">Undue</span><span style="color:#cfdfa3;background-color:#705ccb;">Marmot</span>]] <small>([[User talk:UndueMarmot|talk]])</small> 12:01, 14 April 2026 (UTC) :::::{{D|Connected}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:02, 14 April 2026 (UTC) :::I think it's a security issue, since Wikifunctions implementations could teoretically be malicious. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:29, 14 April 2026 (UTC) ::::This ^^^. We're very lenient, though, once you've created a few working functions you can apply for the right, per [[WF:Functioneer]]. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:26, 14 April 2026 (UTC) ::::That explanation [[phab:T343559#11421293|doesn't add up]]. A reason to limit ''connection powers'' to Functioneers might be to prevent vandalism, considering Functions can be used across wikis. But user-provided code is already being executed even without a Functioneer connecting it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 20:01, 16 April 2026 (UTC) == Actual difference between {{Z|Z26039}} and {{Z|Z26095}} == What is the actual difference between these two functions? I ask, since it seems to me that the current distinction is more or less that the first one doesn't use an indefinite article in English, while the second does. Which is not a good distinction in a project that should be language neutral. This doubt emerged from my use of the first one in [[abstract:Q124441]], which @[[User:Hogü-456|Hogü-456]] made me notice that is probably wrong. My question is: why is it wrong? How could we clarify the difference? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:46, 19 April 2026 (UTC) :I think the difference is if there is an indefinite article like a or an before the subject or not. In German there can be cases where a definite article is necessary before the subject. I looked at the functions and before the object both times an article is mentioned. As it depends on the language and the word what is the correct function to use I hope it will be clarified and it is an example of the necessity to have a human with understanding in a specific language check it. I hope there will be longer functions what generate more content about a specific kind of item. Then it is necessary to write one such function per language and it can be then applied to several items. It still requires checks and so maybe it is better to write down what item category needs what kind of introduction sentence function for what language. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:05, 19 April 2026 (UTC) ::The point of these two functions (and of the entire Abstract Wikipedia project) is that they should be defined in a purely language-independent way, so that the translation to actual language can be done automatically. This is the reason why these functions have been renamed; I think that this attempt was not succesful, since meaning is still unclear. My proposal to clarify them would be to invoke the concept of [[w:specificity (linguistics)|specificity]]: {{Z|Z26039}} should be named "specific subject is instance of (string)", and should be used only when the QID of the subject uniquely identifies a single thing; {{Z|Z26095}} should instead be renamed in "non-specific subject is kind of (Monolingual text)", and should be used when the QID refers to a multitude of real life items, and we are specifying the class that all these item belong to. This clarification would not still be enough, since it doesn't explain how mass nouns are handled (is water a unique thing? Does {{Q|Q7802}} refer to a single piece of bread or to the entirety of bread, like water?). This problem is very tricky, since mass noun are language-specific and blurry the line between these two functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 20:58, 19 April 2026 (UTC) :Simply put, one corresponds to P31 and the other to P279. Paris is an {{Q|P31}} a {{Q|Q1549591}} :whereas a {{Q|Q1549591}} is a {{Q|P279}} (alias “kind of”) {{Q|Q515}}. Whether the Wikidata knowledge representation will be sufficient to resolve into fluent natural language representations in all languages is, of course, a crucial question. Where it is not, the Abstract Wikipedia knowledge representation will need to supplement the Wikidata content with additional details about the relation between the participants or the participants themselves, and these details should be language-neutral, to the extent that this is practicable. The item {{Q|Q124441}} has no [[:d:Q124441#P31|P31]] statements; it has only [[:d:Q124441#P279|P279]]s, including one relating it to {{Q|Q212920}}, which suggests {{Z|Z26095}} is the appropriate choice here even if the rendering in some languages is the same. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:52, 19 April 2026 (UTC) ::Thanks for explaining it. I think that I'll change the implementation of {{Z|Z26095}}, so that in Italian it produces more or less the same output of {{Z|Z26039}} (both with the definite article). [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 11:24, 20 April 2026 (UTC) == Equivalent of Z6830 for lexemes == Is there an equivalent of {{Z|Z6830}} that enables retrieving all lexemes pointing to a particular lexeme using a specific property? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 21:06, 20 April 2026 (UTC) :There's {{Z|6831}} but I think that's slightly different again to what you're after. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 12:31, 21 April 2026 (UTC) ::Thanks for sharing that one, I did not know it existed. But you are right, it’s not quite what I am looking for. I want a function that would take a Wikidata property reference (like P5191, which is ‘derived from lexeme’) and a Wikidata lexeme reference, and return a list of lexemes that reference that lexeme using that property. [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 13:23, 21 April 2026 (UTC) == Storing huge datasets == It is not a necessity I suppose, but an idea came to me earlier to write a function that would give the corresponding [[en:Shavian alphabet|Shavian alphabet representation]] of an English word written with the Latin alphabet, or perhaps apply that operation to an entire sentence. However, just trying to guess as to what the IPA pronunciation of each word passed into it could be is is both not ideal (pronunciations obviously can and will vary widely between accents) and infeasible <s>(Wikidata lexemes don't really seem to account for pronunciation)</s>. It happens, though, that a comprehensive Shavian dictionary exists named the [https://readlex.pythonanywhere.com/ ''Read Lexicon''], which uses pronunciation and spelling similar to that used by the creator of the alphabet himself. This would be a good dataset to use in performing this translation in the function, but it appears that, all in all, the total size of the dictionary is [https://github.com/Shavian-info/readlex/blob/main/readlex.json ''nearly 26MB''] when formatted as JSON, which would certainly be larger when converted into a typed list. I am wondering if this will ever be feasible or admissible, or if there is really a way around this if importing such a large set of data is deemed impractical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 22:30, 20 April 2026 (UTC) :{{re|Theki}} "Wikidata lexemes don't really seem to account for pronunciation"" is patently untrue; not only does every Bokmål lexeme form have IPA attached to it (thanks to Jon Harald Søby), but there are lots of languages--including English--that have pronunciation information, whether through IPA or otherwise, indicated on their forms. The big issue of course is that adding this data is not always possible to perform efficiently--for instance, I'd love to have Yiddish pronunciation respellings from Paul Abelson's dictionary on as many English forms as possible, but this dictionary not being previously processed makes this difficult. The data set you have brought up, if a suitable reading of [[:m:Wikilegal/Lexicographical_Data]] allows it, could be added as {{P|7243}} statements on various English forms. [[User:Mahir256|Mahir256]] ([[User talk:Mahir256|talk]]) 23:20, 20 April 2026 (UTC) ::Well, sorry... I haven't witnessed these pronunciation statements before, I wasn't aware of their existence until you pointed it out. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 15:02, 21 April 2026 (UTC) :I got 1,900,000 characters into [[Z33875]] before the UI gave up on me. I'm not sure what the limit is. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:21, 21 April 2026 (UTC) == Could not serialize input JS object: Number <small><small>[insert tested number here]</small></small> == I'm not one to throw my problems at others, but I have no idea how to fix this. Am implementing {{Z|Z24602}} in JavaScript, which requires returning a typed map. It now works for every type of value except numbers. Tried explicitly converting the numbers to float64, but either way it throws the error above. Would appreciate it if anyone could diagnose or fix the problem, as my knowledge of Wikifunctions is amateur at best. Thank you. [[User:Some helpful person|Some helpful person]] ([[User talk:Some helpful person|talk]]) 00:32, 23 April 2026 (UTC) :The quick answer is that like some list-related functions, code implementations returning typed maps are not possible unless the type of the objects in the map is specified in the function signature (e.g. if it was a map from Strings to Natural numbers only). So unfortunately, I think you've chosen a function that is not really possible at the moment. There are a few ideas of how we might address this, but for the moment, work on something else. Sorry! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:21, 23 April 2026 (UTC) :Maybe explicitly using [[Z13518|natural numbers]] would work? I would try using <code>{ "Z1K1": "Z13518", "Z13518K1": "[number]" }</code> to represent numbers, perhaps, and seeing if that works. Of course, you would also probably have to adapt this for other types that cannot be serialized, and I'm not sure how easy that would be to generalize (assuming [[w:Don't repeat yourself|DRYness]] is desired). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:39, 23 April 2026 (UTC) == Help with creating a function for Abstract Wikipedia == Hello! I was inspired by {{Z|Z26570}} to create {{Z|Z33975}}, however I'm not sure how I add specific language implementations here. Can anybody help me? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 10:41, 23 April 2026 (UTC) : I think I figured it out, I created a new object with the language config type, added {{Z|Z14310}} to my implementation, and added a new function for English... At least I think that's how it works... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 13:16, 23 April 2026 (UTC) ::You have the right idea, as far as I know. I went ahead and connected the implementations you created as they appear to work fine for English, and added a test for {{Z|Z33975}} (which passes [[File:Twemoji 1f601.svg|24px]]). I also corrected an error you made on the config object where you appear to have accidentally connected English to {{Z|Z33975}} instead of {{Z|Z33977}}. Thank you for contributing! &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 13:45, 23 April 2026 (UTC) ::: {{re|Theki}} Thank you so much for you help! Could you please kindly also connect the implementations for {{Z|Z33986}} which I just made, which is going to be used for the Hebrew implementation of {{Z|Z33975}}. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:11, 23 April 2026 (UTC) ::::You seem to be returning the wrong type in both implementations. Functioneers should not connect implementations that don't work for non-functioneers. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:13, 23 April 2026 (UTC) ::::: {{re|Feeglgeef}} Oh thank you for pointing that out! I am still a bit new to this project and confused, so I need to read up some more about this. How do I return a monolingual text object? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:17, 23 April 2026 (UTC) ::::::I'm trying to fix it for you, the construction of ZObjects in code implementations is a bit difficult right now. Since the State origin using entity and class function will (presumably) be composition, perhaps {{Z|33975}} can be adjusted to return a string, using {{Z|26107}} and {{Z|26107}}? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:21, 23 April 2026 (UTC) :::::I did not notice any discrepancies from looking at the functions by themselves, and it seemed to work fine on my end. Is it bad practice for NLG functions to return the monolingual text type? I had assumed it was logical. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:24, 23 April 2026 (UTC) ::::::Both implementations are failing all three tests on my end. No consensus has been established as to whether monolingual texts or strings should be used, so it's like the [[w:War of the currents|war of the currents]] but for Wikifunctions. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:27, 23 April 2026 (UTC) :::::::Oh, you were referring to {{Z|Z33986}}. I assumed you were stating that something was wrong in the earlier English functions that I missed; I apologize for the misunderstanding. Has there been any centralized discussion on this string vs. monolingual text issue? &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:31, 23 April 2026 (UTC) ::::::::Not that I'm aware of, I've brought it up on the telegram twice before, though. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:49, 23 April 2026 (UTC) ::::::::The centralised discussion is at [[WT:Abstract Wikipedia/2025 fragment experiments#Proposed recommendation: Fragments should return Z11/monolingual strings]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:19, 24 April 2026 (UTC) ::::::: {{re|Theki|Feeglgeef}} Can only functioneers test implementations? For me I can't test it at all... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 14:32, 23 April 2026 (UTC) ::::::::AFAIK, test cases are only immediately testable during editing of a function if they are connected. This is one of my personal pain points with Wikifunctions, iterating on functions without exhaustive connected test cases makes debugging practically impossible for non-functioneers working on newly-created functions... I (or Feeglgeef) can quickly connect the tests you need for you if you want, although if they are not well-formed they may need to be disconnected again afterwards. Additionally, I could temporarily connect the implementation you are writing so that you can test it on the sidebar as you work, but I'm not sure if this is advisable. That functionality is also something that unfortunately only works when not disconnected. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:43, 23 April 2026 (UTC) :::::::::Yup, agree with you on all points, thanks. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 14:48, 23 April 2026 (UTC) == Please disconnect implementation == I think I've fixed my issue with {{Z|Z33986}}, but I can't edit an actively connected implementations with my rights. I must admit it is an AI-aided fix, I feel very strongly about disclosing that. Courtesy pinging [[User:Theki]] and [[User:Feeglgeef]]. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:51, 23 April 2026 (UTC) : Additionally, I think the JS might be working. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:52, 23 April 2026 (UTC) : Just to clarify, I mean disconnect the Python implementation please. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 18:53, 23 April 2026 (UTC) :{{Done}} I've disconnected the Python implementation. :I've also added a couple of tests. The rule is a bit more complicated than adding a maqaf before every character that is not a Hebrew letter. Unfortunately, I don't think I'll have time to fix the implementations any time soon. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:03, 23 April 2026 (UTC) :: Thank you! :: Also, for some reason I thought you put a maqaf before all gershayim, so thanks for correcting me. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:09, 23 April 2026 (UTC) :::No, that's not the rule. :::The rest of this reply is an [[:wikt:info-dump|infodump]], feel free to ignore it :) :::In [https://hebrew-academy.org.il/topic/hahlatot/punctuation/ the Academy's punctuation rules], the rule for adding a maqaf is written kind of badly: שמים מקף ברצף שיש בו שני סוגי גופנים, כגון אותיות ומספרים ("maqaf is added in a sequence in which there are two types of fonts, such as letters and numerals"). These are not different types of "fonts", but different types of characters, and I should email them about it. It gives the examples <span lang="he" dir="rtl">ה־12</span> and <span lang="he" dir="rtl">ב־DNA</span>. It doesn't say anything explicitly about quotation marks, but in other places on the same page, you have stuff like <span lang="he" dir="rtl">ב"הארץ"</span>, and from that I deduce that a maqaf is not needed before double quotes if there are Hebrew letters inside the double quotes. :::That said, a few people do think that there must be a maqaf before double quotes. I have a somewhat surprising example of somebody who always does it: translators of Scientology materials into Hebrew. At least that's what they did last time I looked at them, about ten years ago. Those people are certainly prolific, and they get points from me for consistency, but this not the prevalent standard. (And if I recall correctly, they use the minus and not the proper Hebrew maqaf, and they don't get any points from me for that!) :::Also, the name of the character is just "double quotes" and not "gershayim". Gershayim are mostly for abbreviations, although most people use the same character for them. I use ״ for gershayim, as do a few other nerds, but we're the minority. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 19:35, 23 April 2026 (UTC) :::: {{re|Amire80}} Yeah, "font" is a weird choice of wording here by the Academy...<br> I think I'll follow your guidance and not use a maqaf for quotes beginning with Hebrew letters. <br> I should also add more tests for different types of quotes, like straight (", '), curly (“, ”, ‘, ’), gershayim (״, ׳), including single quotes.<br> P.S. gotta deduct points from Scientology for being a cult but that's neither here nor there [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:49, 23 April 2026 (UTC) :::: {{re|Amire80}} Courtesy ping because I mistyped your username on the last message. Anyways I'm also gonna do that tomorrow because I'm tired now... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:50, 23 April 2026 (UTC) == Connect implementations == Hello! I'm done with the implementations of {{Z|Z33986}} both in JS and Python, and all tests pass. Pinging @[[User:Amire80|Amire80]] to check if all the tests I've added are alright. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 15:24, 24 April 2026 (UTC) :Connected. It's possible that some more changes will be needed, but it looks OK now. :Another little comment: It should be called "clitic" and not "prefix". [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:56, 24 April 2026 (UTC) : {{re|Amire80}} Thanks for your comment! Luckily labels are easy to edit, so I'll get to it. : Currently I'm working on Bulgarian {{z|Z34072}} and {{z|Z34084}}, along with other Bulgarian functions. After I'm finished with those I'll take your advice. [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 16:01, 24 April 2026 (UTC) == Please connect my Bulgarian implementations == I recently created the following Bulgarian functions: * {{Z|Z34070}} (currently broken, I think because another function I built it upon is unimplemented) * {{Z|Z34088}} * {{Z|Z34105}} * {{Z|Z34072}} * {{Z|Z34084}} Can somebody please connect these functions, and perhaps suggest other functions I could localize? [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:03, 24 April 2026 (UTC) : Specifically, [[Z34070]] is based on [[Z34072]] [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 19:05, 24 April 2026 (UTC) :{{done}} for everything that passes, [[Z34070]] still does not work after purging WF's cache, though. For future reference, please request on the [[WF:Community portal|community portal]] instead of the project chat. Thank you for your work! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 20:03, 24 April 2026 (UTC) :: {{re|Feeglgeef}} Thank you for your help! I will keep in mind to go to the [[project: community portal| community portal]] in future instead for this. :: I still don't understand why {{Z|Z34070}} fails... It's implementation is almost completely identical to [[Z30399]] from {{Z|Z30397}}, unless I messed something up... [[User:QuickQuokka|QuickQuokka]] ([[User talk:QuickQuokka|talk]]) 20:11, 24 April 2026 (UTC) :::{{done}} No, it was mostly just timing out. It is better to use selective fetches where possible. One case is failing to match the expected results, but at least it is returning something. For all I know, it might even be acceptable! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 20:35, 24 April 2026 (UTC) :::: {{re|GrounderUK}} Thank you so much for your help! The one failed case is with a definite article, so I feel like that might be fixed in the future... <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:43, 24 April 2026 (UTC) == Editor experience suggestions == I'm a bit frustrated with the editing experience on Wikifunctions, and I have suggestions based on pain points I've had contributing to this project: * Adding a wizard to create functions, implementations, and tests in one flow, somewhat like Wikimedia Commons' upload wizard * A sandbox for experimenting without changing mainspace functions, and maybe letting non-functioneers connect implementations ([[Project: Sandbox]] doesn't seem to fit this) * We could have functions for creation based on the sandbox, like how Wikipedia has articles for creation and edit requests, * Maybe even another test instance of Wikifunctions, like how Wikidata has [[testwikidata:|Test Wikidata]] I really like this project and I don't mean to whine, but it certainly has a lot of pain points both for technical and non-technical people. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:41, 24 April 2026 (UTC) : It's also really complicated to localize functions, so maybe we should add another wizard for that, where you can choose a language, and then create the new function with the aforementioned function wizard, and it just automatically adds it to the related language configuration object of the related function. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 20:48, 24 April 2026 (UTC) :# Sounds good to me. :# A sandbox available is [[Z10119]], though an extension-provided sandbox that allows you to manipulate the types, code, and tests easily without interfering with the mainspace would be nice. :# [[WF:Suggest a function|This page]] works to some extent, though it's too messy in my opinion. :# We used to have a "beta cluster" but it [[phab:rOMWC5f625c5846b5f779473fa32c9a02d87e59215dfa|got shut down]] just over a year ago because it was broken. :[[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 21:07, 24 April 2026 (UTC) == Language parameters in language-specific functions == I think that an effort should be made to give the different natural language options corresponding to different English dialects, Chinese scripts, etc. more of a use (I added the test {{Z|Z34119}} to {{Z|Z26095}} and unsurprisingly it fails). There are two main problems with this approach that I can identify: * If you ask the majority of these functions to make a sentence in British English, much of the time it will give you an output with missing words, because it does not fallback to English labels in the case of a British English label for that item missing. The same applies for every other English dialect, British English is just an example here. * Uninformed editors will probably see the presence of a language parameter on these functions, consider it redundant, and remove it. [[Special:Diff/268074|I have made this mistake before]]. In my opinion, in a perfect world, all of these language generation functions would output monolingual text, and if the user asks for American English text, then American English text is what they'll get. If the user asks for Japanese text in hiragana specifically, then that's what they'll get in return. This is not as high-priority as just rendering text in the language plainly in the first place, but it's something that I feel is still worth devoting some effort to. Right now switching functions to use this paradigm is difficult because, on the one hand, I don't know if consensus tends towards this direction being ideal or advisable, and I don't want to make changes like this without at least notifying the wider community. In addition, all tests break once a parameter is added or removed, and the function editor does not recognize the change in number of parameters and therefore you have to remove the function call, re-add it along with all of its parameters it had previously (which is a tedious cut-and-paste job), and then it will work again. This is something that you can do in five seconds by just adding a few lines of JSON to the test source, but this is not directly editable from the Web browser. This tedium is largely what's preventing me from doing this on a larger scale, besides asking for comments first. If anyone has any insights or comments on this, then that would be appreciated. If a reference of functions with and without the support for language variants is needed, of course [[WF:NLG]] can be perused, but I've also my own list cataloged at [[User:Theki/functions#language]]... Of course, this thread has many similarities to [[#"language" argument for certain functions|the one above]], but this concerns me going out and making this consistent across these NLG functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:09, 24 April 2026 (UTC) :I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:34, 24 April 2026 (UTC) :Just to confirm that I, for one, support a Natural language parameter for all natural-language functions. The concern about getting them all aligned is just that we haven’t finally settled on {{Z|Z11}} being preferred to {{Z|Z89}} or some other type that conserves the text’s provenance, so we risk having to change them all again. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:07, 25 April 2026 (UTC) == “Key not found ()”? == What am I doing wrong in {{Z|Z34137}}? [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 00:39, 25 April 2026 (UTC) :You were passing a [[Z6091]] to {{Z|32290}}, but it takes a [[Z6001]]. Fixed. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 07:10, 26 April 2026 (UTC) ::{{done|Thank you}}! [[User:Redmin|Redmin]] ([[User talk:Redmin|talk]]) 14:13, 26 April 2026 (UTC) == Why is my test failing? == Hello! I recently made {{Z|Z34139}} based on [[wikt:Module:bg-translit]], and the test case {{Z|Z34141}} is failing on both implementations, despite the expected output and actual output being the same as far as I can tell. I tried looking at the Unicode codepoints of the output, but those are also identical. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 06:21, 25 April 2026 (UTC) :Yes, it’s a tricky one. I’ve added a normalize step to the result validation in {{Z|Z34141}}, which confirms it is a normalization issue. It looks like it is in the code but I don’t know whether simply normalizing the result is the way to go. Logically, you would normalize both the input and the result. The implementations of {{Z|Z10384}} show you how to do this. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 09:41, 25 April 2026 (UTC) == Edit request == Hello! I have an edit request for {{Z|Z23752}} and {{Z|Z23414}}. Please replace all the "an/a" logic with <code>Z21739(Argument reference)</code>, both for readability and for more accuracy ("a university is an institution") <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:50, 25 April 2026 (UTC) :{{D}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:24, 25 April 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #245 is out: The Foundation's search for the perfect language == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-25|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we present an academic paper about Abstract Wikipedia, we discuss our latest Type created, and we take a look at the newest created functions. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 09:54, 25 April 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> :@[[User:Sannita (WMF)|Sannita (WMF)]], @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], technical meta-question: the newsletter quotes the article: ::the only way to contest its algorithm is to click 👍 or 👎 (Crawford and Gillespie 2016) :This quotation sounds sensible, but the article's [https://link.springer.com/article/10.1007/s00146-026-02899-w web version], and the PDF that is downloadable from the same page doesn't actually show the emojis. It rather shows text that looks lacking: ::the only way to contest its algorithm is to click or (Crawford and Gillespie [https://link.springer.com/article/10.1007/s00146-026-02899-w#ref-CR14 2016]) :Where did you get the emojis? Is it your (probably correct) guess or is there a version somewhere that actually shows the emojis? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:16, 25 April 2026 (UTC) ::Scratch that. I've found a version with correct emojis: https://wikihistories.github.io/wikilambda-the-ultimate/ [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:37, 25 April 2026 (UTC) == Requested deletion of test == Please delete {{Z|Z34143}}. this was never valid Bulgarian, I messed up. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:19, 25 April 2026 (UTC) :[[WF:RFD]] please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:40, 25 April 2026 (UTC) == Request for comment (global AI policy) == <bdi lang="en" dir="ltr" class="mw-content-ltr"> A [[:m:Requests for comment/Artificial intelligence policy|request for comment]] is currently being held to decide on a global AI policy. {{int:Feedback-thanks-title}} [[User:MediaWiki message delivery|MediaWiki message delivery]] ([[User talk:MediaWiki message delivery|talk]]) 00:57, 26 April 2026 (UTC) </bdi> <!-- Message sent by User:Codename Noreste@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Distribution_list/Global_message_delivery&oldid=30424282 --> == Is it OK to connect the implementation? == Hello! I recently applied for functioneer on [[WF:RFG]], and I was wondering whether I could connect the implementation for {{Z|Z34165}} despite its dependency {{Z|Z34149}} being currently unimplemented. That is <em>if</em> I get accepted. I am planning on implementing it based on [[wikt:module:bg-nominal]], but am still having trouble figuring it out for now. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 09:04, 26 April 2026 (UTC) == Past tense function == Is there a function like {{Z|Z26039}}, but for the past tense (e.g. "Leo Tolstoy <em>was</em> a writer.")? If not, I will create it myself, I just want to make sure there's not a duplicate. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:10, 26 April 2026 (UTC) : {{Done}} with {{Z|Z34224}}, but I have a few kinks to work out with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:35, 26 April 2026 (UTC) :: I need to create some other similar functions for the past tense, I have some ideas: ::* {{Z|Z26095}} ::* {{Z|Z32643}} ::* {{Z|Z28016}} ::* {{Z|Z26570}} ::* {{Z|Z33975}} ::* {{Z|Z27243}} ::* <ins>{{Z|Z26627}}</ins> ::* <ins>{{Z|Z27627}}</ins> ::* <ins>{{Z|Z27173}}</ins> ::* <ins>{{Z|Z29591}}</ins> :: :: Are there any I have missed? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:57, 26 April 2026 (UTC) :I think that here we are starting to walk on dangerous waters: what does past mean? Is it a recent o a far past? Does it have ripercussions on the present or not? Is it just a thing that happened once, many times or for a continuative period of time? :Consider that various languages distinguish between many different types of past. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:38, 26 April 2026 (UTC) :: {{re|Dv103}} That is a fair point... :: How do we go about solving this problem though? I don't think having every sentence on Abstract Wikipedia be "X is a Y" is a very good idea. :: Maybe we have different functions for all these variations of past you mentioned that just map into "X was a Y." in English? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 13:31, 26 April 2026 (UTC) :::To properly solve this problem, we should use a more complete abstract content representation model, like for example the proposal of [[Wikifunctions:Type proposals/Semantic unit|Semantic units]] (look at [[Wikifunctions:Type proposals/Semantic unit/Douglas Adams|the example]] to see how times could be handled). For now, since we're still stuck with single fragment generation functions (that I hope will be slowly replaced with the complete represenation model, when available), we could just restrict your function to a very specific meaning, like "subject was an instance of, for most of its existence" (which means for example that it could be used to say "Douglas Adams was a writer", but not "Abraham Lincoln was a president", since he only was a president for 4 years). Probably my definition is still too vague, and this is why we need to go beyond these fragment generating functions. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:47, 26 April 2026 (UTC) ::Nitpick... I don't like that it outputs a string instead of monolingual text. With {{Z|Z26039}} it's used so much that I think it's unfixable in that case beyond deprecating it if people care that much, but {{Z|Z34224}} doesn't even have any connected implementations yet. Consider it, maybe? ::Nitpick 2... {{Z|Z34227}} is missing a language parameter. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:08, 26 April 2026 (UTC) ::: I will consider that! ::: I just did that because that's what {{Z|Z26039}} does, so I assumed I should follow suit with it. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 26 April 2026 (UTC) == Legacy functions == If and when more robust methods of abstractly representing and generating linguistic content come around, and more efficient ways of creating abstract content are devised and implemented, I suspect that our current methods will require some form of deprecation. This is a significant source of concern for me in relation to WF and AW, questioning how prone our current methods of doing things are and eventually will be prone to obsolescence, and how it will be worked around when it comes. We have over 1 250 articles on AW presently, and these are rather all over the place. I suspect the maintenance burden from keeping these articles up to code will eventually, err, creep up on us, I suppose, and some kind of major refactoring will be necessary. We are definitely in a period of experimentation and whatnot right now but eventually, like with enwiki, some sort of structure and rigor will form and I suspect it will start to become rather boring for me... I, for one, very much enjoy experimenting with new and better ways to do things here. I don't personally mind changing things to use a new and better paradigm if need be, that sort of thing highly excites me, but of course there will be things that are left behind, and I suspect maybe bots will be employed to deal with this? A lot of Wikipedia sister sites seem to do that, e.g. going and fixing up use of deprecated templates. Considering the nature of Wikifunctions and Abstract Wikipedia I suspect certain maintenance tasks will be made simpler or even trivial by the typical uniformity of our implementations. I guess I am just concerned if Wikifunctions or Abstract Wikipedia will ever accrue its own kind of "technical debt" with how we are plowing through things presently, and if there is a plan for how we will eventually seek to mitigate that. Maybe too early to ask this question, but I am a notoriously anxious person, so I thought it wouldn't hurt to raise the question regardless... &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 21:30, 26 April 2026 (UTC) :I very much agree, thank you for expressing my position so well. {{ping|Immanuelle}} has been using an AI-generated tool (well, they haven't edited in a week, perhaps it's a break or perhaps they don't wish to contribute to the project any more) to create a bunch of articles en masse, which I have warned them multiple times is a bad idea (on top of evolving functions, all of the articles are one-sentence-per-paragraph, [[abstract:Q12184|like so]]). That's why I've been avoiding creating articles recently, I'd say I have a good fourth (no data to support, rough guess) of the comments on the wiki, yet less than a percentage of the article count (only three, including the [[abstract:Q319|first article]], though, so perhaps I'm the next [[w:Special:Permalink/908493298|office.bomis.com]]). [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:41, 27 April 2026 (UTC) :: I feel that the overwhelming presence of these low-quality articles (which I admit I myself am [[abstract:Q1710970|guilty]]/[[abstract:Q7601858|of]]/[[abstract:Q39338|creating]], usually as testbeds) may incur a large maintenance burden. I do expect them to be easy to detect, however, as searching for the presence of "deprecated" NLG functions is trivial, and it is possible that replacing them with their future ''even abstracter&trade;'' counterparts could be done automatically since they all have the same signatures and can be expected to create the same form of sentence. If it needs to be done manually for a while or for certain delinquent instances, my hope is that it will be fun, at least for a while. :: I just hope that these hypothetical future waves of "this new and versatile way of abstractly representing linguistic content" obsoleting previous methods and requiring refactoring across all articles is only a one-time thing. We should strive to be as robust and flexible as possible from the outset as each brand new paradigm of abstraction is also a brand new maintenance burden for updating old articles. At the end of the day, at least ''some'' of these articles will still render to many different languages even if their methods of creating those sentences of theirs is completely outdated. Ergo, the time it takes for the switchover to be performed across our articles should not be a persistent inconvenience for users (as, of course, they will always still be able to read the content as it was before since these legacy functions aren't being deleted outright), and the increased availability that the new methods will bring about will likely act as motivation for them to join the effort in refactoring (&#x300C;You're telling me that if I rewrite this article in this cool Lisp-looking stuff then I can probably read it in [[abstract:Q9307|Galician]]?? COOL!&#x300D;). &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 20:26, 27 April 2026 (UTC) :::Totally agree. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:54, 28 April 2026 (UTC) :::My vague plan is to implement a default function returning an {{Z|Z89}}, for each language-neutral function. A single function would convert any of these to a {{Z|Z11}}, so that a composition of the two can be implemented as the current default until such time as the language-neutral function is ready to return a [[Z89]]. We can already convert a [[Z11]] to a [[Z89]] so, although there is more to be done in this space, existing language-specific functions could be adapted to return a [[Z89]] quite mechanistically. :::Although we certainly could deliver parallel Z89 functions for each existing Z11 function, I don’t think we should assume that particular outcome. Provided the Z89 captures a lang attribute from the Z11’s language tag, the two representations should be largely interchangeable, although I am expecting a Z89 to carry additional attributes at the span level that would be lost on conversion to a Z11 (along with any higher-level tags and attributes). :::When I say there is “more to be done in this space”, I am referring to a new type that would allow HTML fragments to be represented as tractable Wikifunctions objects, but this is currently drafted only in my head! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:21, 29 April 2026 (UTC) == Filtering types of objects == Hello! I have tried to comb through my own edit history several times, but it's really hard to search for specifics because there's no differentiation between different types of objects (functions, implementations, tests, etc.) in the logs as far as I can tell. Am I missing anything? I want it to work sort of like how filtering by namespace works. <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:48, 27 April 2026 (UTC) :There is differentiation, it's just rather hard to look through. Since all ZObjects are just JSON data at their core, you can search for instances of <code>{ "Z1K1": "Z[type]"</code>. I haven't tried this so I'm not sure how well it would work and I know MediaWiki search syntax treats quotation marks as a special character, but I have seen Wikifunctions pages link to searches using this before. There is also [[Special:ListObjectsByType]] but it is sitewide rather than specific to your edit history in particular. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 18:59, 27 April 2026 (UTC) ::''[It doesn’t help directly here, but please see [[WF:Find]] for more details of how this works.]'' [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:24, 29 April 2026 (UTC) :See the feature requests [[phab:T399244]]/[[phab:T373735]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 06:06, 28 April 2026 (UTC) :The lack of filtering edits by namespace is exactly the problem that I was trying to solve with the [[User:Amire80/wikifunctionsanalytics]] tool. :I even kind of succeeded, but it has two major problems: :# It doesn't have any real frontend, so you have to know some SQL to use it (or ask other people who know SQL). :# It doesn't get information from the live site, but from the dump, which appears to be updated once a month. :I've made a [https://quarry.wmcloud.org/query/104794 sample query for you]. Unfortunately, it won't do anything at the moment because of the second problem—your edits started in April 2026, which isn't over yet, so the dump for it hasn't been processed. But I hope that early in May you'll be able to use the same query and see something useful. :(I plan to add support for recent edits, but I haven't done it yet. Now that I more or less figured out how to process Wikifunctions edits, I'm focused on trying to understand Abstract Wikipedia edits. Processing up-to-date edits from both sites will possibly be the next thing I work on, but if you know some Python and want to try doing it yourself, don't wait for me—[https://gitlab.wikimedia.org/toolforge-repos/wikifunctions-analytics Patches welcome].) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 18:51, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]], I've just updated the data until the end of April. Now the query to which I linked above gives some results. You can also try running other queries if you know SQL. (Or try asking for other queries if you don't.) [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 03:26, 3 May 2026 (UTC) == [[Z34213]] == I'm not quite sure why this implementation is failing. Could someone take a look? [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 02:24, 28 April 2026 (UTC) :I've [https://phabricator.wikimedia.org/T419933#11863997 notified] the team that this is still occurring, the issue was marked as resolved. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 02:52, 28 April 2026 (UTC) :Some useful tips: :* create more testcases: sometimes it is a random error, so try to see how consistent it is between testcases :* your implementation is very inefficient, since it fetches items and lexemes a lot of times. Ideally, each item and each lexeme should be only fetched once in all the execution tree. :[[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 28 April 2026 (UTC) ::Caching (''should?'') means that the lexeme and item data are cached, so the call doesn't actually execute multiple times. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 17:51, 28 April 2026 (UTC) :::Are lexemes and items actually cached within the same function execution? Even if they are only partially fetched and/or fetched in bulk? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:54, 28 April 2026 (UTC) ::::I don't have any evidence to prove that it works but that's definitely A. what's supposed to happen and B. the ideal behavior. This happens because the Z680X functions can be cached just like any other. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 18:02, 28 April 2026 (UTC) ::::It is unclear. In general, I believe identical branches are resolved only once in orchestration, but there is also independent caching of Wikidata fetches. ::::According to @[[User:DMartin (WMF)|DMartin (WMF)]] ([https://t.me/Wikifunctions/30374 on Telegram]): ::::<blockquote>Well, no. We have caching of Wikidata entities that have been retrieved, but not of the results of nested function calls. There is a proposal for doing this in the context of the V2 composition language, when it's a bit more mature, and it's regarded as a relatively high priority.</blockquote> ::::It’s hard to tell whether fetches in nested calls are, in fact, cached and available for other nested calls in the same call, since it is not generally the actual fetch that consumes the most resources. Rather (I believe), it is construction and transmission of the result object, which is currently repeated afresh in each nested call (unless it is in an identical branch). ::::I hope that’s clear, and I apologise in advance if it happens to be inaccurate! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:16, 29 April 2026 (UTC) :::::Oh, I should clarify.  There is a lot of caching going on, in several different places.  Lexemes and items ''are'' cached by the orchestrator within the same function execution, even if they are only partially fetched and/or fetched in bulk.  When I said that we don't have caching of the results of nested function calls, I meant that's not happening in general, for all nested function calls in compositions.  But fetching of Wikidata entities gets special treatment, so yes, fetched content from Wikidata is cached, regardless if it was fetched by a top-level call or a nested call. :::::It is also true that the construction of a ZObject from the fetched JSON might happen more than once within the same function execution, depending on how a composition has been structured. However, the construction of the ZObject is actually very fast, compared to the elapsed time of getting the JSON from Wikidata. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 18:04, 1 May 2026 (UTC) == Question about cardinal numbers == I was about to edit {{Z|Z16435}} to add my function {{Z|Z34308}}, but I noticed that none of the other functions have a gender parameter. Should I create a new wrapper function "Bulgarian cardinal, neuter", or should I just remove the gender parameter and always return neuter? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 10:39, 28 April 2026 (UTC) :The “cardinal” functions should return the words used for “counting” numbers in the abstract. :We should consider converting them to return a {{Z|Z11}} rather than a {{Z|Z6}}. It may even be appropriate to return a {{Z|Z12}} to cater for language variants. Either way, I think that would be the approach to adopt for inflected forms, unless reference to specific lexeme-forms is required. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:52, 28 April 2026 (UTC) ::This. If a native of your language were to count up, which form would they be most likely to use? [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:29, 28 April 2026 (UTC) ::: {{re|GrounderUK|Feeglgeef}} Thanks for both your input! ::: I relabeled the aforementioned function to {{Z|Z34308}}, and created a new wrapper function {{Z|Z34457}}. ::: Should I specify that my old function is a monolingual text in parentheses? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 16:26, 28 April 2026 (UTC) ::::You don't have to, unless you think that is something that would require distinction when viewing the function in a list of search results &c. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 16:36, 28 April 2026 (UTC) == Optional/nullable function parameters == Hello! Recently, I was informed that Wikifunctions has no optional/nullable function parameters as of now. Are there any future plans to support this, and/or workarounds? Maybe create a union type system like "{{Z|6}} or {{Z|23}}". <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 17:53, 28 April 2026 (UTC) :What I do for this is use an "is empty" function corresponding to the type of the parameter in an If statement. If it isn't empty, the function works as intended. Otherwise, it does something else. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 17:58, 28 April 2026 (UTC) :Unions are not a thing (yet) on Wikifunctions, but you can always define an argument of type {{Z|Z1}}, which means that all types are allowed (I already did this for {{Z|Z26737}}; note that it is still a ugly workaround, don't use it for high level functions). Also, note that usually on Wikifunctions we use {{Z|Z24}} as the null value. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:00, 28 April 2026 (UTC) :: {{re|JJPMaster|Dv103}} Thanks for your help! :: @[[User:Dv103|Dv103]] told me a function call with a missing parameter is treated as an invalid function call, so how does the "is empty" function work with that? :: Also, setting the type to {{Z|1}} seems naive, like setting the type as <code>any</code> in TypeScript... :: Related question: Are there plans to add default values to parameters (outside of "if empty")? <span style="border-radius:99q;padding:0 7q;background:#103;border:3q solid #FBF">[[User:QuickQuokka|<span style="color:#FBF">'''QuickQuokka'''</span>]]</span> <sup>[⁠[[User talk:QuickQuokka|talk]] • [[Special:Contribs/QuickQuokka|contribs]]]</sup> 18:19, 28 April 2026 (UTC) :::Setting the type to {{Z|Z1}} is actually naive, and that's why I advised you to only use it for low-level functions. Currently there is nothing better. Sometimes, type correctness is not actually checked, so it might seem that nullable types are possible. But it is still an hack, and it could broke anytime since it is not intended behavior. :::I don't think that there are current plans to add default values (but correct me if I'm wrong). The closest thing that comes to my mind is that, if you incorporate Wikifunctions into Wikitext, you can leave empty some fields (only of some specific types) and Parsoid will replace them to their default value. This is done only depending on the type, and not on the functions. For example, {{Z|Z6091}} and {{Z|Z6001}} are assigned the QID associated to the page, and {{Z|Z20420}} is assigned the current date. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:56, 28 April 2026 (UTC) :::@[[User:QuickQuokka|QuickQuokka]]: At the very least, [[Z10008]] accepts a null input. Maybe that feature is unique to the String type—I am not sure. [[User:JJPMaster|JJP]]<sub>[[User talk:JJPMaster|Mas]]<sub>[[Special:Contributions/JJPMaster|ter]]</sub></sub> ([[wikt:she|she]]/[[wikt:they|they]]) 19:10, 28 April 2026 (UTC) ::::I think it's just not checked, but it shouldn't be intended. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:20, 28 April 2026 (UTC) ::::Strings and typed lists can be “empty” in the sense that their length can be zero. Typed pairs may also be “empty” in a degenerate sense, but such an object will not be returned from a code implementation. A typed map with no entries will also fail to be returned from code, although it is fine in compositions. ::::For a genuinely optional parameter, I prefer a properly typed list, which at least encourages an argument of the correct type. {{Z|Z813}} is also typically faster than {{Z|Z10008}}. Quite a good example of this approach is {{Z|Z23723}}, where it helps to resolve the type union (using [[Z1]]) for both Z6003K1 and Z6003K3. Of course, there’s nothing to prevent more than one element in the list, but additional elements are easily ignored. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 22:55, 28 April 2026 (UTC) :Pinging {{ping|Jdforrester (WMF)|prefix=|p=}}, I believe there are no current plans. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:02, 28 April 2026 (UTC) ::@[[User:QuickQuokka|QuickQuokka]]: I'm afraid there are no current plans to build out optional params, indeed; we would be happy to review this if a compelling case was made, but it'd be a lot of work to re-build the [[Wikifunctions:Function model|function model]] with that support and ensure we don't break (too many) things. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 19:11, 28 April 2026 (UTC) == Z6830 for Chinese == I was trying to use {{Z|Z6830}} for implementation in the Chinese-language. And turns out most of the Lexeme on Wikidata is using [[d:Q727694]] as the language instead of [[d:Q7850]]. This makes it impossible to use the mentioned function above, since Standard Chinese is not available (or did I miss something?). Is there a way to fetch lexemes with language=[[d:Q727694]] from item? [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 18:20, 30 April 2026 (UTC) :@[[User:Sun8908|Sun8908]] There is [[Z1006]] for Chinese and it has the language code zh. There is an overview of languages in [[Module:Wikifunctions label]] so you can search there for chinese versions and choose the one you need. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 5 May 2026 (UTC) ::I know that. The problem is when using the function [[Z6830]], it cannot retrieve lexeme with language [[d:Q727694]] (but it is the "Chinese language" with the most current Wikidata lexemes, see [https://ordia.toolforge.org/language/ ordia]). I think it should be a Wikidata problem, I might fix it (possibly by creating the same lexemes with language code zh) on Wikidata. Thanks anyway. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 05:39, 6 May 2026 (UTC) :Could you provide an example of a Chinese lexeme that has a linked Wikidata item, or a Z6830 function call that fails to find such a lexeme where one exists? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 07:55, 6 May 2026 (UTC) ::Here: [[d:Lexeme:L846083]]. I think that's a primary reason of me trying to look into this problem, as the label in zh for [[d:Q6256]] (country) is not a single phrase (see its talk page on WD for more information). This makes some Abstract Wikipedia articles very weird in Chinese when {{Z|Z26570}} is used, so lexeme could potentially fix that. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 10:33, 6 May 2026 (UTC) :::Thank you. It looks as though {{Z|Z6830}} [https://www.wikifunctions.org/view/en/Z6830?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6830%22%2C%22Z6830K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q6256%22%7D%2C%22Z6830K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P5137%22%7D%2C%22Z6830K3%22%3A%7B%22Z1K1%22%3A%22Z60%22%2C%22Z60K1%22%3A%22cmn%22%2C%22Z60K2%22%3A%5B%22Z6%22%5D%7D%7D returns that lexeme for language tag "cmn"]. Perhaps that tag should be added into the helpers for {{Z|Z24144}}? If it is widely used for lexemes, perhaps it should have its own {{Z|Z60}}? In any event, improvements might be considered under [[:phab:T390563]] (or otherwise), including amending [[Z6830]] to also consider "cmn" (and "zho", "chi"…?) when requests are made for "zh-hans" or "zho-hant" (or others?) @[[User:Winston Sung|Winston Sung]] @[[User:DMartin (WMF)|DMartin (WMF)]] [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:22, 6 May 2026 (UTC) ::::If you go to [[d:Special:NewLexeme]] and put in [[d:Q727694]] as the language, it is going to tell you it has an unrecognized language code. So I believe "cmn" should not be a {{Z|Z60}} by default? I also started [[d:Wikidata:Project_chat#Lexemes_with_language_Standard_Chinese_(Q727694)|a discussion on WD]] regarding this. I guess we can still use it as a fallback language though if possible. [[User:Sun8908|Sun8908]] ([[User talk:Sun8908|talk]]) 03:43, 7 May 2026 (UTC) ::::We don't have a separated <code>cmn</code> BCP 47 language subtag in MediaWiki and Wikidata at the moment. <code>zho</code> and <code>chi</code> are ISO 639 language codes but not BCP 47 language subtags. ::::For Modern Standard Mandarin, please use <code>zh-*</code> language tags for now. -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 15:26, 8 May 2026 (UTC) == Key not found error == Is there a reason why I am getting key not found error for this [[Z34677|function]] {{Z|Z34677}}? All the underlying functions run and all the test cases work. The debug information does not give more details. Any pointers? Thanks in advance [[User:Jsamwrites|John Samuel]] 19:24, 1 May 2026 (UTC) :It was passing the [[Z6091]] to {{Z|34641}} when that takes a [[Z6001]]. I've fixed that, but there's some other problem with the logic, so I've left it disconnected. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 19:42, 1 May 2026 (UTC) ::@[[User:YoshiRulz|YoshiRulz]] Thanks a lot. [[User:Jsamwrites|John Samuel]] 20:21, 1 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #246 is out: Request for input: what should we count for Abstract Wikipedia == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we ask you what would be the relevant metrics for Abstract Wikipedia, we discuss our latest news on Composition Language v2, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 12:21, 2 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == Any formal process for deletion of pages == Does a formal process exist for the deletion of functions, implementations, and tests that includes a notification system for creators, analogous to Wikidata’s process, explaining the rationale behind the deletion (or proposal for deletion)? [[User:Jsamwrites|John Samuel]] 12:36, 3 May 2026 (UTC) :Does [[Wikifunctions:Requests for deletions]] work? [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 13:00, 3 May 2026 (UTC) :Please see the discussion at [[Wikifunctions talk:Requests for deletions#Should we expect Objects' creators to get pinged on deletion proposals?]]. :As I see it, it is the proposer’s responsibility to consult appropriately before making a request and we expect our administrators to act only when satisfied that appropriate consultation has occurred. In many cases, no consultation is required. Administrators may delete their own contributions without making a request, but this is not a practice I would encourage. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:51, 3 May 2026 (UTC) == Implementation of rational number in JS doesn't match in Z19677 (Rational number) and Z28579 (RGBA colour) == In {{Z|19677}} it's <syntaxhighlight lang=js> { "K1": sign * numerator, "K2": denominator } </syntaxhighlight> but in {{Z|28579}} it's <syntaxhighlight lang=js> [ sign * numerator, denominator ] </syntaxhighlight> '''<span style="font-family:Iosevka,monospace">[[User:沈澄心|<span style="color:#9f3526">dring</span>]][[User talk:沈澄心|<span style="color:#534fa3">sim</span>]]</span>''' 05:15, 4 May 2026 (UTC) == Nested functions in compositions == I wish it will be easier to a add another function about a specific existing function in a function implementation based on a composition. When I write long functions in spreadsheets I usually stat with a small part and then I try to go further and after important steps I test if the output is as expected. I created [[Z34826]] to get the German gender specific occupation lexeme for a specific person based on their gender. I wanted to add a function around the existing one and it was not successful. It is not very easy to implement as it requires the possibily to move a part to another section but I think it can be helpful if it will be implemented. So far I spend more time as expected on the function. Describing it with words what the function needs to do is much easier than implementing it here in Wikifunctions. So I think there needs to be improvement to make Wikifunctions more accessible. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:10, 5 May 2026 (UTC) :Have you tried to use the copy-paste functionality? It is very useful to move parts of composition arounn. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:12, 6 May 2026 (UTC) :I've also found the composition editor to be wholly unsuitable for any expressions more than a few levels deep. (Even with the <code>localStorage</code> clipboard, because of its overzealous type checks.) Compositions naturally grow out from the "leaves", the immediate operations on the inputs, while the interface really wants you to build from the "root". I mostly use the [https://yoshirulz.gitlab.io/WikiLambdaBlockly drag-and-drop block editor] which I made to smooth over some of the site's problems, so if you want to try that out and give me some feedback I'd appreciate it. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:36, 6 May 2026 (UTC) == Wikifunctions & Abstract Wikipedia Newsletter #247 is out: References from Wikidata now available == There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-05-08|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it! In this issue, we announce that is now possible to pass references in Wikidata statements, we introduce the [https://abstract-data.toolforge.org/ Abstract Data dashboard], we report you on the presentation about Abstract Wikipedia at WikiCon Australia, and we take a look at the latest software developments. Want to catch up with the previous updates? Check [[:f:Special:MyLanguage/Wikifunctions:Status updates|our archive]]! Also, we remind you that if you have questions or ideas to discuss, the next '''Volunteers' Corner''' will be held on '''[https://zonestamp.toolforge.org/1778520600 May 11, at 17:30 UTC]''' ([https://meet.google.com/xuy-njxh-rkw link to the meeting]). Enjoy the reading! -- [[User:Sannita (WMF)|User:Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 11:16, 8 May 2026 (UTC) <!-- Message sent by User:Sannita (WMF)@metawiki using the list at https://meta.wikimedia.org/w/index.php?title=Global_message_delivery/Targets/Wikifunctions_%26_Abstract_Wikipedia&oldid=30325620 --> == RGBA colour, spelling... == Something that has always irked me a little bit is the spelling of {{Z|Z28579}}. I guess this is not unsurprising for me considering my use of US English but I think there is more to it than preference and I want to try to argue for it being changed to use American spelling. I know that this probably has a snowball's chance in hell of actually garnering any support, so I won't really be miffed if the spelling remains as it is, but I thought it wouldn't hurt to raise this regardless. The main issue I have with it is the spelling of the original proposal. When infernostars raised the [[Wikifunctions:Type proposals/RGBA color|type proposal]], the spelling was 「RGBA color」. Of the comments that mentioned the word 「colo[u]r」, two used British spelling while six used the American spelling as used in the proposal. The only thing that really pointed to the use of ''colour'' was the fact that the catalog page on color functions used that spelling already. For all intents and purposes, the spelling of the original proposal should have been maintained, but it was not; [[User:DVrandecic (WMF)|DVrandecic]], the eventual creator of the type, used a different spelling. It should be noted that there was really no reason for this to occur and while it is an undoubtedly minor issue I still believe it should be rolled back and the type should use the spelling of the original proposal and majority of editor comments. In [[abstract:Q936|OpenStreetMap]], there have been keyvalue proposals that have had the finalized spelling that gets put to use be in British English despite the original proposal being in American English; this has usually occurred with proposals relating to 「X center/centre」 tags. This makes sense on the surface, because OpenStreetMap is maintained by a UK organization, and still has close ties to Europe. The Wikimedia Foundation, however, is an ''American'' company. This is often brought up as a fallible argument when debating article spelling on the English Wikipedia, and I don't bring it up to support that 「RGBA color」 should be used for that exact reason, but rather to state that OpenStreetMap's general policy on tag names need not apply here. It appears to me that, at least initially, the majority of 「core contributors」 to Wikifunctions used British English; I can name YoshiRulz, 99of9, GrounderUK, and VIGNERON.<ref group="color">I'm avoiding linking to these folks because I don't think pinging them about this discussion is all too necessary unless they themselves want to be involved; I don't want to clutter their inboxes just to briefly mention them. I pinged Denny because, well, I'm asking him a question directly, but everyone else I would prefer to join this discussion by their own accord... not that I wish for this decision to be confused as me going 「these people use British English so they will probably oppose my idea, I won't invite them to the discussion because of that」...no, I promise you that is not the reason.</ref> I see (or saw) these people ''everywhere'', so it makes sense that British English has prevailed in some sorts on this website, but I don't think that indicates that it should be the ''preferred'' spelling across the website, at least not to the point where a proposal should have its name changed to match such a "consensus".<ref group="color">It could be argued that the front-and-center ''Function catalogue'' using 「catalogue」 is actually indicative of such a "consensus", but ''catalogue'' is in a similar position to the word ''grey'' where I live (that is, the US) in that it is used just as often as its American counterpart. Also, consider Wiktionary's ''Beer parlour'' project chat.</ref> The unnecessary modification of the original spelling is my main argument for changing it back... but of course, I must obligatorily state that on English Wikipedia, it is [[w:Color|Color]] and [[w:RGBA color model|RGBA color model]]; on Wikidata, it is [[d:Q1075|color]] and [[d:Q2325624|RGBA color space]]; in CSS (which typically uses hexadecimal triplets to specify RGBA values), the properties are <code>color</code>, <code>background-color</code>, etc.; bit of a weak jab, but on Schema.org it is [https://schema.org/color color], [https://schema.org/colorSwatch colorSwatch]; et cetera. {{Z|Z28580}} uses ''color'', so does {{Z|Z28591}} and its Python counterpart. Mr. Vrandečić, I have to ask, I'm rather confused... you created the color type using British English spelling, but you were also responsible for the creation of the equality function which uses the American English spelling. You also seem to be writing in American English for the status updates, judging by your use of -''ize'' over -''ise'' endings and use of ''program'' over ''programme'' in [[Wikifunctions:Status updates/2026-04-16]]. Is there something I'm missing or have you switched your preferred variant somewhere along the way? Anyways, do consider this if you wish... again, I don't suppose this will garner much support, it is the ''non-issuest'' of ''non-issues'', but it has irked me to the point where I want to ask about it to get some answers, if nothing else. I am not arguing for every other color function to have its name changed, just the type itself. <references group="color"></references> &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:04, 8 May 2026 (UTC) :This is a multilingual project; the <code>en</code> label is <code>RGBA colour</code> and the <code>en-us</code> label is <code>RGBA color</code>. Though I'm not able to switch to <code>en-us</code> via the language picker so that would need to be fixed.<!-- --><br>edit after reading your whole comment: The same is true of {{Q|1075}}, there are labels specified for multiple English variants. (In {{Q|2325624}} it's only an alias.) I agree that other websites' choices aren't binding on us, but from that, I conclude that the more widespread British/Commonwealth spellings should be used for the generic <code>en</code>. As for myself, I'm Aussie and I will continue to use the BrE spellings ([[w:en:Oxford_spelling#Language_tag_comparison|+ "routing"]], TIL) if only by muscle memory.<!-- --><br>[[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 17:42, 8 May 2026 (UTC) tgp1ol9yrixcutoobsuah2sxz7xq9uv Wikifunctions:Requests for deletions 4 1696 273252 272963 2026-05-08T14:49:12Z Bunnypranav 9976 Mark section resolved ([[User:Bunnypranav/sectionResolved.js|sectionResolved]]) 273252 wikitext text/x-wiki <noinclude>__NEWSECTIONLINK__ __FORCETOC__</noinclude> Functions or implementations or tests which do not work properly, do not meet notability criteria or are duplicates of another object can be deleted. Please nominate items for deletions under the "Requests for deletion" section below. If it is obvious vandalism, just report it in [[Wikifunctions:Report vandalism]], or ping an [[Special:ListAdmins|administrator]]. Contact can also be made with an administrator on [https://t.me/Wikifunctions Telegram] or IRC [irc://irc.libera.chat/wikipedia-abstract #wikipedia-abstract]. If it is a predefined object (its ZID is less than 10000), please see [[Wikifunctions:Report a technical problem]]. {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |level = 2 }} {{Archives|{{Special:PrefixIndex/Wikifunctions:Requests for deletions/Archive/|stripprefix=1}}}} = Requests for deletion = == {{Z|Z27261}} == {{ping|Dungodung}} it looks like this was intended as an actual [[Z14294]] rather than a function with no inputs that makes one. Rather than using "create function", use "create object" at https://www.wikifunctions.org/wiki/Special:CreateObject then choose the type of item. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:20, 15 April 2026 (UTC) :Thanks for the info! [[User:Dungodung|Dungodung]] ([[User talk:Dungodung|talk]]) 19:16, 15 April 2026 (UTC) ::@[[User:Dungodung|Dungodung]] Can I consider this as a author request to delete <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 04:26, 16 April 2026 (UTC) == [[Z18720]] == This kind of function is not supported, at least not in the way as it is currently implemented. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 20:24, 27 April 2026 (UTC) :CC @[[User:Ioaxxere|Ioaxxere]] <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 12:27, 28 April 2026 (UTC) :Why isn't it supported? This function would be useful on Wiktionary itself if we could call it from a template. [[User:Ioaxxere|Ioaxxere]] ([[User talk:Ioaxxere|talk]]) 13:47, 28 April 2026 (UTC) ::Web requests are not technically supported, and the Abstract Wikipedia team has no plans to support it. Functions should be deterministic, which means that they cannot rely on web requests. The proper way to do this would be to use the templates feature, you can do something like <nowiki>{{:hello}}</nowiki> to bring the full page hello a function call. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:53, 28 April 2026 (UTC) == [[Z18771]] == Duplicate of [[Z10251]]. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 12:51, 3 May 2026 (UTC) :{{s}} deletion, unless {{ping|Jsamwrites}} has a comment to make. This is a relatively old one, but WhatLinksHere shows that nothing uses it. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:44, 3 May 2026 (UTC) :Thanks for pointing this out. However, there are implementations and test cases that cover more interesting use cases. Also added a composition function making use of {{Z|Z10251}} [[User:Jsamwrites|John Samuel]] 17:01, 3 May 2026 (UTC) ::It is possible to move these from the duplicate to the original function. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 17:49, 7 May 2026 (UTC) == [[Z13147]] == Function with no implementations or tests, and [[User talk:FenrisAureus|the author doesn't plan to develop it further]]. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:04, 7 May 2026 (UTC) :{{done}} <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 14:49, 8 May 2026 (UTC) {{Section resolved|1=<span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 14:49, 8 May 2026 (UTC)}} qbbbzjcd6fmmqlycq24vmue88dh2ygh 273253 273252 2026-05-08T14:50:46Z Bunnypranav 9976 Mark section resolved ([[User:Bunnypranav/sectionResolved.js|sectionResolved]]) 273253 wikitext text/x-wiki <noinclude>__NEWSECTIONLINK__ __FORCETOC__</noinclude> Functions or implementations or tests which do not work properly, do not meet notability criteria or are duplicates of another object can be deleted. Please nominate items for deletions under the "Requests for deletion" section below. If it is obvious vandalism, just report it in [[Wikifunctions:Report vandalism]], or ping an [[Special:ListAdmins|administrator]]. Contact can also be made with an administrator on [https://t.me/Wikifunctions Telegram] or IRC [irc://irc.libera.chat/wikipedia-abstract #wikipedia-abstract]. If it is a predefined object (its ZID is less than 10000), please see [[Wikifunctions:Report a technical problem]]. {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |level = 2 }} {{Archives|{{Special:PrefixIndex/Wikifunctions:Requests for deletions/Archive/|stripprefix=1}}}} = Requests for deletion = == {{Z|Z27261}} == {{ping|Dungodung}} it looks like this was intended as an actual [[Z14294]] rather than a function with no inputs that makes one. Rather than using "create function", use "create object" at https://www.wikifunctions.org/wiki/Special:CreateObject then choose the type of item. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:20, 15 April 2026 (UTC) :Thanks for the info! [[User:Dungodung|Dungodung]] ([[User talk:Dungodung|talk]]) 19:16, 15 April 2026 (UTC) ::@[[User:Dungodung|Dungodung]] Can I consider this as a author request to delete <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 04:26, 16 April 2026 (UTC) :{{done}} <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 14:50, 8 May 2026 (UTC) {{Section resolved|1=<span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 14:50, 8 May 2026 (UTC)}} == [[Z18720]] == This kind of function is not supported, at least not in the way as it is currently implemented. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 20:24, 27 April 2026 (UTC) :CC @[[User:Ioaxxere|Ioaxxere]] <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 12:27, 28 April 2026 (UTC) :Why isn't it supported? This function would be useful on Wiktionary itself if we could call it from a template. [[User:Ioaxxere|Ioaxxere]] ([[User talk:Ioaxxere|talk]]) 13:47, 28 April 2026 (UTC) ::Web requests are not technically supported, and the Abstract Wikipedia team has no plans to support it. Functions should be deterministic, which means that they cannot rely on web requests. The proper way to do this would be to use the templates feature, you can do something like <nowiki>{{:hello}}</nowiki> to bring the full page hello a function call. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 13:53, 28 April 2026 (UTC) == [[Z18771]] == Duplicate of [[Z10251]]. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 12:51, 3 May 2026 (UTC) :{{s}} deletion, unless {{ping|Jsamwrites}} has a comment to make. This is a relatively old one, but WhatLinksHere shows that nothing uses it. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 15:44, 3 May 2026 (UTC) :Thanks for pointing this out. However, there are implementations and test cases that cover more interesting use cases. Also added a composition function making use of {{Z|Z10251}} [[User:Jsamwrites|John Samuel]] 17:01, 3 May 2026 (UTC) ::It is possible to move these from the duplicate to the original function. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 17:49, 7 May 2026 (UTC) == [[Z13147]] == Function with no implementations or tests, and [[User talk:FenrisAureus|the author doesn't plan to develop it further]]. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 15:04, 7 May 2026 (UTC) :{{done}} <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 14:49, 8 May 2026 (UTC) {{Section resolved|1=<span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 14:49, 8 May 2026 (UTC)}} 2z5o9l42t3a9992db4o641s4bcooa3g Wikifunctions:Report vandalism 4 1723 273254 273136 2026-05-08T14:53:35Z Bunnypranav 9976 /* User:Lutherhunt679 */ Reply 273254 wikitext text/x-wiki {{Wikifunctions:Report vandalism/header/{{#ifexist:Wikifunctions:Report vandalism/header/{{int:lang}}|{{int:lang}}|en}}}} {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |level = 2 }} __NEWSECTIONLINK__ {{Archives|{{Flatlist|{{Special:PrefixIndex/WF:Report vandalism/Archive/|stripprefix=1}} }} }} <!-- Add new reports below this line --> == User:Lutherhunt679 == Promotional account. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 05:59, 8 May 2026 (UTC) :{{done}} <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 14:53, 8 May 2026 (UTC) :{{Section resolved|1=<span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 14:53, 8 May 2026 (UTC)}} ha6z4gud74gmuil6ahscr3gx3pcakoc Wikifunctions talk:Main Page 5 3346 273229 273133 2026-05-08T12:36:59Z Sabelöga 123 Undid revision [[Special:Diff/273133|273133]] by [[Special:Contributions/Lutherhunt679|Lutherhunt679]] ([[User talk:Lutherhunt679|talk]])spam 273229 wikitext text/x-wiki *''This is the place where you can discuss the Main Page.'' ** ''The Main Page can be translated at [[Template:Main page]].'' ** ''The Main Page News can be translated at [[Template:Main page/News]].'' *'''''General project discussion takes place at [[Wikifunctions:Project chat]].''''' {{Autoarchive resolved section |age = 1 |archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) |timeout=30 }} {{Archives|{{Flatlist|{{Special:PrefixIndex/Wikifunctions talk:Main Page/Archive/|stripprefix=1}} }} }} ;Sandbox links: Use the sandboxes for complex edit suggestions. * [[Template:Main page/sandbox]] and [[Template:Main page/sandbox/styles.css]] n73gpiwzt4pf9ulylrc3qofw2uh3o11 Wikifunctions:Requests for user groups 4 3790 273230 272139 2026-05-08T12:49:04Z Ameisenigel 44 /* Bunnypranav */ close 273230 wikitext text/x-wiki {{shortcut|[[WF:RFG]]|[[WF:PERM]]|[[WF:RFUG]]}} This is the place to request specific user groups: {{ombox | image = [[File:Echo user-rights icon.svg|60x60px|alt=|link=]] | text = '''How to make a request''' # Edit the section for the user group you wish to request # Copy the following and ''append'' it to the text-area: ## Requests without required discussion: <code><nowiki>{{subst:rfg|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code> ## Functioneer requests (required 48-hour discussion): <code><nowiki>{{subst:rfg|3=1|length=2 days|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code> ## Requests with required 1-week discussion: <code><nowiki>{{subst:rfg|3=1|1={{subst:REVISIONUSER}}|2=reason ~~~~}}</nowiki></code> # Replace <code>reason</code> with a rationale based on the guidelines specified for the user group }} : ''Archived requests can be found at [[Wikifunctions:Requests for user groups/Archive]]'' {{Autoarchive resolved section | age = 1 | archive = ((FULLPAGENAME))/Archive/((year))/((month:##)) | level = 3 }} == Functioneer == {{see also|Wikifunctions:Functioneers}} == Autopatroller == {{See also|Wikifunctions:Autopatrollers}} == Administrator == {{see also|Wikifunctions:Administrators}} === Bunnypranav === :{{UL2.0|1=Bunnypranav|contributions=1|deletedcontributions=1|editcount=1|blocklog=1|rightslog=1|crosswiki=1}} :''Discussion open until: 10:01, 8 May 2026 (UTC)'' :Hello folks! I am here to request renewal of my administrator right. I was granted sysop on 6th May 2025, and have actively served for a year. I regularly help out at deletion requests, and also done a few blocks while responding to reports of vandalism. I will keep in mind the consensus of the community in each one of my actions, which is bound to change often as this wiki is taking shape and growing. I am open to questions, but please do ping me. Thanks! <span style="font-family:monospace;font-weight:bold">[[User:Bunnypranav|<span style="color:#63b3ed">~/Bunny</span><span style="color:#2c5282">pranav</span>]]:&lt;[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]&gt;</span> 10:01, 1 May 2026 (UTC) ::*{{s}} Thanks for your continuing work. I think you're doing a great job. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:17, 1 May 2026 (UTC) ::*{{s}} No problems with your time as admin. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 12:29, 1 May 2026 (UTC) ::*{{s}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 13:31, 1 May 2026 (UTC) ::* {{S}} Thanks for your work --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 21:42, 1 May 2026 (UTC) ::*{{s}} [[User:ChaoticV|ChaoticV]] ([[User talk:ChaoticV|talk]]) 23:13, 1 May 2026 (UTC) ::*{{s}} [[User:ToadetteEdit|ToadetteEdit]] ([[User talk:ToadetteEdit|talk]]) 06:55, 4 May 2026 (UTC) Closing as successful: {{O}}: 0; {{S}}: 6. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 12:48, 8 May 2026 (UTC) {{Section resolved|1=[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 12:48, 8 May 2026 (UTC)}} == Interface administrator == {{see also|Wikifunctions:Interface administrators}} == Translation administrator == {{see also|Wikifunctions:Translation administrators}} == Bureaucrat == {{see also|Wikifunctions:Bureaucrats}} == Miscellaneous requests == == See also == * [[Wikifunctions:User groups]] ** [[mw:Help:Wikifunctions/User rights]] for additional context about functioneers, maintainers, sysops, and bureaucrats [[Category:User groups|*]] a8mgpn5hr8jt9srreyp6lh5di50do0t User talk:Jsamwrites 3 17257 273248 122304 2026-05-08T14:23:37Z Theki 2389 /* Z34637 */ new topic ([[mw:c:Special:MyLanguage/User:JWBTH/CD|CD]]) 273248 wikitext text/x-wiki {{Welcome/lang|user=Jsamwrites|welcominguser=VIGNERON|1=[[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 17:13, 5 November 2023 (UTC)}} :Welcome 🤩 [[User:So9q|So9q]] ([[User talk:So9q|talk]]) 09:08, 12 August 2024 (UTC) ::@[[User:VIGNERON|VIGNERON]] @[[User:So9q|So9q]] Thanks [[User:Jsamwrites|John Samuel]] 14:09, 13 August 2024 (UTC) == [[Z34637]] == Just letting you know that I modified {{Z|Z34637}} to allow its constituent functions to be supplied the upstream language value so that the requested spelling variant of the callee can be respected. I added a language input to {{Z|Z34638}} to match this, and modified {{Z|Z34682}} to point to {{Z|Z33034}} as the target language rather than plain English. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:23, 8 May 2026 (UTC) 6f1irm8v6zrtrcmxqm4r7zgzq14kgzc 273249 273248 2026-05-08T14:28:11Z Jsamwrites 938 /* Z34637 */ Reply 273249 wikitext text/x-wiki {{Welcome/lang|user=Jsamwrites|welcominguser=VIGNERON|1=[[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 17:13, 5 November 2023 (UTC)}} :Welcome 🤩 [[User:So9q|So9q]] ([[User talk:So9q|talk]]) 09:08, 12 August 2024 (UTC) ::@[[User:VIGNERON|VIGNERON]] @[[User:So9q|So9q]] Thanks [[User:Jsamwrites|John Samuel]] 14:09, 13 August 2024 (UTC) == [[Z34637]] == Just letting you know that I modified {{Z|Z34637}} to allow its constituent functions to be supplied the upstream language value so that the requested spelling variant of the callee can be respected. I added a language input to {{Z|Z34638}} to match this, and modified {{Z|Z34682}} to point to {{Z|Z33034}} as the target language rather than plain English. &mdash; [[User:Theki|rae<sup>5e</sup>]] &lt;[[User talk:Theki|talk]]&gt; 14:23, 8 May 2026 (UTC) :Thank you for your changes. [[User:Jsamwrites|John Samuel]] 14:28, 8 May 2026 (UTC) 444hg9yar27kroxjg82yjre62uetd86 Z12846 0 22335 273286 246679 2026-05-08T18:17:14Z Dv103 11127 Added Z34980 to the approved list of test cases 273286 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z12846" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z12846K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "superset" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Übermenge" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "רשימה מכילה" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "υπερσύνολο" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "sur-ensemble" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z12846K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "subset" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Teilmenge" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Boolean " }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "רשימה מוכלת" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "υποσύνολο" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "sous-ensemble" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z12847", "Z12848", "Z12849", "Z12850", "Z12873", "Z12874", "Z14208", "Z16710", "Z18129", "Z23090", "Z23092", "Z23091", "Z24845", "Z34980" ], "Z8K4": [ "Z14", "Z30773", "Z12861", "Z12871" ], "Z8K5": "Z12846" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "contains all of list" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "ist Übermenge" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "bụ superset" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "האם מכילה (רשימה)" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "είναι υπερσύνολο" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "est-ce un sur-ensemble ?" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "superset", "superlist", "list superset", "fully contained", "contains all elements", "contains whole list", "list contains all elements of another list", "first list contains all elements of second list", "contains all", "all contained", "includes all", "is superset" ] }, { "Z1K1": "Z31", "Z31K1": "Z1430", "Z31K2": [ "Z6", "Obermenge", "beinhaltet alle Elemente", "Liste beinhaltet alle Elemente einer anderer Liste", "beinhaltet", "enthält", "enthält alle Elemente", "Liste enthält alle Elemente einer anderer Liste" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "test whether the first list contains all elements of the second (and contains at least as many of any repeated elements)" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "prüft, ob die erste Liste alle Elemente der zweiten enthält (und mindestens gleich viele wiederholte Elemente)" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Nwalee ma ndepụta ahụ nwere ihe niile dị na nke abụọ (ma nwee opekata mpe ihe mmewere ọ bụla ugboro ugboro" }, { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "הפונקציה בודקת האם הרשימה הראשונה מכילה את כל האיברים שברשימה השנייה (והאם היא מכילה לפחות את אותה הכמות של איברים חוזרים)" }, { "Z1K1": "Z11", "Z11K1": "Z1827", "Z11K2": "ελέγχει εάν ο πρώτος κατάλογος περιέχει όλα τα στοιχεία του δεύτερου" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie \"vrai\" s'il s'agit d'un sur-ensemble, sinon \"faux\" ; vérifie si la première liste contient tous les éléments de la seconde (et contient au moins autant d'éléments répétés)" } ] } } lp681s8vi2tq888v64d97vqxze5nttn Wikifunctions:Status updates 4 22740 273431 273175 2026-05-09T01:39:47Z Mdktb 3635 +inputbox translate 273431 wikitext text/x-wiki <languages/> {{shortcut|WF:SU}}{{notice|1=<translate><!--T:1--> '''[[<tvar name="sub">:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia</tvar>|Subscribe]]''' to receive short on-wiki MassMessage notifications about each new issue</translate>}} {{Wikifunctions updates | prevlabel = <translate><!--T:2--> Previous update</translate> | prev = 2024-02-01 | nextlabel = <translate><!--T:3--> Last update</translate> | next = 2026-05-08 }} <translate><!--T:4--> A lot is happening around Wikifunctions and Abstract Wikipedia. This is the page where our updates are posted, including the [[<tvar name="1">Special:MyLanguage/WF:function of the Week</tvar>|function of the Week]].</translate> <inputbox> type=fulltext prefix={{NAMESPACE}}:{{PAGENAME}}/ break=no width=30 searchbuttonlabel=<translate>Search</translate> placeholder=<translate>Search all status updates</translate> </inputbox> <translate> <!--T:5--> You can also subscribe to the [[<tvar name="sub">:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia</tvar>|on-wiki newsletter]] to have them delivered to your talk page or to your project's village pump. == Newsletters == <!--T:28--> </translate> <!--<nowiki> Newsletter entry template: * <translate><tvar name="1">{{Status updates|2026-0?-??}}</tvar>: Title</translate> NOTE: Remember to also update the "next =" date at the top of this page. </nowiki>--> === 2026 === * <translate><!--T:117--> <tvar name="1">{{Status updates|2026-05-08}}</tvar>: References from Wikidata are now available</translate> * <translate><!--T:116--> <tvar name="1">{{Status updates|2026-05-02}}</tvar>: Request for input: what should we count for Abstract Wikipedia?</translate> * <translate><!--T:115--> <tvar name="1">{{Status updates|2026-04-25}}</tvar>: The Foundation's search for the perfect language</translate> * <translate><!--T:114--> <tvar name="1">{{Status updates|2026-04-16}}</tvar>: Milestones; Some major issues hopefully resolved</translate> * <translate><!--T:113--> <tvar name="1">{{Status updates|2026-04-10}}</tvar>: Community proposals for capturing meaning</translate> * <translate><!--T:112--> <tvar name="1">{{Status updates|2026-04-02}}</tvar>: Request for Discussion: Syntactic tables</translate> * <translate><!--T:111--> <tvar name="1">{{Status updates|2026-03-26}}</tvar>: First few days of Abstract Wikipedia Beta; Status of Composition Language v2</translate> * <translate><!--T:110--> <tvar name="1">{{Status updates|2026-03-19}}</tvar>: Abstract Wikipedia in Beta</translate> * <translate><!--T:109--> <tvar name="1">{{Status updates|2026-03-11}}</tvar>: A new composition language</translate> * <translate><!--T:108--> <tvar name="1">{{Status updates|2026-03-06}}</tvar>: Citations and Copy and Paste</translate> * <translate><!--T:107--> <tvar name="1">{{Status updates|2026-02-26}}</tvar>: Graceful overrides and fallbacks</translate> * <translate><!--T:106--> <tvar name="1">{{Status updates|2026-02-20}}</tvar>: A sneak preview of Abstract Wikipedia</translate> * <translate><!--T:105--> <tvar name="1">{{Status updates|2026-02-13}}</tvar>: Finishing each other sentences: Starting things; Offsite in Istanbul</translate> * <translate><!--T:104--> <tvar name="1">{{Status updates|2026-01-29}}</tvar>: Integrating Abstract Wikipedia</translate> * <translate><!--T:103--> <tvar name="1">{{Status updates|2026-01-22}}</tvar>: Quarterly plan for January–March 2026</translate> * <translate><!--T:102--> <tvar name="1">{{Status updates|2026-01-15}}</tvar>: 25 years of Wikipedia</translate> === 2025 === * <translate><!--T:101--> <tvar name="1">{{Status updates|2025-12-18}}</tvar>: We wish you a happy new Gregorian year!</translate> * <translate><!--T:100--> <tvar name="1">{{Status updates|2025-12-11}}</tvar>: How to write better error messages</translate> * <translate><!--T:99--> <tvar name="1">{{Status updates|2025-12-04}}</tvar>: And the name is Abstract Wikipedia</translate> * <translate><!--T:98--> <tvar name="1">{{Status updates|2025-11-27}}</tvar>: Vote on the new wiki name!; Finishing each other’s sentences</translate> * <translate><!--T:97--> <tvar name="1">{{Status updates|2025-11-20}}</tvar>: Second round of voting for naming the wiki with language-independent content; Sharing function calls</translate> * <translate><!--T:96--> <tvar name="1">{{Status updates|2025-11-13}}</tvar>: Getting ready for second round of voting for naming the wiki with abstract content; Rewriting the backend: Why Rust?</translate> * <translate><!--T:95--> <tvar name="1">{{Status updates|2025-11-05}}</tvar>: First round of voting for naming the wiki for abstract content closed; Calling for Wiktionary functions; Embedded Wikifunctions on Bengali Wikipedia and seven more Wiktionaries</translate> * <translate><!--T:94--> <tvar name="1">{{Status updates|2025-10-29}}</tvar>: Round 1 of “abstract content wiki” naming vote ending Monday; An example of short descriptions</translate> * <translate><!--T:93--> <tvar name="1">{{Status updates|2025-10-23}}</tvar>: Welcome Zaree and Laura! Naming contest round 1 kicked off</translate> * <translate><!--T:92--> <tvar name="1">{{Status updates|2025-10-15}}</tvar>: Kicking Off the Naming Contest for Abstract Wikipedia; Visualizing functions</translate> * <translate><!--T:91--> <tvar name="1">{{Status updates|2025-10-08}}</tvar>: Decision on location for abstract content and Quarterly Planning for October–December</translate> * <translate><!--T:90--> <tvar name="1">{{Status updates|2025-10-03}}</tvar>: Rich text now available in embedded function calls on 148 Wiktionaries and Incubator</translate> * <translate><!--T:89--> <tvar name="1">{{Status updates|2025-09-26}}</tvar>: Accessing qualifiers in Wikidata statements</translate> * <translate><!--T:88--> <tvar name="1">{{Status updates|2025-09-19}}</tvar>: Wikifunctions available on 123 Wiktionary languages</translate> * <translate><!--T:87--> <tvar name="1">{{Status updates|2025-09-12}}</tvar>: More than 3,000 functions on Wikifunctions</translate> * <translate><!--T:86--> <tvar name="1">{{Status updates|2025-09-07}}</tvar>: Copying function calls from one Wikipedia to another</translate> * <translate><!--T:85--> <tvar name="1">{{Status updates|2025-08-29}}</tvar>: Accessing Wikidata items now possible from embedded function calls; Wikifunctions available on 65 Wikitionaries</translate> * <translate><!--T:84--> <tvar name="1">{{Status updates|2025-08-22}}</tvar>: Recording of Wikimania session: Wikifunctions is coming soon to a wiki near you!</translate> * <translate><!--T:83--> <tvar name="1">{{Status updates|2025-08-01}}</tvar>: Wikimania 2025 is coming soon!</translate> * <translate><!--T:82--> <tvar name="1">{{Status updates|2025-07-26}}</tvar>: “Wikipedia is an encyclopedia”; Two years of Wikifunctions</translate> * <translate><!--T:81--> <tvar name="1">{{Status updates|2025-07-19}}</tvar>: Wikidata-based enumerations are here</translate> * <translate><!--T:80--> <tvar name="1">{{Status updates|2025-07-10}}</tvar>: Length limits on labels and descriptions</translate> * <translate><!--T:79--> <tvar name="1">{{Status updates|2025-07-04}}</tvar>: Coverage of 1298</translate> * <translate><!--T:78--> <tvar name="1">{{Status updates|2025-06-27}}</tvar>: How many people are needed to write an encyclopedia?</translate> * <translate><!--T:76--> <tvar name="1">{{Status updates|2025-06-21}}</tvar>: Quarterly Planning for July–September 2025</translate> * <translate><!--T:77--> <tvar name="1">{{Status updates|2025-06-15}}</tvar>: Closing the consultation about the location of Abstract Content</translate> * <translate><!--T:75--> <tvar name="1">{{Status updates|2025-06-06}}</tvar>: Where will Abstract Content go?</translate> * <translate><!--T:74--> <tvar name="1">{{Status updates|2025-05-29}}</tvar>: Rolling out to five Wiktionaries; Calculating with today's date</translate> * <translate><!--T:73--> <tvar name="1">{{Status updates|2025-05-23}}</tvar>: Ongoing consultation about the Location for Abstract Content</translate> * <translate><!--T:72--> <tvar name="1">{{Status updates|2025-05-15}}</tvar>: Location of Abstract Content</translate> * <translate><!--T:71--> <tvar name="1">{{Status updates|2025-05-09}}</tvar>: Abstract Wikipedia and the Wikimedia AI Strategy</translate> * <translate><!--T:70--> <tvar name="1">{{Status updates|2025-04-30}}</tvar>: Abstract Wikipedia is a MacArthur 100&Change finalist</translate> * <translate><!--T:69--> <tvar name="1">{{Status updates|2025-04-25}}</tvar>: Welcome, Gregory!</translate> * <translate><!--T:68--> <tvar name="1">{{Status updates|2025-04-16}}</tvar>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</translate> * <translate><!--T:67--> <tvar name="1">{{Status updates|2025-04-11}}</tvar>: Quarter in review</translate> * <translate><!--T:65--> <tvar name="1">{{Status updates|2025-04-05}}</tvar>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</translate> * <translate><!--T:66--> <tvar name="1">{{Status updates|2025-03-28}}</tvar>: It's about time</translate> * <translate><!--T:64--> <tvar name="1">{{Status updates|2025-03-20}}</tvar>: Wikidata-based simple enumerations</translate> * <translate><!--T:63--> <tvar name="1">{{Status updates|2025-03-15}}</tvar>: Upcoming NLG meeting, Recent Changes in the software</translate> * <translate><!--T:62--> <tvar name="1">{{Status updates|2025-03-07}}</tvar>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</translate> * <translate><!--T:61--> <tvar name="1">{{Status updates|2025-02-26}}</tvar>: From things to words</translate> * <translate><!--T:60--> <tvar name="1">{{Status updates|2025-02-19}}</tvar>: A proposal for types per language and part of speech</translate> * <translate><!--T:59--> <tvar name="1">{{Status updates|2025-02-13}}</tvar>: Restricting the World, redux</translate> * <translate><!--T:58--> <tvar name="1">{{Status updates|2025-02-06}}</tvar>: Invitation to the Natural Language Generation Special Interest Group</translate> * <translate><!--T:57--> <tvar name="1">{{Status updates|2025-01-29}}</tvar>: With 2000 Functions into the new year: time for stats</translate> * <translate><!--T:56--> <tvar name="1">{{Status updates|2025-01-22}}</tvar>: Welcome, David! Naming conventions recommendations</translate> * <translate><!--T:55--> <tvar name="1">{{Status updates|2025-01-15}}</tvar>: Happy Wikipedia day! Quarterly planning</translate> === 2024 === * <translate><!--T:54--> <tvar name="1">{{Status updates|2024-12-19}}</tvar>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</translate> * <translate><!--T:53--> <tvar name="1">{{Status updates|2024-12-12}}</tvar>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</translate> * <translate><!--T:52--> <tvar name="1">{{Status updates|2024-11-27}}</tvar>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</translate> * <translate><!--T:51--> <tvar name="1">{{Status updates|2024-11-21}}</tvar>: New special page for missing labels, new type for Gregorian years, and much more</translate> * <translate><!--T:50--> <tvar name="1">{{Status updates|2024-11-13}}</tvar>: New Type: Rational number; Documentation on Wikidata-based types; and more</translate> * <translate><!--T:48--> <tvar name="1">{{Status updates|2024-11-07}}</tvar>: The Dream of a Universal Language</translate> * <translate><!--T:49--> <tvar name="1">{{Status updates|2024-11-01}}</tvar>: Rewriting the backend</translate> * <translate><!--T:47--> <tvar name="1">{{Status updates|2024-10-25}}</tvar>: Our goal for this Quarter: Agreement</translate> * <translate><!--T:45--> <tvar name="1">{{Status updates|2024-10-17}}</tvar>: What could abstract content look like?</translate> * <translate><!--T:46--> <tvar name="1">{{Status updates|2024-10-11}}</tvar>: Wikidata Lexemes in Wikifunctions are coming soon</translate> * <translate><!--T:44--> <tvar name="1">{{Status updates|2024-10-02}}</tvar>: Focus topic: Food</translate> * <translate><!--T:43--> <tvar name="1">{{Status updates|2024-09-26}}</tvar>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</translate> * <translate><!--T:42--> <tvar name="1">{{Status updates|2024-09-20}}</tvar>: Introducing focus topic areas</translate> * <translate><!--T:41--> <tvar name="1">{{Status updates|2024-09-13}}</tvar>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</translate> * <translate><!--T:40--> <tvar name="1">{{Status updates|2024-09-06}}</tvar>: Volunteer's corner and other updates</translate> * <translate><!--T:39--> <tvar name="1">{{Status updates|2024-08-29}}</tvar>: Limits on Name and Description Lengths</translate> * <translate><!--T:38--> <tvar name="1">{{Status updates|2024-08-23}}</tvar>: WasmEdge, Now 300ms Less Edgy</translate> * <translate><!--T:37--> <tvar name="1">{{Status updates|2024-08-16}}</tvar>: Wikimania 2024 edition</translate> * <translate><!--T:36--> <tvar name="1">{{Status updates|2024-08-02}}</tvar>: Revamping our 'About' widget</translate> * <translate><!--T:35--> <tvar name="1">{{Status updates|2024-07-26}}</tvar>: Wikimania 2024 coming soon!</translate> * <translate><!--T:34--> <tvar name="1">{{Status updates|2024-07-18}}</tvar>: Research report on integrating Wikifunctions from Wikipedia</translate> * <translate><!--T:33--> <tvar name="1">{{Status updates|2024-07-10}}</tvar>: Type proposals for accessing Lexemes</translate> * <translate><!--T:32--> <tvar name="1">{{Status updates|2024-07-03}}</tvar>: Quarterly planning</translate> * <translate><!--T:31--> <tvar name="1">{{Status updates|2024-06-26}}</tvar>: Welcome, Daphne!</translate> * <translate><!--T:30--> <tvar name="1">{{Status updates|2024-06-20}}</tvar>: New Type: Integers</translate> * <translate><!--T:29--> <tvar name="1">{{Status updates|2024-06-13}}</tvar>: New Type: Igbo calendar months</translate> * <translate><!--T:27--> <tvar name="1">{{Status updates|2024-06-06}}</tvar>: New Type: Sign</translate> * <translate><!--T:26--> <tvar name="1">{{Status updates|2024-05-30}}</tvar>: A single singular or a plurality of plurals?</translate> * <translate><!--T:25--> <tvar name="1">{{Status updates|2024-05-22}}</tvar>: New Type: Gregorian calendar months</translate> * <translate><!--T:24--> <tvar name="1">{{Status updates|2024-05-15}}</tvar>: Call for Functions: Spell out the number!</translate> * <translate><!--T:23--> <tvar name="1">{{Status updates|2024-05-10}}</tvar>: Flagship type for enumerations: Months of the Gregorian calendar</translate> * <translate><!--T:22--> <tvar name="1">{{Status updates|2024-05-03}}</tvar>: Team meeting and Quarterly plan</translate> * <translate><!--T:21--> <tvar name="1">{{Status updates|2024-04-19}}</tvar>: Welcome, Sharvani!</translate> * <translate><!--T:20--> <tvar name="1">{{Status updates|2024-04-11}}</tvar>: New API for calling Wikifunctions and celebrating 1000 functions</translate> * <translate><!--T:19--> <tvar name="1">{{Status updates|2024-04-03}}</tvar>: Product Update on Diff and Upcoming API Improvements</translate> * <translate><!--T:18--> <tvar name="1">{{Status updates|2024-03-28}}</tvar>: Creating tests is now much easier!</translate> * <translate><!--T:17--> <tvar name="1">{{Status updates|2024-03-21}}</tvar>: On the way to internationalizing numbers</translate> * <translate><!--T:16--> <tvar name="1">{{Status updates|2024-03-13}}</tvar>: On identity</translate> * <translate><!--T:15--> <tvar name="1">{{Status updates|2024-03-07}}</tvar>: Introducing our second new type: Natural numbers</translate> * <translate><!--T:14--> <tvar name="1">{{Status updates|2024-02-28}}</tvar>: Type proposal for natural numbers</translate> * <translate><!--T:13--> <tvar name="1">{{Status updates|2024-02-22}}</tvar>: Updating the function model</translate> * <translate><!--T:12--> <tvar name="1">{{Status updates|2024-02-14}}</tvar>: Fix-it week</translate> * <translate><!--T:11--> <tvar name="1">{{Status updates|2024-02-07}}</tvar>: Quarterly planning. Thank you, Nick! Function of the Week: is permutation</translate> * <translate><!--T:9--> <tvar name="1">{{Status updates|2024-02-01}}</tvar>: The Igbo Imperative!</translate> <translate> === Before February 2024 === <!--T:7--> <!--T:10--> All updates from this period are [[<tvar name="meta">:m:Special:MyLanguage/Abstract Wikipedia/Updates</tvar>|available on Meta-Wiki]]. </translate> [[Category:Status updates{{#translation:}}| ]] 99de7glkgcfwm1wmlbac8jcy4tgdvcw Wikifunctions:Human languages 4 23704 273289 272391 2026-05-08T18:20:31Z Waldyrious 801 +kea 273289 wikitext text/x-wiki <languages/> {{draft}} <translate> <!--T:1--> Supported by the Natural Language Generation Special Interest Group; see also <tvar name="1">{{ll|WF:PROG}}</tvar> and <tvar name="2">{{ll|WF:Catalogue/Natural language operations}}</tvar>. Many of these are morphological functions; morphology is the part of linguistics that studies how language parts are 'shaped' and change diachronically and when inflected. Hausa, Igbo, Malayalam, Bangla/Bengali and Dagbani are [[d:Wikidata:Lexicographical data/Focus languages|focus languages]] for Wikidata's lexicographic dataset, which is an important aspect of [[WF:glossary#Abstract Wikipedia|Abstract Wikipedia]]. == Related pages == <!--T:121--> </translate> * <translate><!--T:122--> <tvar name="1">[[:Category:Natural languages]]</tvar> — List of categories for languages</translate> * <translate><!--T:123--> <tvar name="1">{{ll|Wikifunctions:Catalogue/Natural language operations}}</tvar> — Lists of natural language functions</translate> * <translate><!--T:124--> <tvar name="1">{{ll|Wikifunctions:NLG functions}}</tvar> — A table of each supported language's NLG functions</translate> ** <translate><!--T:125--> <tvar name="1">{{ll|Wikifunctions:Cardinal numbers}}</tvar> — List of each language's cardinal number functions</translate> * <translate><!--T:126--> <tvar name="1">{{ll|Wikifunctions:Reserved ZIDs/all#Z1000-Z1999}}</tvar> — List of all languages in ZObject order</translate> <translate> == Afroasiatic == <!--T:38--> </translate> * {{z+|Z1472}} (zgh) — [[/Z1472]] * {{z+|Z1013}} (ha) — [[/Z1013]] * <translate><!--T:127--> Semitic</translate> ** <translate><!--T:128--> Arabic</translate> *** {{z+|Z1001}} (ar) — [[/Z1001]] *** {{z+|Z1045}} (ary) — [[/Z1045]] *** {{z+|Z1582}} (aeb) — [[/Z1582]] ** {{z+|Z1186}} (he) — [[/Z1186]] <translate> == Austroasiatic == <!--T:69--> </translate> * {{z+|Z1048}} (vi) — [[/Z1048]] * (<translate><!--T:129--> Mundari, no code yet</translate>) (unr) <translate> == Austronesian == <!--T:70--> </translate> * <translate><!--T:130--> Malayic</translate> ** {{z+|Z1531}} (ms) — [[/Z1531]] *** {{z+|Z1434}} (ms-arab) — [[/Z1434]] ** {{z+|Z1078}} (id) — [[/Z1078]] * {{z+|Z1471}} (su) — [[/Z1471]] <translate> == Constructed == <!--T:131--> </translate> * {{z+|Z1882}} (ldn) — [[/Z1882]] * {{z+|Z1576}} (eo) — [[/Z1576]] * {{z+|Z1534}} (tlh) — [[/Z1534]] * {{z+|Z1762}} (tok) — [[/Z1762]] <translate> == Dravidian == <!--T:132--> </translate> * {{z+|Z1293}} (brh) — [[/Z1293]] * <translate><!--T:133--> South</translate> ** {{z+|Z1012}} (ml) — [[/Z1012]] ** {{z+|Z1429}} (te) — [[/Z1429]] <translate> == Indo-European == <!--T:80--> </translate> * {{z+|Z1541}} (hy) — [[/Z1541]] * <translate><!--T:134--> Balto-Slavic</translate> ** {{z+|Z1709}} (lv) — [[/Z1709]] ** <translate><!--T:135--> Slavic</translate> *** <translate><!--T:136--> East Slavic</translate> **** {{z+|Z1005}} (ru) — [[/Z1005]] **** {{z+|Z1332}} (uk) — [[/Z1332]] **** {{z+|Z1622}} (by) — [[/Z1622]] *** <translate><!--T:137--> West Slavic</translate> **** {{z+|Z1062}} (cs) — [[/Z1062]] **** {{z+|Z1025}} (pl) — [[/Z1025]] **** {{z+|Z1488}} (sk) — [[/Z1488]] *** <translate><!--T:138--> South Slavic</translate> **** {{z+|Z1823}} (bg) — [[/Z1823]] **** {{z+|Z1105}} (cu) — [[/Z1105]] **** {{z+|Z1412}} (sh) — [[/Z1412]] ***** {{z+|Z1473}} (bs) — [[/Z1473]] ***** {{z+|Z1272}} (hr) — [[/Z1272]] ***** {{z+|Z1498}} (cnr) — [[/Z1498]] ***** {{z+|Z1158}} (sr) — [[/Z1158]] **** {{z+|Z1616}} (sl) — [[/Z1616]] * <translate><!--T:139--> Celtic</translate> ** {{z+|Z1282}} (br) — [[/Z1282]] ** {{z+|Z1024}} (cy) — [[/Z1024]] ** {{z+|Z1339}} (gd) — [[/Z1282]] * <translate><!--T:140--> Germanic</translate> ** <translate><!--T:141--> North Germanic</translate> *** <translate><!--T:142--> East Scandinavian</translate> **** {{z+|Z1061}} (dk) — [[/Z1061]] **** {{z+|Z1592}} (sv) — [[/Z1592]] *** {{z+|Z1021}} (no) — [[/Z1592]] ** <translate><!--T:143--> West Germanic</translate> *** <translate><!--T:144--> North Sea</translate> **** {{z+|Z1002}} (en) — [[/Z1002]] ***** <translate><!--T:145--> North American</translate> ****** {{z+|Z1689}} (en-US) — [[/Z1689]] ****** {{z+|Z1437}} (en-CA) — [[/Z1437]] ***** {{z+|Z1113}} (en-AU) — [[/Z1113]] ***** {{z+|Z1199}} (en-GB) — [[/Z1199]] ***** {{z+|Z1966}} (en-IN) — [[/Z1966]] ***** {{z+|Z1881}} (en-x-piglatin) — [[/Z1881]] ***** {{z+|Z1124}} (en-x-simple) — [[/Z1124]] **** {{z+|Z1146}} (nds) — [[/Z1146]] *** <translate><!--T:146--> High German</translate> **** {{z+|Z1099}} (lb) — [[/Z1099]] **** {{z+|Z1430}} (de) — [[/Z1430]] *** {{z+|Z1157}} (nl) — [[/Z1157]] * {{z+|Z1827}} (el) — [[/Z1827]] * <translate><!--T:147--> Indo-Iranian</translate> ** <translate><!--T:148--> Indo-Aryan</translate> *** <translate><!--T:149--> Hindustani</translate> **** {{z+|Z1820}} (hi) — [[/Z1820]] **** {{z+|Z1717}} (ur) — [[/Z1717]] *** <translate><!--T:150--> Northwestern</translate> **** <translate><!--T:151--> Punjabic</translate> ***** {{z+|Z1657}} (pa) — [[/Z1657]] ***** {{z+|Z1083}} (pnb) — [[/Z1083]] **** {{z+|Z1191}} (sd) — [[/Z1191]] *** <translate><!--T:152--> Eastern</translate> **** {{z+|Z1011}} (bn) — [[/Z1011]] **** <translate><!--T:153--> Rohingya</translate> (rhg) ***** {{z+|Z1978}} (rhg-rohg) — [[/Z1978]] ***** {{z+|Z1979}} (rhb-arab) — [[/Z1979]] ** <translate><!--T:154--> Iranian</translate> *** <translate><!--T:155--> Northwestern</translate> **** {{z+|Z1747}} (bal) — [[/Z1747]] **** {{z+|Z1556}} (ku) — [[/Z1556]] ***** {{z+|Z1288}} (ckb) — [[/Z1288]] *** {{z+|Z1728}} (fa) — [[/Z1728]] **** {{z+|Z1207}} (tg) — [[/Z1207]] **** {{z+|Z1265}} (fa-AF / prs) — [[/Z1265]] **** {{z+|Z1277}} (jpr) — [[/Z1277]] * <translate><!--T:156--> Italic</translate> ** {{z+|Z1403}} (la) — [[/Z1403]] ** <translate><!--T:157--> Romance</translate> *** <translate><!--T:158--> Continental Romance</translate> **** <translate><!--T:159--> Western Romance</translate> ***** <translate><!--T:160--> Ibero-Romance</translate> ****** {{z+|Z1037}} (pt) — [[/Z1037]] ******* {{z+|Z1381}} (pt-BR) — [[/Z1381]] ****** {{z+|Z1003}} (es) — [[/Z1003]] ***** <translate><!--T:161--> Occitano-Romance</translate> ****** {{z+|Z1789}} (ca) — [[/Z1789]] ***** <translate><!--T:162--> North Gallo-Romance</translate> ****** {{z+|Z1004}} (fr) — [[/Z1004]] ***** <translate><!--T:163--> North Italian</translate> ****** {{Z+|Z1363}} (vec) — [[/Z1363]] ****** {{z+|Z1483}} (lad) — [[/Z1483]] **** <translate><!--T:164--> South Romance</translate> ***** {{z+|Z1787}} (it) — [[/Z1787]] ***** {{z+|Z1329}} (co) — [[/Z1329]] ***** {{z+|Z1082}} (sdc) — [[/Z1082]] ***** {{z+|Z1491}} (nap) — [[/Z1491]] ***** {{z+|Z1298}} (scn) — [[/Z1298]] **** <translate><!--T:165--> Balkan romance</translate> ***** {{z+|Z1664}} (ro) — [[/Z1664]] *** <translate><!--T:166--> Island Romance</translate> **** {{z+|Z1342}} (sc) — [[/Z1342]] <translate> == Kra-Dai == <!--T:110--> </translate> * {{z+|Z1851}} (th) — [[/Z1851]] <translate> == Niger-Congo == <!--T:167--> </translate> * <translate><!--T:168--> Atlantic-Congo</translate> ** {{z+|Z1015}} (dag) — [[/Z1015]] ** <translate><!--T:169--> Volta-Congo</translate> *** <translate><!--T:170--> Volta-Niger</translate> **** {{z+|Z1014}} (ig) — [[/Z1014]] **** {{z+|Z1818}} (ya) — [[/Z1818]] *** {{z+|Z1179}} (kcg) — [[/Z1179]] <translate> == Mixed and creoles == <!--T:171--> <!--T:172--> These languages are sorted under the language it is primarily based on. </translate> * {{Z|Z1531}} ** {{z+|Z1630}} (bew) — [[/Z1630]] * {{Z|Z1037}} ** {{z+|Z1806}} (kea) — [[/Z1806]] <translate> == Sign == <!--T:173--> </translate> * {{z+|Z1763}} (ase) — [[/Z1763]] * {{z+|Z1907}} (bzs) - [[/Z1907]] * {{z+|Z}}{{q|2107617}} (vgt) - [[/vgt]] <translate> == Sino-Tibetan == <!--T:109--> </translate> * {{z+|Z1147}} (dz) — [[/Z1147]] * <translate><!--T:174--> Sinitic</translate> ** {{z+|Z1006}} (zh) — [[/Z1006]] *** {{z+|Z1645}} (zh-hans) — [[/Z1645]] **** {{z+|Z1411}} (zh-CN) — [[/Z1411]] *** {{z+|Z1672}} (zh-hant) — [[/Z1672]] **** {{z+|Z1589}} (zh-HK) — [[/Z1589]] ** {{z+|Z1202}} (zh-yue) — [[/Z1202]] *** {{z+|Z1901}} (yue-hans) — [[/Z1901]] *** {{z+|Z1902}} (yue-hant) — [[/Z1902]] <translate> == Turkic == <!--T:112--> </translate> * <translate><!--T:175--> Oghuz</translate> ** {{z+|Z1237}} (tr) — [[/Z1237]] ** {{z+|Z1597}} (az) — [[/Z1597]] * {{z+|Z1120}} (uz) — [[/Z1120]] <translate> == Uralic == <!--T:113--> </translate> * {{z+|Z1051}} (fi) — [[/Z1051]] * {{z+|Z1513}} (hu) — [[/Z1513]] <translate> == Isolates and smaller families == <!--T:176--> </translate> * {{z+|Z1314}} (eu) — [[/Z1314]] * {{z+|Z1830}} (ja) — [[/Z1830]] ** {{z+|Z1444}} (ja-hkrt) — [[/Z1444]] ** <translate><!--T:178--> Japanese rōmaji, no ZObject</translate> (ja-latn) * {{z+|Z1643}} (ko) — [[/Z1643]] * {{z+|Z1678}} (qu) — [[/Z1678]] <translate> == Other == <!--T:177--> </translate> * {{z+|Z1360}} (mul) — [[/Z1360]] [[Category:Natural languages| mul]] [[Category:WikiProjects]] crrngo76ekkt21r5wzpsz1oqtsouplk Z13445 0 24371 273480 273074 2026-05-09T08:49:18Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 273480 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z13445" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z40" }, "Z17K2": "Z13445K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "input list" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Eingabeliste" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "তালিকা" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "olami omune (akaji)" }, { "Z1K1": "Z11", "Z11K1": "Z1015", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "akojọ titẹ sii" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "liste d'entrée" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Boolean" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "lista introdusă" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z13448", "Z13449", "Z13450", "Z15597", "Z13458" ], "Z8K4": [ "Z14", "Z19139", "Z13451", "Z17078", "Z13446", "Z15623" ], "Z8K5": "Z13445" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "are all false" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "sind alle falsch" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "সব মিথ্যা" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "ogbo du wu cha ka cho lam" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Ha niile a bụ ụgha" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Doka karya ne" }, { "Z1K1": "Z11", "Z11K1": "Z1015", "Z11K2": "di zaa pa yɛlmaŋli " }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "iro ni gbogbo wa" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "est-ce que c'est vrai" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "Ba za'a dela pumporeŋɔ" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "sunt toate false" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "not any", "not any are true", "all are false", "false list", "list of false values?", "none" ] }, { "Z1K1": "Z31", "Z31K1": "Z1430", "Z31K2": [ "Z6", "keine", "keine wahr", "alle falsch", "Liste falsch", "Liste falscher Werte?" ] }, { "Z1K1": "Z31", "Z31K1": "Z1664", "Z31K2": [ "Z6", "niciunul", "toate sunt false", "listă falsă", "listă de falsuri" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns true if every list item is false" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "prüft, ob alle Elemente einer Liste falsch sind" }, { "Z1K1": "Z11", "Z11K1": "Z1011", "Z11K2": "আউটপুট হবে সত্য যদি তালিকার সকল উপাদানের মান হয় মিথ্যা" }, { "Z1K1": "Z11", "Z11K1": "Z1852", "Z11K2": "ya da bi wa ogecha chewu aku ma ko tane cho lami" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Na-alaghachi ezi okwu ma ọ bụrụ na ihe ndepụta ọ bụla bụ ụgha" }, { "Z1K1": "Z11", "Z11K1": "Z1013", "Z11K2": "Koma idan doka a wurin karya ne" }, { "Z1K1": "Z11", "Z11K1": "Z1015", "Z11K2": "labisi mi yɛlmaŋli di yi niŋ ka kalinli maa pa yɛlmaŋli " }, { "Z1K1": "Z11", "Z11K1": "Z1818", "Z11K2": "pada otitọ ti gbogbo ohun akojọ jẹ eke" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie vrai si chaque élément de la liste est faux" }, { "Z1K1": "Z11", "Z11K1": "Z1680", "Z11K2": "lebese yelemeŋerɛ la san dɛna tii sɛla woo to fu gulesɛ biŋɛ la san dɛna pumporeŋɔ" }, { "Z1K1": "Z11", "Z11K1": "Z1664", "Z11K2": "returnează adevărat dacă fiecare element al listei este fals" } ] } } q5xg52by77oifgpcwc12ua7txdsilmp Z13464 0 24433 273257 267727 2026-05-08T15:12:48Z YoshiRulz 10156 Added Z34975 to the approved list of test cases 273257 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z13464" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z8", "Z17K2": "Z13464K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "function to apply" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "anzuwendende Funktion" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "aplikovaná funkce" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z1", "Z17K2": "Z13464K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of first arguments" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Liste des ersten Arguments" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "seznam hodnot prvního argumentu" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z1", "Z17K2": "Z13464K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "common second argument" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "zweites Argument" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "společný druhý argument" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z13465", "Z31256", "Z33120", "Z33903", "Z34975" ], "Z8K4": [ "Z14", "Z13466", "Z31249" ], "Z8K5": "Z13464" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "apply a two-parameter function to a list of first arguments and a common second argument" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "tinye ọrụ paramita abụọ na ndepụta nke arụmụka mbụ na arụmụka nke abụọ nkịtị" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Funktion mit zwei Parametern auf Liste anwenden" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "aplikovat 2-funkci na seznam a fixní druhý arg" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "apply2 list scalar", "apply a two parameter function to a list of first arguments and a common second argument", "map function to list with argument", "map2" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns a list of results" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "weghachi ndepụta nke rịzọlt" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "gibt eine Liste der Ergebnisse aus" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "Aplikuje funkci se dvěma argumenty, přičemž pro první parametr bere hodnoty dodaného seznamu, druhý parametr je dodaný fixní. Vrátí seznam výsledků těchto volání." } ] } } hreasbezw1bcbkf2yq5rzjqfnqbsxxz 273258 273257 2026-05-08T15:12:50Z YoshiRulz 10156 Removed Z13466 from the approved list of implementations 273258 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z13464" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z8", "Z17K2": "Z13464K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "function to apply" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "anzuwendende Funktion" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "aplikovaná funkce" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z1", "Z17K2": "Z13464K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of first arguments" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Liste des ersten Arguments" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "seznam hodnot prvního argumentu" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z1", "Z17K2": "Z13464K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "common second argument" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "zweites Argument" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "společný druhý argument" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z13465", "Z31256", "Z33120", "Z33903", "Z34975" ], "Z8K4": [ "Z14", "Z31249" ], "Z8K5": "Z13464" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "apply a two-parameter function to a list of first arguments and a common second argument" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "tinye ọrụ paramita abụọ na ndepụta nke arụmụka mbụ na arụmụka nke abụọ nkịtị" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Funktion mit zwei Parametern auf Liste anwenden" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "aplikovat 2-funkci na seznam a fixní druhý arg" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "apply2 list scalar", "apply a two parameter function to a list of first arguments and a common second argument", "map function to list with argument", "map2" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns a list of results" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "weghachi ndepụta nke rịzọlt" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "gibt eine Liste der Ergebnisse aus" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "Aplikuje funkci se dvěma argumenty, přičemž pro první parametr bere hodnoty dodaného seznamu, druhý parametr je dodaný fixní. Vrátí seznam výsledků těchto volání." } ] } } pjq4s8ho3y5afkwqps87659u472epc4 273259 273258 2026-05-08T15:15:59Z YoshiRulz 10156 Added Z13466 to the approved list of implementations 273259 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z13464" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z8", "Z17K2": "Z13464K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "function to apply" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "anzuwendende Funktion" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "aplikovaná funkce" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z1", "Z17K2": "Z13464K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of first arguments" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Liste des ersten Arguments" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "seznam hodnot prvního argumentu" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z1", "Z17K2": "Z13464K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "common second argument" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "zweites Argument" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "společný druhý argument" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z13465", "Z31256", "Z33120", "Z33903", "Z34975" ], "Z8K4": [ "Z14", "Z31249", "Z13466" ], "Z8K5": "Z13464" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "apply a two-parameter function to a list of first arguments and a common second argument" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "tinye ọrụ paramita abụọ na ndepụta nke arụmụka mbụ na arụmụka nke abụọ nkịtị" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Funktion mit zwei Parametern auf Liste anwenden" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "aplikovat 2-funkci na seznam a fixní druhý arg" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "apply2 list scalar", "apply a two parameter function to a list of first arguments and a common second argument", "map function to list with argument", "map2" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns a list of results" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "weghachi ndepụta nke rịzọlt" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "gibt eine Liste der Ergebnisse aus" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "Aplikuje funkci se dvěma argumenty, přičemž pro první parametr bere hodnoty dodaného seznamu, druhý parametr je dodaný fixní. Vrátí seznam výsledků těchto volání." } ] } } c6gkp03xpimbz3tk598shsgi91nqduf Z18821 0 37937 273332 124451 2026-05-08T19:46:26Z Ameisenigel 44 de 273332 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18821" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z18140", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z18140", "Z18140K1": "большевики" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "болшевикӣ" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1207", "Z11K2": "большевики \u003E болшевикӣ" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "большевики → болшевикӣ" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } msbbt6r1ea5ns2373gli4ur2thhmc5u Z18822 0 37938 273333 124452 2026-05-08T19:46:59Z Ameisenigel 44 de 273333 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18822" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z18140", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z18140", "Z18140K1": "борщ" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "боршч" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1207", "Z11K2": "борщ \u003E боршч" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "борщ → боршч" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8om63nicall640tgjrfuelyrnf4e00n Z18823 0 37939 273334 124453 2026-05-08T19:47:30Z Ameisenigel 44 de 273334 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18823" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z18140", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z18140", "Z18140K1": "Щорс" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "Шчорс" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1207", "Z11K2": "Щорс \u003E Шчорс" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Щорс → Шчорс" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } b58ijnfowwj23vehaj0yzwdsqrlxvd9 Z18824 0 37940 273335 124454 2026-05-08T19:48:09Z Ameisenigel 44 de 273335 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18824" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z18140", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z18140", "Z18140K1": "селезень" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "селезен" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1207", "Z11K2": "селезень \u003E селезен" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "селезень → селезен" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } kdao023f1o15wz4rjz0ddfv3y0edtml Z18825 0 37944 273336 267312 2026-05-08T19:48:33Z Ameisenigel 44 de 273336 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18825" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z18784", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z600", "Z16K2": "function Z18784( Z18784K1 ) {\n let languageName = Z18784K1;\n\n if ( languageName.length === 0 ) {\n return '';\n }\n\n let commonPrefix = 'по-';\n let genericPrefix = 'на языке ';\n\n if ( languageName.length \u003E 6 \u0026\u0026 languageName.endsWith( 'кий' ) ) {\n return commonPrefix + languageName.slice( 0, -1 );\n }\n\n let specialCases = {\n 'иврит': 'на иврите',\n 'идиш': 'на идише',\n 'коми': 'на коми'\n };\n\n if ( specialCases.hasOwnProperty( languageName ) ) {\n return specialCases[languageName];\n }\n\n return genericPrefix + languageName;\n}" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1186", "Z11K2": "מימוש JavaScript לתואר פועל ברוסית שמתאר שפה" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "русское наречие по названию языка на JavaScript" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language name in Russian to an adverb in JS" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Russischer Sprachenname in Adverb in JavaScript" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } il0vwgii7c6tvrwq2ztxlmlban8gqbz Z18826 0 37946 273337 141339 2026-05-08T19:49:39Z Ameisenigel 44 de 273337 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18826" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z16098", "Z17K2": "Z18826K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1314", "Z11K2": "hilabetea" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "month" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "ọnwa: Ọnwa kalenda Gregorian" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Monat" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z18829" ], "Z8K4": [ "Z14", "Z18827" ], "Z8K5": "Z18826" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Basque month name from month number" }, { "Z1K1": "Z11", "Z11K1": "Z1314", "Z11K2": "Euskarazko hilabete izena hilabete zenbakitik" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "Aha ọnwa Basque site na nọmba ọnwa" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Baskischer Monatsname aus Monatszahl" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "transforms a natural number (1-12) to the name of the month in Basque language" }, { "Z1K1": "Z11", "Z11K1": "Z1314", "Z11K2": "zenbaki bat (1-12) bihurtzen du dagokion euskarazko hilabete izenean" }, { "Z1K1": "Z11", "Z11K1": "Z1014", "Z11K2": "na-agbanwe nọmba eke (1-12) ka ọ bụrụ aha ọnwa na asụsụ Basque" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "wandelt eine natürliche Zahl in den Namen des entsprechenden Monats in Baskisch um" } ] } } d3x14531vtvycn7kftislgawca9ioli Z18827 0 37947 273338 138858 2026-05-08T19:50:01Z Ameisenigel 44 de 273338 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18827" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z18826", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z18826(Z18826K1):\n month_dict = {\n 1: 'Urtarrila',\n 2: 'Otsaila',\n 3: 'Martxoa',\n 4: 'Apirila',\n 5: 'Maiatza',\n 6: 'Ekaina',\n 7: 'Uztaila',\n 8: 'Abuztua',\n 9: 'Iraila',\n 10: 'Urria',\n 11: 'Azaroa',\n 12: 'Abendua'\n }\n return month_dict.get(Z18826K1, \"\")" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Basque month name from month number, python" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Baskischer Monatsname aus Monatszahl in Python" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } c2oq8wftsvwmqba570ib89c601rftq5 Z18828 0 37948 273339 247350 2026-05-08T19:52:20Z Ameisenigel 44 de 273339 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18828" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z18828K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Balochi Latin (Jahani 2019)" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Belutschisches Latein" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z18835", "Z18836", "Z18838", "Z18841", "Z18843", "Z18844" ], "Z8K4": [ "Z14", "Z18830" ], "Z8K5": "Z18828" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Balochi Latin (Jahani 2019) to Tajik Latin" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Belutschisches Latein in Tadschikisches Latein" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "bal-latn to tg-latn" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "convert Balochi representation in Jahani (2019) Latin orthography to Soviet Tajik Latin" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "wandelt die belutschische Darstellung in Latein in tadschikisches Latein um" } ] } } 5jxfidjuulr7jaa1zvskhwtxm49xq0i Z18829 0 37949 273340 138855 2026-05-08T19:52:47Z Ameisenigel 44 de 273340 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18829" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z18826", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z18826", "Z18826K1": "Z16101" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z866", "Z866K2": "Urtarrila" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "January becomes Urtarrila" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Januar ist Urtarrila" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ojuslmxecovnl8stla7r1hbynfwdvbu Z18830 0 37950 273341 124535 2026-05-08T19:53:27Z Ameisenigel 44 de 273341 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z18830" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z18828", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z18828(Z18828K1):\n\timport re\n\tBALTG_DICT = {'Ch': 'C', 'ch': 'c', 'Dh': 'D', 'dh': 'd', 'Gh': 'Ƣ', 'gh': 'ƣ',\n\t'rh': 'r', 'Sh': 'Ş', 'sh': 'ş', 'Th': 'T', 'th': 't', 'Zh': 'Ƶ', 'zh': 'ƶ',\n\t'Á': 'O', 'á': 'o', 'É': 'E', 'é': 'e', 'Í': 'I', 'í': 'i', 'J': 'Ç', 'j': 'ç',\n\t'O': 'Ū', 'o': 'ū', 'Ó': 'Ū', 'ó': 'ū', 'W': 'V', 'w': 'v', 'Y': 'J', 'y': 'j'}\n\tpattern = re.compile('|'.join(BALTG_DICT.keys()))\n\treturn pattern.sub(lambda m: BALTG_DICT[m.group(0)], Z18828K1[:-1] + Z18828K1[-1].replace('í', 'ī'))" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Python bal-latn \u003E tg-latn" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "Belutschisches Lat. in Tadschikisches Lat., Python" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } kakmj6vv3499o4k6t6ipmscaawo5ttt Wikifunctions:Statistics 4 38658 273250 133259 2026-05-08T14:42:08Z YoshiRulz 10156 /* See also */ New section 273250 wikitext text/x-wiki Below is a list of types with number of their objects on Wikifunctions. For example, you can see how many functions Wikifunctions has as of the last update. Data extracted from [[Special:ListObjectsByType]] and manually updated. Updated at 23:56, 16 October 2024 (UTC) {| class="wikitable sortable" ! Type !! # of object(s) |- | {{Z|Z17}} || [[Special:ListObjectsByType/Z17|0]] |- | {{Z|Z18}} || [[Special:ListObjectsByType/Z18|0]] |- | {{Z|Z40}} || [[Special:ListObjectsByType/Z40|2]] |- | {{Z|Z80}} || [[Special:ListObjectsByType/Z80|0]] |- | {{Z|Z16}} || [[Special:ListObjectsByType/Z16|0]] |- | {{Z|Z86}} || [[Special:ListObjectsByType/Z86|0]] |- | {{Z|Z14294}} || [[Special:ListObjectsByType/Z14294|5]] |- | {{Z|Z17402}} || [[Special:ListObjectsByType/Z17402|7]] |- | {{Z|Z5}} || [[Special:ListObjectsByType/Z5|0]] |- | {{Z|Z50}} || [[Special:ListObjectsByType/Z50|68]] |- | {{Z|Z22}} || [[Special:ListObjectsByType/Z22|0]] |- | {{Z|Z8}} || [[Special:ListObjectsByType/Z8|1615]] |- | {{Z|Z7}} || [[Special:ListObjectsByType/Z7|0]] |- | {{Z|Z14293}} || [[Special:ListObjectsByType/Z14293|0]] |- | {{Z|Z16098}} || [[Special:ListObjectsByType/Z16098|12]] |- | {{Z|Z17813}} || [[Special:ListObjectsByType/Z17813|2]] |- | {{Z|Z89}} || [[Special:ListObjectsByType/Z89|0]] |- | {{Z|Z16927}} || [[Special:ListObjectsByType/Z16927|13]] |- | {{Z|Z14}} || [[Special:ListObjectsByType/Z14|2657]] |- | {{Z|Z16683}} || [[Special:ListObjectsByType/Z16683|0]] |- | {{Z|Z3}} || [[Special:ListObjectsByType/Z3|0]] |- | {{Z|Z39}} || [[Special:ListObjectsByType/Z39|0]] |- | {{Z|Z31}} || [[Special:ListObjectsByType/Z31|0]] |- | {{Z|Z11}} || [[Special:ListObjectsByType/Z11|0]] |- | {{Z|Z32}} || [[Special:ListObjectsByType/Z32|0]] |- | {{Z|Z12}} || [[Special:ListObjectsByType/Z12|0]] |- | {{Z|Z60}} || [[Special:ListObjectsByType/Z60|935]] |- | {{Z|Z13518}} || [[Special:ListObjectsByType/Z13518|2]] |- | {{Z|Z23}} || [[Special:ListObjectsByType/Z23|0]] |- | {{Z|Z1}} || [[Special:ListObjectsByType/Z1|0]] |- | {{Z|Z2}} || [[Special:ListObjectsByType/Z2|0]] |- | {{Z|Z61}} || [[Special:ListObjectsByType/Z61|16]] |- | {{Z|Z99}} || [[Special:ListObjectsByType/Z99|0]] |- | {{Z|Z9}} || [[Special:ListObjectsByType/Z9|0]] |- | {{Z|Z16659}} || [[Special:ListObjectsByType/Z16659|3]] |- | {{Z|Z6}} || [[Special:ListObjectsByType/Z6|25]] |- | {{Z|Z20}} || [[Special:ListObjectsByType/Z20|4515]] |- | {{Z|Z4}} || [[Special:ListObjectsByType/Z4|52]] |- | {{Z|Z64}} || [[Special:ListObjectsByType/Z64|14]] |- | {{Z|Z46}} || [[Special:ListObjectsByType/Z46|14]] |- | {{Z|Z21}} || [[Special:ListObjectsByType/Z21|1]] |} == See also == * [[toolforge:abstract-data]] (tracking Function usage on Abstract Wikipedia) * [[User:Amire80/wikifunctionsanalytics#Example_queries|wikifunctionsanalytics]] and other [[WF:Tools#Dump related tools|tools for analyzing DB dumps]] [[Category:Wikifunctions statistics]] 417dsm6wxxuvo8nj5bbjid1c7ulw2ie 273251 273250 2026-05-08T14:47:14Z YoshiRulz 10156 /* See also */ Link to the relevant subpage for abstract-data 273251 wikitext text/x-wiki Below is a list of types with number of their objects on Wikifunctions. For example, you can see how many functions Wikifunctions has as of the last update. Data extracted from [[Special:ListObjectsByType]] and manually updated. Updated at 23:56, 16 October 2024 (UTC) {| class="wikitable sortable" ! Type !! # of object(s) |- | {{Z|Z17}} || [[Special:ListObjectsByType/Z17|0]] |- | {{Z|Z18}} || [[Special:ListObjectsByType/Z18|0]] |- | {{Z|Z40}} || [[Special:ListObjectsByType/Z40|2]] |- | {{Z|Z80}} || [[Special:ListObjectsByType/Z80|0]] |- | {{Z|Z16}} || [[Special:ListObjectsByType/Z16|0]] |- | {{Z|Z86}} || [[Special:ListObjectsByType/Z86|0]] |- | {{Z|Z14294}} || [[Special:ListObjectsByType/Z14294|5]] |- | {{Z|Z17402}} || [[Special:ListObjectsByType/Z17402|7]] |- | {{Z|Z5}} || [[Special:ListObjectsByType/Z5|0]] |- | {{Z|Z50}} || [[Special:ListObjectsByType/Z50|68]] |- | {{Z|Z22}} || [[Special:ListObjectsByType/Z22|0]] |- | {{Z|Z8}} || [[Special:ListObjectsByType/Z8|1615]] |- | {{Z|Z7}} || [[Special:ListObjectsByType/Z7|0]] |- | {{Z|Z14293}} || [[Special:ListObjectsByType/Z14293|0]] |- | {{Z|Z16098}} || [[Special:ListObjectsByType/Z16098|12]] |- | {{Z|Z17813}} || [[Special:ListObjectsByType/Z17813|2]] |- | {{Z|Z89}} || [[Special:ListObjectsByType/Z89|0]] |- | {{Z|Z16927}} || [[Special:ListObjectsByType/Z16927|13]] |- | {{Z|Z14}} || [[Special:ListObjectsByType/Z14|2657]] |- | {{Z|Z16683}} || [[Special:ListObjectsByType/Z16683|0]] |- | {{Z|Z3}} || [[Special:ListObjectsByType/Z3|0]] |- | {{Z|Z39}} || [[Special:ListObjectsByType/Z39|0]] |- | {{Z|Z31}} || [[Special:ListObjectsByType/Z31|0]] |- | {{Z|Z11}} || [[Special:ListObjectsByType/Z11|0]] |- | {{Z|Z32}} || [[Special:ListObjectsByType/Z32|0]] |- | {{Z|Z12}} || [[Special:ListObjectsByType/Z12|0]] |- | {{Z|Z60}} || [[Special:ListObjectsByType/Z60|935]] |- | {{Z|Z13518}} || [[Special:ListObjectsByType/Z13518|2]] |- | {{Z|Z23}} || [[Special:ListObjectsByType/Z23|0]] |- | {{Z|Z1}} || [[Special:ListObjectsByType/Z1|0]] |- | {{Z|Z2}} || [[Special:ListObjectsByType/Z2|0]] |- | {{Z|Z61}} || [[Special:ListObjectsByType/Z61|16]] |- | {{Z|Z99}} || [[Special:ListObjectsByType/Z99|0]] |- | {{Z|Z9}} || [[Special:ListObjectsByType/Z9|0]] |- | {{Z|Z16659}} || [[Special:ListObjectsByType/Z16659|3]] |- | {{Z|Z6}} || [[Special:ListObjectsByType/Z6|25]] |- | {{Z|Z20}} || [[Special:ListObjectsByType/Z20|4515]] |- | {{Z|Z4}} || [[Special:ListObjectsByType/Z4|52]] |- | {{Z|Z64}} || [[Special:ListObjectsByType/Z64|14]] |- | {{Z|Z46}} || [[Special:ListObjectsByType/Z46|14]] |- | {{Z|Z21}} || [[Special:ListObjectsByType/Z21|1]] |} == See also == * [[toolforge:abstract-data/functions]] (tracking Function usage on Abstract Wikipedia) * [[User:Amire80/wikifunctionsanalytics#Example_queries|wikifunctionsanalytics]] and other [[WF:Tools#Dump related tools|tools for analyzing DB dumps]] [[Category:Wikifunctions statistics]] 8047l15e8kcee8t5v8qujgompk1ukhy Z19198 0 41102 273390 271890 2026-05-08T21:49:46Z YoshiRulz 10156 Added Z19212 to the approved list of implementations 273390 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z19198" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z19198K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "initial list" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "ursprüngliche Liste" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "liste initiale" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z19198K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of elements to remove" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "zu entfernende Elemente" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "liste des éléments à supprimer" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z19199", "Z22857", "Z26392", "Z29709", "Z29710", "Z34712" ], "Z8K4": [ "Z14", "Z29716", "Z34711", "Z19212" ], "Z8K5": "Z19198" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "remove elements common to second list" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "entferne Elemente auch in zweiter Liste" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "supprimer les éléments communs à la deuxième liste" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "remove common elements" ] }, { "Z1K1": "Z31", "Z31K1": "Z1430", "Z31K2": [ "Z6", "entferne Elemente auch in anderer Liste" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "return the first list with any elements common to the second list removed" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "gibt die erste Liste mit allen Elementen welche auch in der zweiten Liste vorhanden sind entfernt zurück" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie la première liste avec tous les éléments communs à la deuxième liste supprimés" } ] } } cvd27tqgh8y8hsth4eofg7mimjuti45 273391 273390 2026-05-08T21:50:12Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 273391 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z19198" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z19198K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "initial list" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "ursprüngliche Liste" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "liste initiale" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z19198K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of elements to remove" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "zu entfernende Elemente" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "liste des éléments à supprimer" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z19199", "Z22857", "Z26392", "Z29709", "Z29710", "Z34712" ], "Z8K4": [ "Z14", "Z19212", "Z29716", "Z34711" ], "Z8K5": "Z19198" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "remove elements common to second list" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "entferne Elemente auch in zweiter Liste" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "supprimer les éléments communs à la deuxième liste" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "remove common elements" ] }, { "Z1K1": "Z31", "Z31K1": "Z1430", "Z31K2": [ "Z6", "entferne Elemente auch in anderer Liste" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "return the first list with any elements common to the second list removed" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "gibt die erste Liste mit allen Elementen welche auch in der zweiten Liste vorhanden sind entfernt zurück" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie la première liste avec tous les éléments communs à la deuxième liste supprimés" } ] } } 5o6v0m1a642y3d2d27i8b1w1lrknii0 273393 273391 2026-05-08T21:54:44Z YoshiRulz 10156 Added Z34989 to the approved list of test cases 273393 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z19198" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z19198K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "initial list" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "ursprüngliche Liste" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "liste initiale" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z19198K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of elements to remove" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "zu entfernende Elemente" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "liste des éléments à supprimer" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z19199", "Z22857", "Z26392", "Z29709", "Z29710", "Z34712", "Z34989" ], "Z8K4": [ "Z14", "Z19212", "Z29716", "Z34711" ], "Z8K5": "Z19198" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "remove elements common to second list" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "entferne Elemente auch in zweiter Liste" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "supprimer les éléments communs à la deuxième liste" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "remove common elements" ] }, { "Z1K1": "Z31", "Z31K1": "Z1430", "Z31K2": [ "Z6", "entferne Elemente auch in anderer Liste" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "return the first list with any elements common to the second list removed" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "gibt die erste Liste mit allen Elementen welche auch in der zweiten Liste vorhanden sind entfernt zurück" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie la première liste avec tous les éléments communs à la deuxième liste supprimés" } ] } } nvtgapv49d0xh19ts3sfdypf8gv10r3 273394 273393 2026-05-08T21:58:44Z YoshiRulz 10156 Removed Z29716 from the approved list of implementations 273394 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z19198" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z19198K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "initial list" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "ursprüngliche Liste" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "liste initiale" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z19198K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "list of elements to remove" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "zu entfernende Elemente" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "liste des éléments à supprimer" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z19199", "Z22857", "Z26392", "Z29709", "Z29710", "Z34712", "Z34989" ], "Z8K4": [ "Z14", "Z19212", "Z34711" ], "Z8K5": "Z19198" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "remove elements common to second list" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "entferne Elemente auch in zweiter Liste" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "supprimer les éléments communs à la deuxième liste" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "remove common elements" ] }, { "Z1K1": "Z31", "Z31K1": "Z1430", "Z31K2": [ "Z6", "entferne Elemente auch in anderer Liste" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "return the first list with any elements common to the second list removed" }, { "Z1K1": "Z11", "Z11K1": "Z1430", "Z11K2": "gibt die erste Liste mit allen Elementen welche auch in der zweiten Liste vorhanden sind entfernt zurück" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie la première liste avec tous les éléments communs à la deuxième liste supprimés" } ] } } in65v430638j51owhtctf44g1k23pgg Z19736 0 42488 273452 271962 2026-05-09T04:45:32Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 273452 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z19736" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z19677", "Z17K2": "Z19736K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first number" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z19677", "Z17K2": "Z19736K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "second number" } ] } } ], "Z8K2": "Z19677", "Z8K3": [ "Z20", "Z19738", "Z19797" ], "Z8K4": [ "Z14", "Z34724", "Z19739" ], "Z8K5": "Z19736" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "max of rational numbers" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "max", "greater", "higher", "bigger" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the greater of the two supplied rational numbers" } ] } } e77aakca49ryune7xd6p2cd7y265wxu Z19833 0 42615 273428 271972 2026-05-08T23:28:38Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 273428 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z19833" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z19677", "Z17K2": "Z19833K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first rational number" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z19677", "Z17K2": "Z19833K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "second rational number" } ] } } ], "Z8K2": "Z19677", "Z8K3": [ "Z20", "Z19835", "Z19837", "Z19977", "Z19978" ], "Z8K4": [ "Z14", "Z19840", "Z33939", "Z19839", "Z33941" ], "Z8K5": "Z19833" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "average of two rationals" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "midpoint", "rational average" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the rational number that is the average of the two inputs" } ] } } n993il0f365q82wvoy8uyurozn50yc7 Wikifunctions:Tools 4 45165 273261 272679 2026-05-08T15:23:02Z YoshiRulz 10156 /* Dump related tools */ Add DSantamaria's abstract-data 273261 wikitext text/x-wiki <languages/> <translate> <!--T:1--> This page is a list of tools you can use to work with Wikifunctions more quickly and comfortably. If you have written a script, feel free to add it so that others can use it. == Dump related tools == <!--T:6--> </translate> * <translate><!--T:7--> [<tvar name="1">https://github.com/marius851000/wikifunction_intepreter</tvar> experimental Wikifunction Rust interpreter] that work on the dump. Written in Rust.</translate> * <translate><!--T:8--> [[<tvar name="1">Wikifunctions:Tools/wf-dump-scripts</tvar>|wf-dump-scripts]] - pipeline for creating statistical wikitables based on dump and the internal Wikifunctions API. Written in [[w:Python (programming language)|Python]]</translate> * <translate><!--T:2--> [<tvar name="1">//wf-query.replit.app</tvar> wf-query]: tool that allows you to run JSONata queries on a dump of Wikifunctions, with the table output itself also being customizable with JSONata queries. Written in [[w:Node.js|NodeJS]] Express and [[w:JavaScript|vanilla JS]]</translate> * <translate><!--T:4--> [<tvar name="1">//gitlab.wikimedia.org/hogue/cobol-file-collection/-/blob/main/Wikifunctionsdumpextract/Dumpextract.cbl</tvar> Dumpextract]: a program to extract info from the dump of Wikifunctions. Written in [[w:COBOL|COBOL]].</translate> * <translate><!--T:12--> [<tvar name="1">https://github.com/99of9/WikifunctionsAnalysis</tvar> WikifunctionsAnalysis]: some code which helps analyse Wikifunctions dumps</translate> * <translate><!--T:12--> [[<tvar name="1">User:Amire80/wikifunctionsanalytics#Example_queries</tvar>|wikifunctionsanalytics]]: A simplified dump, queryable through [[meta:Research:Quarry|Quarry]].</translate> * <translate>[[<tvar name="1">toolforge:abstract-data/functions</tvar>]]: Tracking Function usage on [[abstract:|Abstract Wikipedia]].</translate> <translate> == User interface == <!--T:9--> </translate> *<translate><!--T:5--> [[<tvar name="1">User:Feeglgeef/wikilambda editsource.js</tvar>|wikilambda editsource.js]]: User script that allows you to edit the raw JSON content of ZObjects.</translate> * <translate><!--T:10--> [<tvar name="1">https://yoshirulz.gitlab.io/WikiLambdaBlockly</tvar> WikiLambdaBlockly]: Web app demonstrating a block-based editing interface for compositions. Uses [[w:Blockly|Blockly]] from [[w:TypeScript|TS]].</translate> <translate> == Others == <!--T:11--> </translate> * <translate><!--T:3--> [<tvar name="1">//play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=b148d3d147139ddf88cdbc8308bec6e3</tvar> find constants]: tool that represents a f64 using Wikifunctions representation. Prints, comma separated, the sign of the float (-1, 0, 1), the exponent of the float, and the fraction of the float. Written in [[w:Rust (programming language)|Rust]].</translate> [[Category:Project{{#translation:}}]] hr09j06mi8ke4mbgzn3ajltd40v8s6m User talk:DSantamaria-WMF 3 47924 273264 157989 2026-05-08T15:29:02Z YoshiRulz 10156 /* abstract-data reporting persistent String as a Function with no Implementation */ new section 273264 wikitext text/x-wiki {{Welcome/lang|user=DSantamaria-WMF|welcominguser=VIGNERON|1=[[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 18:38, 15 January 2025 (UTC)}} == abstract-data reporting persistent String as a Function with no Implementation == e.g. [[toolforge:abstract-data/zid/Z13128]] (though I have now removed the sole usage from the live site) [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 15:29, 8 May 2026 (UTC) nu24odrvtoumq9itpytlu3b8kr0y21t Z23918 0 54281 273430 273122 2026-05-09T01:16:15Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 273430 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z23918" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z13518", "Z17K2": "Z23918K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "input" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "input" } ] } } ], "Z8K2": "Z16683", "Z8K3": [ "Z20", "Z23920" ], "Z8K4": [ "Z14", "Z34974", "Z23919" ], "Z8K5": "Z23918" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "return positive 1" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "kembali positif 1" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "1", "return 1", "integer 1", "one" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "given any natural number, this function always returns an integer value of +1" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "Jika diberikan bilangan asli apa pun, fungsi ini selalu mengembalikan nilai bilangan bulat +1." } ] } } 77vb6g6xfgrs7mcdpcbjqsiv0317vut Talk:Z24007 1 54491 273265 179789 2026-05-08T15:54:46Z YoshiRulz 10156 Add to category 273265 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] == Supported formats == * ISO 8601: ** Dates: *** YYYY-MM-DD *** YYYYMMDD ** Week dates: *** YYYY-Www-D *** YYYYWwwD ** Ordinal dates: *** YYYY-DDD *** YYYYDDD ** Times Source: [[en:w:ISO_8601]] [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:53, 16 April 2025 (UTC) foj2i3jc12ja1myqq2izj3dangkrf75 Z24183 0 54974 273296 227900 2026-05-08T19:01:29Z YoshiRulz 10156 Fix list typing 273296 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24183" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24182", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z18475", "Z18475K1": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z14046", "Z873K2": { "Z1K1": "Z18", "Z18K1": "Z24182K1" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "vettore in matrice colonna, composizione" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "vector in column matrix, compose map element" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 32uwixlkut81bnqs2clh1yrmoy7ghif Z24185 0 54976 273269 257267 2026-05-08T15:59:16Z YoshiRulz 10156 Added Z24187 to the approved list of implementations 273269 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24185" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z19677" }, "Z17K2": "Z24185K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "vettore 1" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "vector 1" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z19677" }, "Z17K2": "Z24185K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "vettore 2" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "vector 2" } ] } } ], "Z8K2": "Z19677", "Z8K3": [ "Z20", "Z24186", "Z24259" ], "Z8K4": [ "Z14", "Z24414", "Z24188", "Z24408", "Z24187" ], "Z8K5": "Z24185" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "prodotto scalare tra vettori razionali" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "dot product (rational vectors)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "scalar product", "vector times vector", "vector dot vector", "multiply vectors" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Restituisce la somma dei prodotti a 2 a 2 delle componenti" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the dot or scalar product of two rational vectors" } ] } } b62xpkbmye4y381j9jb9ztggc9t61qs 273270 273269 2026-05-08T15:59:28Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 273270 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24185" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z19677" }, "Z17K2": "Z24185K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "vettore 1" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "vector 1" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z19677" }, "Z17K2": "Z24185K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "vettore 2" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "vector 2" } ] } } ], "Z8K2": "Z19677", "Z8K3": [ "Z20", "Z24186", "Z24259" ], "Z8K4": [ "Z14", "Z24408", "Z24188", "Z24187", "Z24414" ], "Z8K5": "Z24185" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "prodotto scalare tra vettori razionali" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "dot product (rational vectors)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "scalar product", "vector times vector", "vector dot vector", "multiply vectors" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Restituisce la somma dei prodotti a 2 a 2 delle componenti" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the dot or scalar product of two rational vectors" } ] } } 0433ljdyivoxfxp9f8sql7ziitn5o64 273281 273270 2026-05-08T18:03:38Z WikiLambda system 3 Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]]) 273281 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24185" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z19677" }, "Z17K2": "Z24185K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "vettore 1" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "vector 1" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z19677" }, "Z17K2": "Z24185K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "vettore 2" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "vector 2" } ] } } ], "Z8K2": "Z19677", "Z8K3": [ "Z20", "Z24186", "Z24259" ], "Z8K4": [ "Z14", "Z24414", "Z24188", "Z24408", "Z24187" ], "Z8K5": "Z24185" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "prodotto scalare tra vettori razionali" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "dot product (rational vectors)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "scalar product", "vector times vector", "vector dot vector", "multiply vectors" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Restituisce la somma dei prodotti a 2 a 2 delle componenti" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the dot or scalar product of two rational vectors" } ] } } b62xpkbmye4y381j9jb9ztggc9t61qs Z24207 0 55014 273272 219329 2026-05-08T16:11:04Z YoshiRulz 10156 Added Z34976 to the approved list of implementations 273272 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24207" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z24207K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "left list" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z24207K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "right list" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z24211" ], "Z8K4": [ "Z14", "Z24214", "Z24213", "Z34976" ], "Z8K5": "Z24207" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Cartesian product as two lists" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns a list of two lists representing the Cartesian product of the two list arguments" } ] } } 4yoe9rd19souw8pp7cqslt63wkywn4k 273274 273272 2026-05-08T16:30:59Z YoshiRulz 10156 Added Z34977 to the approved list of implementations 273274 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24207" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z24207K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "left list" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z24207K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "right list" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z24211" ], "Z8K4": [ "Z14", "Z24214", "Z24213", "Z34976", "Z34977" ], "Z8K5": "Z24207" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Cartesian product as two lists" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns a list of two lists representing the Cartesian product of the two list arguments" } ] } } qy4qofwbffoffrhcscfohni4gv9ckoe Z24255 0 55162 273277 183148 2026-05-08T17:00:30Z YoshiRulz 10156 Added Z24260 to the approved list of test cases 273277 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24255" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6004", "Z17K2": "Z24255K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme form (not a reference)" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z24255K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z24255K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language variants" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z11" }, "Z8K3": [ "Z20", "Z24277", "Z24260" ], "Z8K4": [ "Z14", "Z24278" ], "Z8K5": "Z24255" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "representations from lexeme form by language" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "filter representations from lexeme form by features languages", "select representations from lexeme form by features and languages" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "if the lexeme form’s grammatical features match (or no features are specified), returns those monolingual text representations that match the given languages (or all of them if no language is given)" } ] } } gfuvmjf1dhxahsjgh98w5n9bl7t214a 273278 273277 2026-05-08T17:00:32Z YoshiRulz 10156 Added Z34978 to the approved list of implementations 273278 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24255" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6004", "Z17K2": "Z24255K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme form (not a reference)" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z24255K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z24255K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language variants" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z11" }, "Z8K3": [ "Z20", "Z24277", "Z24260" ], "Z8K4": [ "Z14", "Z24278", "Z34978" ], "Z8K5": "Z24255" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "representations from lexeme form by language" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "filter representations from lexeme form by features languages", "select representations from lexeme form by features and languages" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "if the lexeme form’s grammatical features match (or no features are specified), returns those monolingual text representations that match the given languages (or all of them if no language is given)" } ] } } 1v0py3aswagytev5y0trwr6x8hvav6p 273283 273278 2026-05-08T18:11:31Z Dv103 11127 Added Z34979 to the approved list of test cases 273283 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24255" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6004", "Z17K2": "Z24255K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme form (not a reference)" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z24255K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z24255K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language variants" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z11" }, "Z8K3": [ "Z20", "Z24277", "Z24260", "Z34979" ], "Z8K4": [ "Z14", "Z24278", "Z34978" ], "Z8K5": "Z24255" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "representations from lexeme form by language" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "filter representations from lexeme form by features languages", "select representations from lexeme form by features and languages" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "if the lexeme form’s grammatical features match (or no features are specified), returns those monolingual text representations that match the given languages (or all of them if no language is given)" } ] } } k3om5hsb3wvruczf6h10ppgauu0b7hd 273288 273283 2026-05-08T18:20:05Z Dv103 11127 Removed Z24277 from the approved list of test cases 273288 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24255" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6004", "Z17K2": "Z24255K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme form (not a reference)" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z24255K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z24255K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language variants" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z11" }, "Z8K3": [ "Z20", "Z24260", "Z34979" ], "Z8K4": [ "Z14", "Z24278", "Z34978" ], "Z8K5": "Z24255" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "representations from lexeme form by language" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "filter representations from lexeme form by features languages", "select representations from lexeme form by features and languages" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "if the lexeme form’s grammatical features match (or no features are specified), returns those monolingual text representations that match the given languages (or all of them if no language is given)" } ] } } curr1u9n8cesxt4n8qot8w6ezfuxpf6 Z24260 0 55167 273276 182839 2026-05-08T16:59:50Z YoshiRulz 10156 Fix expected value 273276 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24260" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z24255", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z24255", "Z24255K1": { "Z1K1": "Z7", "Z7K1": "Z6824", "Z6824K1": { "Z1K1": "Z6094", "Z6094K1": "L3815-F1" } }, "Z24255K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q3482678" } ], "Z24255K3": [ "Z60", "Z1002" ] }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z889", "Z889K2": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "positive" } ], "Z889K3": "Z14392" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "L3815-F1:positive(en) ↤ L3815 positive, English" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "L3815-F1:positive(en) ↤ L3815:positive(en), positive, English" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } o7gpt850e7p2d2xwa5wlnidsmfs3hhp Z24263 0 55173 273292 265927 2026-05-08T18:27:42Z YoshiRulz 10156 Added Z34981 to the approved list of implementations 273292 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24263" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z19677", "Z17K2": "Z24263K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x" } ] } } ], "Z8K2": "Z19677", "Z8K3": [ "Z20", "Z24265", "Z31942", "Z31943" ], "Z8K4": [ "Z14", "Z24264", "Z34981" ], "Z8K5": "Z24263" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x^2−2 (rational)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "x^2-2", "x^2 - 2", "q^2-2" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the square of the input, minus two" } ] } } ckv5k8vs0iih0yoyrfobep9aosdro8e Z24442 0 56052 273297 184925 2026-05-08T19:02:41Z YoshiRulz 10156 Added Z24445 to the approved list of implementations 273297 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24442" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z19677" }, "Z17K2": "Z24442K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "β" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "β" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z19677" } }, "Z8K3": [ "Z20", "Z24443", "Z24444" ], "Z8K4": [ "Z14", "Z24445" ], "Z8K5": "Z24442" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "matrice di trasformazione di Lorentz da boost" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Lorentz transformation matrix from boost" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Dato un boost β (come trivettore in unità naturali), restituisce la matrice di trasformazione di Lorentz" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Given the boost β as a trivector in natural units, returns the Lorentz transformation matrix" } ] } } ddwbdcotgw4hdakc4kxsehxj25xz5x8 273298 273297 2026-05-08T19:03:01Z YoshiRulz 10156 Removed Z24445 from the approved list of implementations 273298 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24442" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z19677" }, "Z17K2": "Z24442K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "β" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "β" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z19677" } }, "Z8K3": [ "Z20", "Z24443", "Z24444" ], "Z8K4": [ "Z14" ], "Z8K5": "Z24442" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "matrice di trasformazione di Lorentz da boost" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Lorentz transformation matrix from boost" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Dato un boost β (come trivettore in unità naturali), restituisce la matrice di trasformazione di Lorentz" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Given the boost β as a trivector in natural units, returns the Lorentz transformation matrix" } ] } } 5r8lz8yqy3x27fnksk8nlr2bnffwx8t Z24460 0 56119 273300 189410 2026-05-08T19:06:17Z YoshiRulz 10156 Added Z24462 to the approved list of implementations 273300 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24460" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z86", "Z17K2": "Z24460K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "codepoint" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z24821" ], "Z8K4": [ "Z14", "Z24462" ], "Z8K5": "Z24460" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "is Extended_Pictographic codepoint" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "see also [https://stackoverflow.com/questions/70401560/what-is-the-difference-between-emoji-presentation-and-extended-pictographic]" } ] } } czfs5235lr9ji02jad2loag73e6v14h Z24472 0 56131 273308 185246 2026-05-08T19:13:39Z YoshiRulz 10156 Added Z24480 and Z34983 to the approved list of implementations 273308 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24472" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z24472K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "string" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z13518", "Z17K2": "Z24472K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "N" } ] } } ], "Z8K2": "Z86", "Z8K3": [ "Z20", "Z24474", "Z24475", "Z24476", "Z24477", "Z24478" ], "Z8K4": [ "Z14", "Z24479", "Z24480", "Z34983" ], "Z8K5": "Z24472" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "get Nth code point of String" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "counting each codepoint from 1\nreturns 0x0015 (negative acknowledge) if index out-of-bounds" } ] } } cq9cksx7kjlkii8btcqwqcs5b4o5yi6 Z24480 0 56139 273303 185242 2026-05-08T19:07:57Z YoshiRulz 10156 Swap out first char function 273303 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24480" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24472", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z32065", "Z32065K1": { "Z1K1": "Z7", "Z7K1": "Z14244", "Z14244K1": { "Z1K1": "Z18", "Z18K1": "Z24472K1" }, "Z14244K2": { "Z1K1": "Z18", "Z18K1": "Z24472K2" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "convert nth char to codepoint" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 390nnzhye8ic4cfhwj0udzgi1im7h2o Z24483 0 56142 273309 222195 2026-05-08T19:16:22Z YoshiRulz 10156 Removed Z24504 from the approved list of test cases 273309 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24483" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6005", "Z17K2": "Z24483K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "語彙素" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z24483K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "文法的特徴" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z24483K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language variants" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "言語変数" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z24484", "Z24496", "Z24503" ], "Z8K4": [ "Z14", "Z24556", "Z24486" ], "Z8K5": "Z24483" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme form representations (first in ranked form)" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "語形の表現(ランク付き語形の最初)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "preferred representation from lexeme forms ranked by feature alignment", "order lexeme forms by features, returning preferred representation" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the first representation (given expressed preferences) from each of the lexeme’s forms, ordered by the form’s alignment with the requested grammatical features" } ] } } kk6ofuvxkdnzfdi2tq2tjhfk6t2l4qs 273310 273309 2026-05-08T19:16:42Z YoshiRulz 10156 Removed Z24486 and Z24556 from the approved list of implementations 273310 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24483" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6005", "Z17K2": "Z24483K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "語彙素" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z24483K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "文法的特徴" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z24483K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language variants" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "言語変数" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z24484", "Z24496", "Z24503" ], "Z8K4": [ "Z14" ], "Z8K5": "Z24483" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme form representations (first in ranked form)" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "語形の表現(ランク付き語形の最初)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "preferred representation from lexeme forms ranked by feature alignment", "order lexeme forms by features, returning preferred representation" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the first representation (given expressed preferences) from each of the lexeme’s forms, ordered by the form’s alignment with the requested grammatical features" } ] } } 4i4lqijh8vyfpri8h8bitpgfeshr8c5 273311 273310 2026-05-08T19:16:46Z YoshiRulz 10156 Removed Z24484, Z24496 and Z24503 from the approved list of test cases 273311 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24483" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6005", "Z17K2": "Z24483K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "語彙素" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z24483K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "文法的特徴" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z24483K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language variants" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "言語変数" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z24483" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme form representations (first in ranked form)" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "語形の表現(ランク付き語形の最初)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "preferred representation from lexeme forms ranked by feature alignment", "order lexeme forms by features, returning preferred representation" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the first representation (given expressed preferences) from each of the lexeme’s forms, ordered by the form’s alignment with the requested grammatical features" } ] } } ne4420yj0z2yba007gmmrk8e3nt8z55 273312 273311 2026-05-08T19:17:29Z YoshiRulz 10156 Change return type to match test and impls 273312 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24483" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6005", "Z17K2": "Z24483K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "語彙素" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z24483K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "文法的特徴" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z24483K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language variants" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "言語変数" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z11" }, "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z24483" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme form representations (first in ranked form)" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "語形の表現(ランク付き語形の最初)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "preferred representation from lexeme forms ranked by feature alignment", "order lexeme forms by features, returning preferred representation" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the first representation (given expressed preferences) from each of the lexeme’s forms, ordered by the form’s alignment with the requested grammatical features" } ] } } dsf5ysk0huiw5gidz8yqwqcx5et75v9 273313 273312 2026-05-08T19:17:38Z YoshiRulz 10156 Added Z24484, Z24496, Z24503 and Z24504 to the approved list of test cases 273313 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24483" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6005", "Z17K2": "Z24483K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "語彙素" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z17K2": "Z24483K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "grammatical features" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "文法的特徴" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z24483K3", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language variants" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "言語変数" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z11" }, "Z8K3": [ "Z20", "Z24484", "Z24496", "Z24503", "Z24504" ], "Z8K4": [ "Z14" ], "Z8K5": "Z24483" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "lexeme form representations (first in ranked form)" }, { "Z1K1": "Z11", "Z11K1": "Z1830", "Z11K2": "語形の表現(ランク付き語形の最初)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "preferred representation from lexeme forms ranked by feature alignment", "order lexeme forms by features, returning preferred representation" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns the first representation (given expressed preferences) from each of the lexeme’s forms, ordered by the form’s alignment with the requested grammatical features" } ] } } krx4po2le5sjrkvb4e1mbtchkvqhk9g Z24608 0 56322 273355 268016 2026-05-08T20:50:28Z YoshiRulz 10156 Added Z34986 to the approved list of implementations 273355 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24608" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z8", "Z17K2": "Z24608K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "function" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z1", "Z883K2": "Z1" }, "Z17K2": "Z24608K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z33993" ], "Z8K4": [ "Z14", "Z34986" ], "Z8K5": "Z24608" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map function over keys of map" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "entries", "loop map", "loop dict" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "runs the provided function on each element of the provided map, with the key in the first argument of the called function and the value in the second argument" } ] } } e9gri0g02gpoddoph4cwcm2co6gyf3a Z24666 0 56632 273359 187097 2026-05-08T21:11:20Z YoshiRulz 10156 Use helper function instead of constructing pair 273359 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24666" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24665", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z30414", "Z30414K1": { "Z1K1": "Z7", "Z7K1": "Z811", "Z811K1": { "Z1K1": "Z18", "Z18K1": "Z24665K1" } }, "Z30414K2": { "Z1K1": "Z7", "Z7K1": "Z16360", "Z16360K1": { "Z1K1": "Z18", "Z18K1": "Z24665K1" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "make pair from list, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } edbpe4w32y88rpi5hqfcol7hvojsj1b Z24669 0 56638 273361 236819 2026-05-08T21:13:19Z YoshiRulz 10156 Added Z34988 to the approved list of implementations 273361 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24669" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z80", "Z17K2": "Z24669K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "input" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "entrée" } ] } } ], "Z8K2": "Z80", "Z8K3": [ "Z20", "Z24670", "Z24671", "Z24672" ], "Z8K4": [ "Z14", "Z24674", "Z24673", "Z34988" ], "Z8K5": "Z24669" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "previous byte" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "octet précédent" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "overflowing substract one from byte" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns the previous byte. At overflow, it starts at 255 again." }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "renvoie l'octet précédent. En cas de dépassement, la fonction recommence à 255." } ] } } tbuglcazpbonceqhm6m1d5xwd4v6kgr Z24709 0 56934 273364 188263 2026-05-08T21:17:45Z YoshiRulz 10156 Removed Z24712 from the approved list of implementations 273364 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24709" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z80", "Z17K2": "Z24709K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "input" } ] } } ], "Z8K2": "Z80", "Z8K3": [ "Z20", "Z24710", "Z24711" ], "Z8K4": [ "Z14" ], "Z8K5": "Z24709" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "! (doesn't work) next byte (error on overflow)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns the next byte. If it goes beyond 0xFF, it returns an overflow error." } ] } } ly17x7ibdrb5p6k9ubngaq4sxovrcyc 273368 273364 2026-05-08T21:21:23Z YoshiRulz 10156 Added Z24712 to the approved list of implementations 273368 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24709" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z80", "Z17K2": "Z24709K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "input" } ] } } ], "Z8K2": "Z80", "Z8K3": [ "Z20", "Z24710", "Z24711" ], "Z8K4": [ "Z14", "Z24712" ], "Z8K5": "Z24709" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "! (doesn't work) next byte (error on overflow)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns the next byte. If it goes beyond 0xFF, it returns an overflow error." } ] } } 53k4rwpuqncu0ultzp76atydxmxpbu5 273369 273368 2026-05-08T21:21:40Z YoshiRulz 10156 Update en label 273369 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24709" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z80", "Z17K2": "Z24709K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "input" } ] } } ], "Z8K2": "Z80", "Z8K3": [ "Z20", "Z24710", "Z24711" ], "Z8K4": [ "Z14", "Z24712" ], "Z8K5": "Z24709" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "next Byte (error on overflow)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns the next byte. If it goes beyond 0xFF, it returns an overflow error." } ] } } tjol7dycti4jj33ra2ynxe7446suey2 Z24711 0 56936 273365 187899 2026-05-08T21:18:47Z YoshiRulz 10156 Use correct error checking 273365 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24711" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z24709", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z821", "Z821K1": { "Z1K1": "Z7", "Z7K1": "Z853", "Z853K1": { "Z1K1": "Z7", "Z7K1": "Z24709", "Z24709K1": { "Z1K1": "Z80", "Z80K1": { "Z1K1": "Z13518", "Z13518K1": "255" } } } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z852", "Z852K2": "Z24708" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "0xFF should error" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } e94p6h8vsqgw9dofkxqjy1hbc0aevoc 273366 273365 2026-05-08T21:19:23Z YoshiRulz 10156 It's the second of the pair 273366 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24711" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z24709", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z822", "Z822K1": { "Z1K1": "Z7", "Z7K1": "Z853", "Z853K1": { "Z1K1": "Z7", "Z7K1": "Z24709", "Z24709K1": { "Z1K1": "Z80", "Z80K1": { "Z1K1": "Z13518", "Z13518K1": "255" } } } } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z852", "Z852K2": "Z24708" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "0xFF should error" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } d9d0242n5nvlds7k2k4z7f61k2xbo13 Z24712 0 56937 273367 187908 2026-05-08T21:21:02Z YoshiRulz 10156 Raise error properly 273367 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z24712" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24709", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z22373", "Z22373K1": { "Z1K1": "Z18", "Z18K1": "Z24709K1" }, "Z22373K2": { "Z1K1": "Z80", "Z80K1": { "Z1K1": "Z13518", "Z13518K1": "255" } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z851", "Z851K1": "Z24708", "Z851K2": [ "Z6", "Z24709K1", { "Z1K1": "Z18", "Z18K1": "Z24709K1" } ] }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z22380", "Z22380K1": { "Z1K1": "Z18", "Z18K1": "Z24709K1" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "composition throwing errror" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } g3ycrdbfimvrmnddzkpde3f04ouibjw Talk:Z25007 1 58289 273376 191888 2026-05-08T21:32:43Z YoshiRulz 10156 Add to category 273376 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] == Checked formats == * ISO 8601: ** Only month and day: *** --MM-DD *** --MMDD *** -DDD ** Dates: *** YYYY-MM-DD *** YYYYMMDD ** Week dates: *** YYYY-Www-D *** YYYYWwwD ** Ordinal dates: *** YYYY-DDD *** YYYYDDD ** Times Source: [[en:w:ISO_8601]] [[User:Dv103|Dv103]] [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:25, 9 June 2025 (UTC) nlb2x3gsmri1o7vkf0zi3b4yx5knsmt Z25052 0 58347 273382 192096 2026-05-08T21:35:00Z YoshiRulz 10156 Added Z31153 to the approved list of implementations 273382 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25052" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z25052K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language list" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z14294", "Z17K2": "Z25052K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "configuration" } ] } } ], "Z8K2": "Z60", "Z8K3": [ "Z20", "Z25053" ], "Z8K4": [ "Z14", "Z31153" ], "Z8K5": "Z25052" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first language with language configuration" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns the first language on a supplied list which occurs on the supplied language configuration. If none are listed, returns mul." } ] } } sc17wep140w0ixidaica5hoyo5eeonr 273383 273382 2026-05-08T21:35:25Z YoshiRulz 10156 Removed Z31153 from the approved list of implementations 273383 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25052" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z60" }, "Z17K2": "Z25052K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language list" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z14294", "Z17K2": "Z25052K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "configuration" } ] } } ], "Z8K2": "Z60", "Z8K3": [ "Z20", "Z25053" ], "Z8K4": [ "Z14" ], "Z8K5": "Z25052" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first language with language configuration" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns the first language on a supplied list which occurs on the supplied language configuration. If none are listed, returns mul." } ] } } sbhc2pro1zftflqlfqilkvdvh2ogigj Z25318 0 58856 273396 193987 2026-05-08T22:03:34Z YoshiRulz 10156 Added Z34990 to the approved list of implementations 273396 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25318" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z13518", "Z17K2": "Z25318K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "number to test" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "numero" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z25319", "Z25320", "Z25321", "Z25322" ], "Z8K4": [ "Z14", "Z25323", "Z34990" ], "Z8K5": "Z25318" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "has no prime factors other than 2 or 5" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "non ha fattori primi diversi da 2 o 5" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "returns true if the natural number is 0, 1, or has only 2s or 5s or both in its prime factors" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Restituisce vero se il numero naturale è 0, 1, o ha solo 2 e 5 tra i suoi fattori primi" } ] } } ie81xqla681z61v604m7jv3lqfm0zaz Z25408 0 58970 273397 194438 2026-05-08T22:09:10Z YoshiRulz 10156 Added Z25956 to the approved list of implementations 273397 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25408" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z16683", "Z17K2": "Z25408K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "semitone distance" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z25410", "Z25411", "Z25412" ], "Z8K4": [ "Z14", "Z25409", "Z25956" ], "Z8K5": "Z25408" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "pitch by distance from C in semitones" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Returns the name of the pitch class of a musical pitch from the standard chromatic scale, by its distance from C in semitones" } ] } } 5r2ort6926eodedq1n1l4jl6bnlgogu Z25578 0 59361 273307 220855 2026-05-08T19:13:35Z YoshiRulz 10156 Added Z34984 and Z34985 to the approved list of implementations 273307 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25578" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z25578K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "String" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "stringa" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6" }, "Z8K3": [ "Z20", "Z25580" ], "Z8K4": [ "Z14", "Z25582", "Z25579", "Z34984", "Z34985" ], "Z8K5": "Z25578" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "string to list" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "stringa in lista" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1787", "Z31K2": [ "Z6", "lista di caratteri", "lista di lettere", "dividi stringa", "scomponi stringa", "stringa in caratteri", "stringa in lettere" ] }, { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "characters from string", "string to character-list" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Converts a string to a list of characters." }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Converte una stringa in una lista di caratteri" } ] } } 5kxpazfbrmexjl7f20qgrb9u84e4vyp Z25614 0 59432 273410 231756 2026-05-08T22:29:22Z YoshiRulz 10156 Added Z34991 to the approved list of implementations 273410 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25614" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z25614K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "String" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "Строка" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "cadeia de caracteres" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z25614K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Separator" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "Разделитель" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "separador" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6" }, "Z8K3": [ "Z20", "Z25625", "Z25626" ], "Z8K4": [ "Z14", "Z25630", "Z25615", "Z34991" ], "Z8K5": "Z25614" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "split string to list" }, { "Z1K1": "Z11", "Z11K1": "Z1005", "Z11K2": "Разделить строку на части" }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "separar cadeia" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "split string", "string split", "separate", "string to list" ] }, { "Z1K1": "Z31", "Z31K1": "Z1381", "Z31K2": [ "Z6", "transformar string em lista" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Splits a string to a list of strings based on a separator." }, { "Z1K1": "Z11", "Z11K1": "Z1381", "Z11K2": "divide cadeia de caracteres em uma lista de subcadeias separadas por outra subcadeia" } ] } } hvmd9gbbgyynymnfioi97umgg5xcnap Talk:Z25128 1 59622 273385 202152 2026-05-08T21:38:31Z YoshiRulz 10156 Add to category 273385 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] == Supported formats == Here are the supported ISO 8601 formats: * hh:mm:ss * hhmmss * hh:mm:ss.sss * hhmmss.sss * hh:mm.mmm * hhmm.mmm * hh:mm * hhmm * hh [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:55, 24 June 2025 (UTC) artnibdl5hmsmmewg2e25gdu5yvvdc7 Talk:Z25763 1 59757 273412 197318 2026-05-08T22:30:56Z YoshiRulz 10156 Add to category 273412 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] == Request to connect implementation == Hi! I've created a Python implementation for this function, called "Spanish Personal Pronoun", which supports traditional, inclusive, and gender-neutral modes. It returns the appropriate Spanish equivalent of a given English personal pronoun. Could a Functioneer please review it and connect it to the function? Thanks in advance! – @[[User:Salvita4|Salvita4]] [[User:Salvita4|Salvita4]] ([[User talk:Salvita4|talk]]) 16:15, 25 June 2025 (UTC) :Hi @[[User:Salvita4|Salvita4]]! I see that the testcase is failing, so I think it's better to solve the probleb before connecting the function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 17:11, 25 June 2025 (UTC) :Hi! Thank you so much for answering me! :I just fixed the testcase, I realized I had forgotted to include the expected result! [[User:Salvita4|Salvita4]] ([[User talk:Salvita4|talk]]) 18:17, 25 June 2025 (UTC) ::{{d}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 19:07, 25 June 2025 (UTC) mzau1v7t7dw02p4nyg0ohgcshxv1pen Z25871 0 59942 273418 198164 2026-05-08T22:37:29Z YoshiRulz 10156 Added Z25873, Z25874, Z25875, Z25876, Z25878 and Z25896 to the approved list of test cases 273418 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25871" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20420", "Z17K2": "Z25871K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "date 1" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z20420", "Z17K2": "Z25871K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "date 2" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z25873", "Z25874", "Z25875", "Z25876", "Z25878", "Z25896" ], "Z8K4": [ "Z14" ], "Z8K5": "Z25871" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "within a year" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "dates within a year" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } kzo1qefub4ypwchveczrcg4x5dnlo1t 273419 273418 2026-05-08T22:37:31Z YoshiRulz 10156 Added Z25877 to the approved list of implementations 273419 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25871" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20420", "Z17K2": "Z25871K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "date 1" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z20420", "Z17K2": "Z25871K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "date 2" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z25873", "Z25874", "Z25875", "Z25876", "Z25878", "Z25896" ], "Z8K4": [ "Z14", "Z25877" ], "Z8K5": "Z25871" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "within a year" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "dates within a year" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ncjht0utsdysn9crsz567s397dzom51 Z25897 0 60293 273421 199759 2026-05-08T22:43:39Z YoshiRulz 10156 Added Z34992 to the approved list of implementations 273421 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25897" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20420", "Z17K2": "Z25897K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "date in the month" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z17402", "Z17K2": "Z25897K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "weekday" } ] } } ], "Z8K2": "Z20420", "Z8K3": [ "Z20", "Z25898", "Z25899" ], "Z8K4": [ "Z14", "Z25900", "Z34992" ], "Z8K5": "Z25897" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first weekday of the month" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8y8qmrcp99lyqmvbrrcqdgqcvdjmo4p Talk:Z25924 1 60389 273423 200151 2026-05-08T22:44:25Z YoshiRulz 10156 Add to category 273423 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] [[Category:Serbian]] f1a0g14r9r15lo3m4v49g4abfuhefi9 Z25932 0 60393 273425 214910 2026-05-08T22:44:54Z YoshiRulz 10156 Added Z25933 to the approved list of implementations 273425 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25932" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6011", "Z17K2": "Z25932K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first location" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "第一個位置" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6011", "Z17K2": "Z25932K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "second location" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "第二個位置" } ] } } ], "Z8K2": "Z40", "Z8K3": [ "Z20", "Z25934", "Z25935", "Z25936" ], "Z8K4": [ "Z14", "Z26481", "Z25933" ], "Z8K5": "Z25932" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "same Wikidata geo-coordinate" }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "相同的Wikidata地理座標" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "equal Wikidata geo-coordinate", "==", "=", "Wikidata geo-coordinate equality", "same Wikidata geocoordinate", "same Wikidata coordinate", "same coordinate", "coordinates equal", "geo-coordinates equal", "equality of Wikidata geo-coordinate", "equality of coordinates", "equality of geo-coordinates", "geo-coordinate equality", "coordinate equality", "location equality", "equal locations", "equal GPS coordinates", "GPS coordinates equal" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Tests if two Wikidata geo-coordinate objects are exactly equal." }, { "Z1K1": "Z11", "Z11K1": "Z1672", "Z11K2": "測試兩個Wikidata地理座標物件是否完全相等。" } ] } } a98sko35ivuo6eyo04bexncky418hsb Z25966 0 60599 273429 201251 2026-05-09T01:09:17Z Feeglgeef 8776 273429 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25966" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z20159", "Z17K2": "Z25966K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Year" } ] } } ], "Z8K2": "Z19677", "Z8K3": [ "Z20", "Z25967", "Z25969" ], "Z8K4": [ "Z14", "Z25968" ], "Z8K5": "Z25966" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "US CPI for year" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "US Consumer Price Index (CPI) from 1634 to 2024, unofficial before 1913." } ] } } ik3dxysut4us1uy0iw78qi21yohhi8h Z25974 0 60607 273442 208355 2026-05-09T03:24:23Z YoshiRulz 10156 Added Z34998 to the approved list of implementations 273442 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z25974" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z25974K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z25975", "Z25976" ], "Z8K4": [ "Z14", "Z25978", "Z25977", "Z34998" ], "Z8K5": "Z25974" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "dir attribute" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "dir", "content direction", "text direction", "direction of text" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Return \"rtl\" for right-to-left languages else \"ltr\"." } ] } } 6i2fxis2104z6mxi3ooemu7a8uu95ft Talk:Z26046 1 65298 273450 217337 2026-05-09T03:34:16Z YoshiRulz 10156 Add to category 273450 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] == Error documentation == === Errors that this function can directly throw === * {{Z+|Z28131}} [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:56, 11 September 2025 (UTC) 7ipwph2f1bxuq2ilag0ll32jco6apsk Z28248 0 65503 273262 270691 2026-05-08T15:23:22Z Volvox 3308 add lb description 273262 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z28248" }, "Z2K2": { "Z1K1": "Z50", "Z50K1": [ "Z3", { "Z1K1": "Z3", "Z3K1": "Z6", "Z3K2": "Z28248K1", "Z3K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata item QID" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "QID dell'elemento Wikidata" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "Wikidata-item-QID" } ] }, "Z3K4": { "Z1K1": "Z40", "Z40K1": "Z42" } }, { "Z1K1": "Z3", "Z3K1": "Z6", "Z3K2": "Z28248K2", "Z3K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "connecting properties PIDs" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "PID di proprietà di collegamento" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "verbindende eigenschappen PID's" } ] }, "Z3K4": { "Z1K1": "Z40", "Z40K1": "Z42" } }, { "Z1K1": "Z3", "Z3K1": "Z6", "Z3K2": "Z28248K3", "Z3K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language codes" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "codici delle lingue" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "taalcodes" } ] }, "Z3K4": { "Z1K1": "Z40", "Z40K1": "Z42" } } ], "Z50K2": "Z28248" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "Nessun lessema collegato a elemento nella lingua" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "No matching lexeme for item in language" }, { "Z1K1": "Z11", "Z11K1": "Z1157", "Z11K2": "geen overeenkomend lexeem voor item in taal" }, { "Z1K1": "Z11", "Z11K1": "Z1062", "Z11K2": "pro položku neexistuje lexém v daném jazyce" }, { "Z1K1": "Z11", "Z11K1": "Z1099", "Z11K2": "Kee passende Lexeem fir d'Element an dëser Sprooch" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } nybauly8v1z4d4arsdq37xw7gdznqjv Z28896 0 67142 273454 225427 2026-05-09T05:29:56Z Yamato Shiya 9717 translation to indonesia for labels 273454 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z28896" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6001", "Z17K2": "Z28896K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata item" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z28896K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z28897", "Z28898", "Z28899", "Z28901" ], "Z8K4": [ "Z14", "Z29003" ], "Z8K5": "Z28896" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "formatAPAName" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "pemformat nama APA" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "formats a person's name for an APA style citation" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "pemformat nama subjek ke dalam gaya sitasi APA" } ] } } qq5ttowhll3m0jqgwjeijryq286kdma Z29137 0 67687 273453 226411 2026-05-09T05:27:02Z Yamato Shiya 9717 traslation for name 273453 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z29137" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z29137K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Wikidata item" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z29137K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language" } ] } } ], "Z8K2": "Z6", "Z8K3": [ "Z20", "Z29138" ], "Z8K4": [ "Z14", "Z29139" ], "Z8K5": "Z29137" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "formatAPAName from Wikidata item ref" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "pemformat nama APA dari butir Wikidata" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "same as formatAPAName but takes item ref" }, { "Z1K1": "Z11", "Z11K1": "Z1078", "Z11K2": "pemformat nama dari butir Wikidata ke bentuk sitasi APA" } ] } } 8qnzup7d91z77e8du83aaxp804z6v4g User:Bunnypranav/sectionResolved.js 2 71170 273255 250014 2026-05-08T14:54:13Z Bunnypranav 9976 fix 273255 javascript text/javascript // <nowiki> /* * Adds a "mark resolved" button next to each section edit link on * Wikifunctions:Requests for deletions. Clicking posts the standard * done/resolved reply to that section. * Appends :{{Done}}~~~~ and {{Section resolved|1=~~~~}}. */ (function () { var page = mw.config.get('wgPageName'); var action = mw.config.get('wgAction'); if (page !== 'Wikifunctions:Requests_for_deletions' && page !== 'Wikifunctions:Report_vandalism' || action !== 'view') { return; } mw.loader.using(['mediawiki.util', 'mediawiki.api']).then(function () { var api = new mw.Api(); var sections = document.querySelectorAll('.mw-editsection'); sections.forEach(function (editSection) { var editLink = editSection.querySelector('a'); if (!editLink) { return; } var sectionId = mw.util.getParamValue('section', editLink.href); if (!sectionId || sectionId === '0') { return; // skip lead or invalid sections } // Avoid adding twice if (editSection.dataset.rfddoneAttached === 'true') { return; } editSection.dataset.rfddoneAttached = 'true'; var button = document.createElement('a'); button.href = '#'; button.textContent = 'mark resolved'; button.title = 'Post {{done}} and {{Section resolved}} to this section'; button.addEventListener('click', function (e) { e.preventDefault(); postResolution(api, sectionId, button); }); // Match the edit-section bracket style var open = document.createElement('span'); open.className = 'mw-editsection-bracket'; open.textContent = '['; var close = document.createElement('span'); close.className = 'mw-editsection-bracket'; close.textContent = ']'; editSection.appendChild(document.createTextNode(' ')); editSection.appendChild(open); editSection.appendChild(button); editSection.appendChild(close); }); }); function postResolution(api, sectionId, trigger) { if (trigger.dataset.rfddoneBusy === 'true') { return; } trigger.dataset.rfddoneBusy = 'true'; var originalText = trigger.textContent; trigger.textContent = 'posting'; newtext = ` :{{done}} ~~~~ {{Section resolved|1=~~~~}}`; api.postWithToken('csrf', { action: 'edit', title: mw.config.get('wgPageName'), section: sectionId, appendtext: '\n:{{done}} ~~~~\n{{Section resolved|1=~~~~}}\n', summary: 'Mark section resolved ([[User:Bunnypranav/sectionResolved.js|sectionResolved]])', watchlist: 'nochange' }).done(function () { location.reload(); }).fail(function (error) { trigger.textContent = originalText; trigger.dataset.rfddoneBusy = 'false'; mw.notify('Failed to post resolution: ' + error, { type: 'error' }); }); } })(); // </nowiki> fn0kxocwxpr7t7bb0w098pscw9w7nfu Category talk:Functions with only code implementations 15 77040 273451 273132 2026-05-09T03:34:55Z YoshiRulz 10156 /* Surveying all Z8s */ 273451 wikitext text/x-wiki == Surveying all Z8s == I've checked <code>[[Z10000]]</code>&ndash;<code>[[Z26049]]</code>. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 13:46, 21 March 2026 (UTC) 6ljgm5pnsgth00b6tkxs0nl51665gso Z32368 0 78602 273231 259088 2026-05-08T13:50:47Z Kylemaverick 3022 changed adjective from population to populous 273231 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z32368" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z29010", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z29010", "Z29010K1": { "Z1K1": "Z6091", "Z6091K1": "Q1033" }, "Z29010K2": { "Z1K1": "Z6091", "Z6091K1": "Q138758272" }, "Z29010K3": { "Z1K1": "Z6091", "Z6091K1": "Q6256" }, "Z29010K4": { "Z1K1": "Z6091", "Z6091K1": "Q15" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Nigeria is the most populous country in Africa." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "\"Nigeria is the most populous country in Africa.\"" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } dfac28k3agakm199nyaxmmrrraq0bge Talk:Z24721 1 81418 273370 269246 2026-05-08T21:22:06Z YoshiRulz 10156 Add to category 273370 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] [[Category:toki pona]] q6l807gkalqj2q8xlh20yw24vmmpd22 Z34538 0 81973 273279 271070 2026-05-08T17:12:53Z Red Sneak 13234 Translation. 273279 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34538" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z34538K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "set A" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "ensemble A" }, { "Z1K1": "Z11", "Z11K1": "Z1360", "Z11K2": "A" } ] } }, { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z17K2": "Z34538K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "set B" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "ensemble B" }, { "Z1K1": "Z11", "Z11K1": "Z1360", "Z11K2": "B" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z1" }, "Z8K3": [ "Z20", "Z34540" ], "Z8K4": [ "Z14", "Z34539", "Z34547" ], "Z8K5": "Z34538" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Union of sets" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "Union d'ensembles" }, { "Z1K1": "Z11", "Z11K1": "Z1360", "Z11K2": "∪" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "set union", "in one or the other", "in either" ] }, { "Z1K1": "Z31", "Z31K1": "Z1004", "Z31K2": [ "Z6", "réunion d'ensembles", "dans l'un ou l'autre" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Computes the union of two sets, the set of all the elements who are either in the first or the second set" }, { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "Calcule l'union de deux ensembles, l'ensemble de tous les éléments qui sont soit dans le premier soit dans le deuxième ensemble" }, { "Z1K1": "Z11", "Z11K1": "Z1360", "Z11K2": "A∪B" } ] } } nnun1vd37krmyasfd94dp04b075mdj8 Z34638 0 82102 273236 271644 2026-05-08T14:13:28Z Theki 2389 Removed Z34680 from the approved list of test cases 273236 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34638" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z34638K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z34677" ], "Z8K5": "Z34638" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "part-of sentence in English" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "X is part of Y" } ] } } n50ngn3xn00rszeknkmn49a5ag99xyv 273237 273236 2026-05-08T14:13:29Z Theki 2389 Removed Z34677 from the approved list of implementations 273237 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34638" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z34638K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z34638" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "part-of sentence in English" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "X is part of Y" } ] } } sch075zfg08vxhepk72x8q72smub3yl 273238 273237 2026-05-08T14:13:47Z Theki 2389 273238 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34638" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z34638K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z34638K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language (for spelling variants)" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z34638" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "part-of sentence in English" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "X is part of Y" } ] } } l0l78fyvk0owad7m2hc9r9wiu69jryw 273240 273238 2026-05-08T14:14:48Z Theki 2389 Added Z34680 to the approved list of test cases 273240 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34638" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z34638K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z34638K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language (for spelling variants)" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z34680" ], "Z8K4": [ "Z14" ], "Z8K5": "Z34638" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "part-of sentence in English" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "X is part of Y" } ] } } 9uieabkfd8pesgechwng5v7xer5mix8 273241 273240 2026-05-08T14:14:48Z Theki 2389 Added Z34677 to the approved list of implementations 273241 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34638" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z34638K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "entity" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z60", "Z17K2": "Z34638K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "language (for spelling variants)" } ] } } ], "Z8K2": "Z11", "Z8K3": [ "Z20", "Z34680" ], "Z8K4": [ "Z14", "Z34677" ], "Z8K5": "Z34638" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "part-of sentence in English" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "X is part of Y" } ] } } 83nwe1t2i2c3c8y2af2iukotgaah8mp Z34677 0 82212 273239 271715 2026-05-08T14:14:39Z Theki 2389 273239 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34677" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34638", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z7", "Z7K1": "Z34669", "Z34669K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": { "Z1K1": "Z7", "Z7K1": "Z24766", "Z24766K1": { "Z1K1": "Z18", "Z18K1": "Z34638K1" }, "Z24766K2": { "Z1K1": "Z18", "Z18K1": "Z34638K2" } } }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "is part of the" }, { "Z1K1": "Z7", "Z7K1": "Z34644", "Z34644K1": { "Z1K1": "Z7", "Z7K1": "Z33024", "Z33024K1": { "Z1K1": "Z7", "Z7K1": "Z34641", "Z34641K1": { "Z1K1": "Z7", "Z7K1": "Z6821", "Z6821K1": { "Z1K1": "Z18", "Z18K1": "Z34638K1" } } }, "Z33024K2": { "Z1K1": "Z18", "Z18K1": "Z34638K2" } } } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": " " } }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "." } ], "Z34669K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "part-of sentence in English, impl" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } rjsf2nwngagsjb7ycrt90tghiq6tr0a Z34680 0 82215 273242 271716 2026-05-08T14:15:17Z Theki 2389 273242 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34680" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z34638", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z34638", "Z34638K1": { "Z1K1": "Z6091", "Z6091K1": "Q132" }, "Z34638K2": "Z1002" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Sunday is part of the weekend." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Sunday is part of weekend, test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } gw5eb12jzb4rniqadh14viadgbned0x Z34682 0 82217 273245 271648 2026-05-08T14:17:24Z Theki 2389 273245 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34682" }, "Z2K2": { "Z1K1": "Z14294", "Z14294K1": [ "Z14293", { "Z1K1": "Z14293", "Z14293K1": "Z34638", "Z14293K2": "Z33034" } ], "Z14294K2": "Z34638" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "config for part-of sentence" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } stksohe05kn0zkeqfa86d5qqst3qry7 273246 273245 2026-05-08T14:18:13Z Theki 2389 273246 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34682" }, "Z2K2": { "Z1K1": "Z14294", "Z14294K1": [ "Z14293", { "Z1K1": "Z14293", "Z14293K1": "Z34638", "Z14293K2": "Z33034" }, { "Z1K1": "Z14293", "Z14293K1": "Z34867", "Z14293K2": "Z33056" } ], "Z14294K2": "Z34638" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "config for part-of sentence" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } mpq7dros40eosl9awotqop05ppf52i3 Z34683 0 82218 273243 271662 2026-05-08T14:16:33Z Theki 2389 273243 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34683" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34637", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z29390", "Z29390K1": { "Z1K1": "Z7", "Z7K1": "Z14310", "Z14310K1": "Z34682", "Z14310K2": { "Z1K1": "Z18", "Z18K1": "Z34637K2" } }, "Z29390K2": [ "Z1", { "Z1K1": "Z18", "Z18K1": "Z34637K1" }, { "Z1K1": "Z18", "Z18K1": "Z34637K2" } ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "part-of sentence - entity, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } nezh0fffu3m1z0xd46y45h1obomvbqt Z34684 0 82219 273244 271656 2026-05-08T14:17:05Z Theki 2389 273244 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34684" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z34637", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z34637", "Z34637K1": { "Z1K1": "Z6091", "Z6091K1": "Q525" }, "Z34637K2": "Z1002" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Sun is part of the Solar System." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Sun, part of solar system, Test" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } dzuc9kqaz5pksonlbxfr1rin1kh8wv5 Z34868 0 82595 273479 272640 2026-05-09T08:20:29Z Jsamwrites 938 273479 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34868" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z34867", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z34867", "Z34867K1": { "Z1K1": "Z6091", "Z6091K1": "Q132" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "Le dimanche fait partie du week-end." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Le dimanche fait partie du week-end." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } lgtx6ia94v2vw5v81c85xqhp3owfty6 Z34869 0 82596 273478 272641 2026-05-09T08:20:16Z Jsamwrites 938 273478 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34869" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z34867", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z34867", "Z34867K1": { "Z1K1": "Z6091", "Z6091K1": "Q525" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z14392", "Z14392K2": { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "Le soleil fait partie du système solaire." } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1004", "Z11K2": "Le soleil fait partie du système solaire." }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Le soleil fait partie du système solaire." } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } svyxju8c33ur47dvkhysywdbaspas1q User talk:NikolasKHF 3 82683 273439 272869 2026-05-09T02:37:50Z OwlyKnight 7673 Blanked the page 273439 wikitext text/x-wiki phoiac9h4m842xq45sp7s6u21eteeq1 User:NikolasKHF 2 82684 273432 272871 2026-05-09T01:57:47Z OwlyKnight 7673 Removed redirect to [[User:OwlyKnight]] 273432 wikitext text/x-wiki Will populate later :D gib3yd74a2v6ul0e8g4yj1qcktn2942 273481 273432 2026-05-09T09:02:09Z NikolasKHF 68920 273481 wikitext text/x-wiki ''Copied from [[meta:User:NikolasKHF]]'' {{#babel:id-N|en-3|sas-4}} Public account for {{PAGENAME}}, used for anything that require public presence, demo, etc. <!--For check user: This is a shockpuppet for another account (I believe you can trace which account). Please remind me if this account misbehaving.--> [[Special:EmailUser/{{PAGENAME}}|Email me]] or [[User talk:{{PAGENAME}}|send me a question]] for any inquiry. {{Collapse|2=Note|1= For any user, please note, that: # This account should ''NOT'' have any extended rights. # This account may be used occasionally to edit, but will not be used in discussion, vote, etc. If you see this account join discussion for consensus, vote, etc. after {{date|2026|05|10}} please kindly remind me. # Similar to point 2, this account should not also join any user group, newsletter, etc. If you found this name, please kindly tell me. Thank you! }} lezvqvwizw2gwcg50ttywti53in2rri 273482 273481 2026-05-09T09:02:30Z NikolasKHF 68920 273482 wikitext text/x-wiki ''Copied from [[meta:User:NikolasKHF]]'' {{#babel:id-N|en-3|sas-4}} Public account for {{PAGENAME}}, used for anything that require public presence, demo, etc. <!--For check user: This is a shockpuppet for another account (I believe you can trace which account). Please remind me if this account misbehaving.--> [[Special:EmailUser/{{PAGENAME}}|Email me]] or [[User talk:{{PAGENAME}}|send me a question]] for any inquiry. '''Note:''' For any user, please note, that: # This account should ''NOT'' have any extended rights. # This account may be used occasionally to edit, but will not be used in discussion, vote, etc. If you see this account join discussion for consensus, vote, etc. after {{date|2026|05|10}} please kindly remind me. # Similar to point 2, this account should not also join any user group, newsletter, etc. If you found this name, please kindly tell me. Thank you! q7zd7ydv3tf5mfm60qj70o64cwml9ms Wikifunctions:Status updates/2026-05-08 4 82771 273316 273215 2026-05-08T19:33:21Z Ameisenigel 44 273316 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = <translate><!--T:1--> Previous update</translate> | prev = 2026-05-02 | nextlabel = <translate><!--T:2--> Next update</translate> | next = }} <translate> <!--T:3--> === References from Wikidata now available === As of this Wednesday, references in Wikidata statements are being passed through to Wikifunctions. We are excited about this new ability, as this allows the use of the more than 1.3 billion references available in Wikidata and adding them as citations to individual statements in Abstract Wikipedia. Citations are a crucial element of a reliable encyclopedia, and so we are happy to make it easier to have them available in Abstract Wikipedia. <!--T:4--> Note that in related capabilities, links to external sites are still not displayed as links. We are working on relaxing that constraint for the content of references. For now, most hyperlinks can only be displayed as text. === Recording of Toby Hudson’s talk at WikiCon Australia === <!--T:5--> </translate> [[File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|thumb|Wikifunctions in Practice: Reusable Logic for Wikimedia]] <translate><!--T:6--> [[<tvar name="1">User:99of9</tvar>|Toby Hudson]] presented '''[[<tvar name="2">:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia</tvar>|Wikifunctions in Practice: Reusable Logic for Wikimedia]]''' at [[<tvar name="3">:meta:Event:WikiCon Australia 2026</tvar>|WikiCon Australia]] on 11 April 2026. The [[<tvar name="4">:c:File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm</tvar>|recording is available on Commons]] and [<tvar name="5">https://www.youtube.com/watch?v=ViOkEYQLggM</tvar> on YouTube]. <!--T:7--> Toby gives a great motivation for Abstract Wikipedia and Wikifunctions, and gives in 23 minutes a quick, but thorough overview of both projects, and then answers questions from the in-person audience. Here is the description of the talk: </translate> : <translate><!--T:8--> ''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</translate> : <translate><!--T:9--> ''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</translate> <translate> <!--T:10--> === Abstract data dashboard === David Santamaria has published a tool to help understand the state of Abstract Wikipedia: [<tvar name="1">https://abstract-data.toolforge.org/</tvar> "Abstract Data"], a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles. <!--T:11--> The main view shows all abstract articles and the number of languages/Wikipedias each can currently be rendered in. There is also a Languages view that ranks languages (Wikipedia's represented languages) by how many articles they can render, making it easy to see where coverage is strongest and where there is still work to do. Figuring out Lexeme coverage is not perfect yet. <!--T:12--> On the functions side, the tool lists the top 100 most-used Wikifunctions functions and shows which articles call each one, useful for assessing the impact of a change before making it. It also flags functions without an implementation or with failing tests, making it easy to spot when a broken function is blocking content from rendering. <!--T:13--> The data is based on the database dumps that are being generated twice a month. <!--T:14--> The tool is still in its early days, so it may not always work perfectly, and there are likely bugs. If you run into anything unexpected or have ideas for features you would find useful, please do let David know on [[<tvar name="1">User talk:DSantamaria-WMF</tvar>|his user talk page]]. This is not an official tool, but we hope you find it useful. <!--T:15--> === Admins on Abstract Wikipedia? === Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. <!--T:16--> === Recent Changes in the software === As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata (<tvar name="1">[[:phab:T404652|T404652]]</tvar>). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know. <!--T:17--> Items (and other entities)  fetched from Wikidata may contain statements, and each <tvar name="1">{{Z|Z6003}}</tvar>, in its Z6003K6/references key, may now contain zero or more instances of <tvar name="2">{{Z|Z6008}}</tvar>. For more information about Wikidata’s practices regarding references for statements, [[<tvar name="3">:d:Help:Sources</tvar>|Wikidata's Help:Sources page]] provides a useful discussion. <!--T:18--> We've added two new pre-defined equality Functions with built-in Implementations, to make it easier to work with natural languages. Firstly, we've added <tvar name="1">{{Z|Z862}}</tvar>, which should let you check if the language of an item for which you asked from Wikidata is what you received back, ''etc.'' (<tvar name="2">[[:phab:T424289|T424289]]</tvar>). Secondly, we've added <tvar name="3">{{Z|Z832}}</tvar>, which will let you see if two sets of labels (most used for Wikidata item aliases) are the same (<tvar name="4">[[:phab:T424461|T424461]]</tvar>). <!--T:19--> Finally, we fixed one bug that you might have noticed. Occasionally, the system might not reply to MediaWiki correctly, such as when the network connection was interrupted. In these rare cases, we now emit a proper error that should come through to you with a better explanation, rather than a mysterious breakage (<tvar name="1">[[:phab:T414062|T414062]]</tvar>). <!--T:20--> === Volunteers’ Corner on May 11 === The next Volunteers’ Corner will be on [<tvar name="1">https://zonestamp.toolforge.org/1778520600</tvar> Monday, 11 May 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on [<tvar name="2">https://meet.google.com/xuy-njxh-rkw</tvar> Google Meet]. <!--T:21--> === Fresh Functions weekly: 39 new Functions === This week we had 39 new functions. 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! </translate> * {{Z|Z34282}} * {{Z|Z34293}} * {{Z|Z34308}} * {{Z|Z34353}} * {{Z|Z34367}} * {{Z|Z34378}} * {{Z|Z34380}} * {{Z|Z34394}} * {{Z|Z34409}} * {{Z|Z34419}} * {{Z|Z34427}} * {{Z|Z34434}} * {{Z|Z34487}} * {{Z|Z34510}} * {{Z|Z34519}} * {{Z|Z34538}} * {{Z|Z34575}} * {{Z|Z34585}} * {{Z|Z34620}} * {{Z|Z34637}} * {{Z|Z34638}} * {{Z|Z34641}} * {{Z|Z34644}} * {{Z|Z34663}} * {{Z|Z34669}} * {{Z|Z34736}} <translate> <!--T:22--> A [<tvar name="1">https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest</tvar> complete list of all functions sorted by when they were created] is available. </translate> [[Category:Status updates{{#translation:}}|2026-05-08]] sti33v2m32quq3u3qa6pq7vkp782ime 273317 273316 2026-05-08T19:33:34Z Ameisenigel 44 Marked this version for translation 273317 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = <translate><!--T:1--> Previous update</translate> | prev = 2026-05-02 | nextlabel = <translate><!--T:2--> Next update</translate> | next = }} <translate> === References from Wikidata now available === <!--T:3--> <!--T:23--> As of this Wednesday, references in Wikidata statements are being passed through to Wikifunctions. We are excited about this new ability, as this allows the use of the more than 1.3 billion references available in Wikidata and adding them as citations to individual statements in Abstract Wikipedia. Citations are a crucial element of a reliable encyclopedia, and so we are happy to make it easier to have them available in Abstract Wikipedia. <!--T:4--> Note that in related capabilities, links to external sites are still not displayed as links. We are working on relaxing that constraint for the content of references. For now, most hyperlinks can only be displayed as text. === Recording of Toby Hudson’s talk at WikiCon Australia === <!--T:5--> </translate> [[File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|thumb|Wikifunctions in Practice: Reusable Logic for Wikimedia]] <translate><!--T:6--> [[<tvar name="1">User:99of9</tvar>|Toby Hudson]] presented '''[[<tvar name="2">:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia</tvar>|Wikifunctions in Practice: Reusable Logic for Wikimedia]]''' at [[<tvar name="3">:meta:Event:WikiCon Australia 2026</tvar>|WikiCon Australia]] on 11 April 2026. The [[<tvar name="4">:c:File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm</tvar>|recording is available on Commons]] and [<tvar name="5">https://www.youtube.com/watch?v=ViOkEYQLggM</tvar> on YouTube]. <!--T:7--> Toby gives a great motivation for Abstract Wikipedia and Wikifunctions, and gives in 23 minutes a quick, but thorough overview of both projects, and then answers questions from the in-person audience. Here is the description of the talk: </translate> : <translate><!--T:8--> ''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</translate> : <translate><!--T:9--> ''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</translate> <translate> === Abstract data dashboard === <!--T:10--> <!--T:24--> David Santamaria has published a tool to help understand the state of Abstract Wikipedia: [<tvar name="1">https://abstract-data.toolforge.org/</tvar> "Abstract Data"], a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles. <!--T:11--> The main view shows all abstract articles and the number of languages/Wikipedias each can currently be rendered in. There is also a Languages view that ranks languages (Wikipedia's represented languages) by how many articles they can render, making it easy to see where coverage is strongest and where there is still work to do. Figuring out Lexeme coverage is not perfect yet. <!--T:12--> On the functions side, the tool lists the top 100 most-used Wikifunctions functions and shows which articles call each one, useful for assessing the impact of a change before making it. It also flags functions without an implementation or with failing tests, making it easy to spot when a broken function is blocking content from rendering. <!--T:13--> The data is based on the database dumps that are being generated twice a month. <!--T:14--> The tool is still in its early days, so it may not always work perfectly, and there are likely bugs. If you run into anything unexpected or have ideas for features you would find useful, please do let David know on [[<tvar name="1">User talk:DSantamaria-WMF</tvar>|his user talk page]]. This is not an official tool, but we hope you find it useful. === Admins on Abstract Wikipedia? === <!--T:15--> <!--T:25--> Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. === Recent Changes in the software === <!--T:16--> <!--T:26--> As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata (<tvar name="1">[[:phab:T404652|T404652]]</tvar>). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know. <!--T:17--> Items (and other entities)  fetched from Wikidata may contain statements, and each <tvar name="1">{{Z|Z6003}}</tvar>, in its Z6003K6/references key, may now contain zero or more instances of <tvar name="2">{{Z|Z6008}}</tvar>. For more information about Wikidata’s practices regarding references for statements, [[<tvar name="3">:d:Help:Sources</tvar>|Wikidata's Help:Sources page]] provides a useful discussion. <!--T:18--> We've added two new pre-defined equality Functions with built-in Implementations, to make it easier to work with natural languages. Firstly, we've added <tvar name="1">{{Z|Z862}}</tvar>, which should let you check if the language of an item for which you asked from Wikidata is what you received back, ''etc.'' (<tvar name="2">[[:phab:T424289|T424289]]</tvar>). Secondly, we've added <tvar name="3">{{Z|Z832}}</tvar>, which will let you see if two sets of labels (most used for Wikidata item aliases) are the same (<tvar name="4">[[:phab:T424461|T424461]]</tvar>). <!--T:19--> Finally, we fixed one bug that you might have noticed. Occasionally, the system might not reply to MediaWiki correctly, such as when the network connection was interrupted. In these rare cases, we now emit a proper error that should come through to you with a better explanation, rather than a mysterious breakage (<tvar name="1">[[:phab:T414062|T414062]]</tvar>). === Volunteers’ Corner on May 11 === <!--T:20--> <!--T:27--> The next Volunteers’ Corner will be on [<tvar name="1">https://zonestamp.toolforge.org/1778520600</tvar> Monday, 11 May 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on [<tvar name="2">https://meet.google.com/xuy-njxh-rkw</tvar> Google Meet]. === Fresh Functions weekly: 39 new Functions === <!--T:21--> <!--T:28--> This week we had 39 new functions. 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! </translate> * {{Z|Z34282}} * {{Z|Z34293}} * {{Z|Z34308}} * {{Z|Z34353}} * {{Z|Z34367}} * {{Z|Z34378}} * {{Z|Z34380}} * {{Z|Z34394}} * {{Z|Z34409}} * {{Z|Z34419}} * {{Z|Z34427}} * {{Z|Z34434}} * {{Z|Z34487}} * {{Z|Z34510}} * {{Z|Z34519}} * {{Z|Z34538}} * {{Z|Z34575}} * {{Z|Z34585}} * {{Z|Z34620}} * {{Z|Z34637}} * {{Z|Z34638}} * {{Z|Z34641}} * {{Z|Z34644}} * {{Z|Z34663}} * {{Z|Z34669}} * {{Z|Z34736}} <translate> <!--T:22--> A [<tvar name="1">https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest</tvar> complete list of all functions sorted by when they were created] is available. </translate> [[Category:Status updates{{#translation:}}|2026-05-08]] s5bsm608qhrtowpc035ixw9zltzxr3s Translations:Wikifunctions:Status updates/2026-05-08/3/en 1198 82774 273319 273150 2026-05-08T19:33:34Z FuzzyBot 207 Importing a new version from external source 273319 wikitext text/x-wiki === References from Wikidata now available === fznw8714bqt3x7oookjwet8rti6je7q Translations:Wikifunctions:Status updates/2026-05-08/10/en 1198 82781 273321 273157 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273321 wikitext text/x-wiki === Abstract data dashboard === bxhealgckzafch2y2020z4ouq6bn6h7 Translations:Wikifunctions:Status updates/2026-05-08/15/en 1198 82786 273323 273162 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273323 wikitext text/x-wiki === Admins on Abstract Wikipedia? === cvhee1we69t8etfx1i11wpmnsu6pasg Translations:Wikifunctions:Status updates/2026-05-08/16/en 1198 82787 273325 273163 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273325 wikitext text/x-wiki === Recent Changes in the software === 0wkgk5zbnz8yeis277kmszjppej85s4 Translations:Wikifunctions:Status updates/2026-05-08/20/en 1198 82791 273327 273167 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273327 wikitext text/x-wiki === Volunteers’ Corner on May 11 === p0sc4ezoe19sw2iqxz6sn85w4lgb5o0 Translations:Wikifunctions:Status updates/2026-05-08/21/en 1198 82792 273329 273168 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273329 wikitext text/x-wiki === Fresh Functions weekly: 39 new Functions === fl5lmr8kmq1sc8zsxhm6pqi76k5wnbp Wikifunctions:Status updates/2026-05-08/en 4 82794 273331 273216 2026-05-08T19:33:37Z FuzzyBot 207 Updating to match new version of source page 273331 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = Previous update | prev = 2026-05-02 | nextlabel = Next update | next = }} === References from Wikidata now available === As of this Wednesday, references in Wikidata statements are being passed through to Wikifunctions. We are excited about this new ability, as this allows the use of the more than 1.3 billion references available in Wikidata and adding them as citations to individual statements in Abstract Wikipedia. Citations are a crucial element of a reliable encyclopedia, and so we are happy to make it easier to have them available in Abstract Wikipedia. Note that in related capabilities, links to external sites are still not displayed as links. We are working on relaxing that constraint for the content of references. For now, most hyperlinks can only be displayed as text. === Recording of Toby Hudson’s talk at WikiCon Australia === [[File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|thumb|Wikifunctions in Practice: Reusable Logic for Wikimedia]] [[User:99of9|Toby Hudson]] presented '''[[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]]''' at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026. The [[:c:File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|recording is available on Commons]] and [https://www.youtube.com/watch?v=ViOkEYQLggM on YouTube]. Toby gives a great motivation for Abstract Wikipedia and Wikifunctions, and gives in 23 minutes a quick, but thorough overview of both projects, and then answers questions from the in-person audience. Here is the description of the talk: : ''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.'' : ''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.'' === Abstract data dashboard === David Santamaria has published a tool to help understand the state of Abstract Wikipedia: [https://abstract-data.toolforge.org/ "Abstract Data"], a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles. The main view shows all abstract articles and the number of languages/Wikipedias each can currently be rendered in. There is also a Languages view that ranks languages (Wikipedia's represented languages) by how many articles they can render, making it easy to see where coverage is strongest and where there is still work to do. Figuring out Lexeme coverage is not perfect yet. On the functions side, the tool lists the top 100 most-used Wikifunctions functions and shows which articles call each one, useful for assessing the impact of a change before making it. It also flags functions without an implementation or with failing tests, making it easy to spot when a broken function is blocking content from rendering. The data is based on the database dumps that are being generated twice a month. The tool is still in its early days, so it may not always work perfectly, and there are likely bugs. If you run into anything unexpected or have ideas for features you would find useful, please do let David know on [[User talk:DSantamaria-WMF|his user talk page]]. This is not an official tool, but we hope you find it useful. === Admins on Abstract Wikipedia? === Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. === Recent Changes in the software === As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata ([[:phab:T404652|T404652]]). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know. Items (and other entities)  fetched from Wikidata may contain statements, and each {{Z|Z6003}}, in its Z6003K6/references key, may now contain zero or more instances of {{Z|Z6008}}. For more information about Wikidata’s practices regarding references for statements, [[:d:Help:Sources|Wikidata's Help:Sources page]] provides a useful discussion. We've added two new pre-defined equality Functions with built-in Implementations, to make it easier to work with natural languages. Firstly, we've added {{Z|Z862}}, which should let you check if the language of an item for which you asked from Wikidata is what you received back, ''etc.'' ([[:phab:T424289|T424289]]). Secondly, we've added {{Z|Z832}}, which will let you see if two sets of labels (most used for Wikidata item aliases) are the same ([[:phab:T424461|T424461]]). Finally, we fixed one bug that you might have noticed. Occasionally, the system might not reply to MediaWiki correctly, such as when the network connection was interrupted. In these rare cases, we now emit a proper error that should come through to you with a better explanation, rather than a mysterious breakage ([[:phab:T414062|T414062]]). === Volunteers’ Corner on May 11 === The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1778520600 Monday, 11 May 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet]. === Fresh Functions weekly: 39 new Functions === This week we had 39 new functions. 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! * {{Z|Z34282}} * {{Z|Z34293}} * {{Z|Z34308}} * {{Z|Z34353}} * {{Z|Z34367}} * {{Z|Z34378}} * {{Z|Z34380}} * {{Z|Z34394}} * {{Z|Z34409}} * {{Z|Z34419}} * {{Z|Z34427}} * {{Z|Z34434}} * {{Z|Z34487}} * {{Z|Z34510}} * {{Z|Z34519}} * {{Z|Z34538}} * {{Z|Z34575}} * {{Z|Z34585}} * {{Z|Z34620}} * {{Z|Z34637}} * {{Z|Z34638}} * {{Z|Z34641}} * {{Z|Z34644}} * {{Z|Z34663}} * {{Z|Z34669}} * {{Z|Z34736}} A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available. [[Category:Status updates{{#translation:}}|2026-05-08]] rz5go24gts1sfzry5olv8dmmkhvjx3a Z34975 0 82797 273256 2026-05-08T15:12:33Z YoshiRulz 10156 Create test 273256 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34975" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z13464", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z13464", "Z13464K1": "Z16437", "Z13464K2": { "Z1K1": "Z7", "Z7K1": "Z13831", "Z13831K1": { "Z1K1": "Z13518", "Z13518K1": "1" }, "Z13831K2": { "Z1K1": "Z13518", "Z13518K1": "10" } }, "Z13464K3": "Z1002" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z889", "Z889K2": [ "Z6", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten" ], "Z889K3": "Z866" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "cardinals in English for Natural number range" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } muewrfphiy21h3hm505vl2lx4fhhold Talk:Z24025 1 82798 273266 2026-05-08T15:54:49Z YoshiRulz 10156 Add to category 273266 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24081 1 82799 273267 2026-05-08T15:56:58Z YoshiRulz 10156 Add to category 273267 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24139 1 82800 273268 2026-05-08T15:58:24Z YoshiRulz 10156 Add to category 273268 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Z34976 0 82801 273271 2026-05-08T16:08:29Z YoshiRulz 10156 Create implementation 273271 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34976" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24207", "Z14K2": [ "Z1", { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z821", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z27665", "Z27665K1": { "Z1K1": "Z7", "Z7K1": "Z29794", "Z29794K1": "Z30414", "Z29794K2": { "Z1K1": "Z18", "Z18K1": "Z24207K1" }, "Z29794K3": { "Z1K1": "Z18", "Z18K1": "Z24207K2" } } } }, { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z822", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z27665", "Z27665K1": { "Z1K1": "Z7", "Z7K1": "Z29794", "Z29794K1": "Z30414", "Z29794K2": { "Z1K1": "Z18", "Z18K1": "Z24207K1" }, "Z29794K3": { "Z1K1": "Z18", "Z18K1": "Z24207K2" } } } } ] }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Cartesian product as 2 lists, flatten composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } tk7bswkaaqedxvq47qoq7u66lx5ui14 Z34977 0 82802 273273 2026-05-08T16:29:33Z YoshiRulz 10156 Create implementation 273273 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34977" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24207", "Z14K2": [ "Z1", { "Z1K1": "Z7", "Z7K1": "Z27665", "Z27665K1": { "Z1K1": "Z7", "Z7K1": "Z13464", "Z13464K1": "Z21389", "Z13464K2": { "Z1K1": "Z18", "Z18K1": "Z24207K1" }, "Z13464K3": { "Z1K1": "Z7", "Z7K1": "Z12681", "Z12681K1": { "Z1K1": "Z18", "Z18K1": "Z24207K2" } } } }, { "Z1K1": "Z7", "Z7K1": "Z27665", "Z27665K1": { "Z1K1": "Z7", "Z7K1": "Z21389", "Z21389K1": { "Z1K1": "Z18", "Z18K1": "Z24207K2" }, "Z21389K2": { "Z1K1": "Z7", "Z7K1": "Z12681", "Z12681K1": { "Z1K1": "Z18", "Z18K1": "Z24207K1" } } } } ] }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Cartesian product as 2 lists, copying composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } d5t2pyzmom66jdnqe2wpjxvy84xyzx9 Z34978 0 82803 273275 2026-05-08T16:56:52Z YoshiRulz 10156 Create implementation 273275 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34978" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24255", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10174", "Z10174K1": { "Z1K1": "Z7", "Z7K1": "Z23120", "Z23120K1": { "Z1K1": "Z18", "Z18K1": "Z24255K2" } }, "Z10174K2": { "Z1K1": "Z7", "Z7K1": "Z12846", "Z12846K1": { "Z1K1": "Z7", "Z7K1": "Z22638", "Z22638K1": { "Z1K1": "Z18", "Z18K1": "Z24255K1" } }, "Z12846K2": { "Z1K1": "Z18", "Z18K1": "Z24255K2" } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z34902", "Z34902K1": { "Z1K1": "Z7", "Z7K1": "Z19279", "Z19279K1": { "Z1K1": "Z7", "Z7K1": "Z22399", "Z22399K1": { "Z1K1": "Z18", "Z18K1": "Z24255K1" } } }, "Z34902K2": { "Z1K1": "Z18", "Z18K1": "Z24255K3" } }, "Z802K3": [ "Z11" ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "representations from Form by language, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } badto210arqlkt0kxbwqbjj59p50jb6 273290 273275 2026-05-08T18:21:48Z Dv103 11127 changed to align to function definition 273290 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34978" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24255", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z10184", "Z10184K1": { "Z1K1": "Z7", "Z7K1": "Z813", "Z813K1": { "Z1K1": "Z18", "Z18K1": "Z24255K2" } }, "Z10184K2": { "Z1K1": "Z7", "Z7K1": "Z12846", "Z12846K1": { "Z1K1": "Z7", "Z7K1": "Z22638", "Z22638K1": { "Z1K1": "Z18", "Z18K1": "Z24255K1" } }, "Z12846K2": { "Z1K1": "Z18", "Z18K1": "Z24255K2" } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z34902", "Z34902K1": { "Z1K1": "Z7", "Z7K1": "Z19279", "Z19279K1": { "Z1K1": "Z7", "Z7K1": "Z22399", "Z22399K1": { "Z1K1": "Z18", "Z18K1": "Z24255K1" } } }, "Z34902K2": { "Z1K1": "Z18", "Z18K1": "Z24255K3" } }, "Z802K3": [ "Z11" ] } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "representations from Form by language, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } bj61cw9gxxwo0rm45nv36b7sbv0t1ra Z34979 0 82804 273282 2026-05-08T18:11:22Z Dv103 11127 273282 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34979" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z24255", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z24255", "Z24255K1": { "Z1K1": "Z7", "Z7K1": "Z6824", "Z6824K1": { "Z1K1": "Z6094", "Z6094K1": "L350-F1" } }, "Z24255K2": [ "Z6091" ], "Z24255K3": [ "Z60" ] }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z889", "Z889K2": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "casa" } ], "Z889K3": "Z14392" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "casa, [], [] -\u003E [(it) casa]" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } sjwkc0nh43n2s45jj9sam3wfhoo9glj Z34980 0 82805 273284 2026-05-08T18:14:56Z Dv103 11127 273284 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34980" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z12846", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z12846", "Z12846K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hello" }, { "Z1K1": "Z11", "Z11K1": "Z1003", "Z11K2": "hola" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "ciao" } ], "Z12846K2": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1003", "Z11K2": "hola" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hello" } ] }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z41" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "controllo con testi monolingue" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 2lh5nejpyclxffamxn946dtkhlxbpuw 273285 273284 2026-05-08T18:17:00Z Dv103 11127 273285 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34980" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z12846", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z12846", "Z12846K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hello" }, { "Z1K1": "Z11", "Z11K1": "Z1003", "Z11K2": "hola" }, { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "ciao" } ], "Z12846K2": [ "Z11", { "Z1K1": "Z11", "Z11K1": { "Z1K1": "Z60", "Z60K1": "es", "Z60K2": [ "Z6" ] }, "Z11K2": "hola" }, { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "hello" } ] }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z844", "Z844K2": { "Z1K1": "Z40", "Z40K1": "Z41" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1787", "Z11K2": "controllo con testi monolingue" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } azkvlub7mk31ehfyl64a7p9gjf0vmqs Z34981 0 82806 273291 2026-05-08T18:27:27Z YoshiRulz 10156 Create implementation 273291 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34981" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24263", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z19699", "Z19699K1": { "Z1K1": "Z7", "Z7K1": "Z24487", "Z24487K1": { "Z1K1": "Z18", "Z18K1": "Z24263K1" } }, "Z19699K2": { "Z1K1": "Z19677", "Z19677K1": { "Z1K1": "Z16659", "Z16659K1": "Z16660" }, "Z19677K2": { "Z1K1": "Z13518", "Z13518K1": "2" }, "Z19677K3": { "Z1K1": "Z13518", "Z13518K1": "1" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "x^2 - 2 (Rational), composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } jdrbdd15c1cisb4zp8zlso4qb91gut3 Z34982 0 82807 273293 2026-05-08T18:33:52Z YoshiRulz 10156 Create implementation 273293 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34982" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24280", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z19243", "Z19243K1": { "Z1K1": "Z18", "Z18K1": "Z24280K1" }, "Z19243K2": { "Z1K1": "Z18", "Z18K1": "Z24280K2" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "select Forms from Lexeme by language, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7aqdcdv28g70stsh2da0w01ccyutwu3 Talk:Z24280 1 82808 273294 2026-05-08T18:35:47Z YoshiRulz 10156 /* Purpose of language filter */ new section 273294 wikitext text/x-wiki == Purpose of language filter == I can't tell from the single test how this is different from {{Z|19243}}. What does "ordered according to a list of languages" mean when a Lexeme's Forms all belong to the same language (that of the Lexeme)? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 18:35, 8 May 2026 (UTC) r6tfbfsh4ch8jxsl0x9uiiuibc6bhdn Talk:Z26570 1 82809 273295 2026-05-08T18:36:40Z Dv103 11127 /* Definition of "location" */ new section 273295 wikitext text/x-wiki == Definition of "location" == What do we mean with "location" in this function? The testcases clearly indicate that with location we just mean phisical location, but in Abstract Wikipedia pages like [[abstract:Q96807071]], I see that it is also used for metaphorical places. Should we better define that this function should only be used for literal locations? By the way, what counts as "location"? Only geographical areas that completely enclose the item are allowed? Or could this function be used to define an item that is ''inside'' another item, like inside a building? For some languages, this sort of distinctions could be very important. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 18:36, 8 May 2026 (UTC) o4s0qlo912begncsj2jzb2k8rmg2v2k Talk:Z24450 1 82810 273299 2026-05-08T19:04:17Z YoshiRulz 10156 Add to category 273299 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24459 1 82811 273301 2026-05-08T19:06:31Z YoshiRulz 10156 Add to category 273301 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24460 1 82812 273302 2026-05-08T19:06:35Z YoshiRulz 10156 Add to category 273302 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Z34983 0 82813 273304 2026-05-08T19:10:23Z YoshiRulz 10156 Create implementation 273304 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34983" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24472", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z16773", "Z16773K1": { "Z1K1": "Z18", "Z18K1": "Z24472K2" }, "Z16773K2": { "Z1K1": "Z13518", "Z13518K1": "1" }, "Z16773K3": { "Z1K1": "Z7", "Z7K1": "Z11040", "Z11040K1": { "Z1K1": "Z18", "Z18K1": "Z24472K1" } } }, "Z802K2": { "Z1K1": "Z7", "Z7K1": "Z13397", "Z13397K1": { "Z1K1": "Z7", "Z7K1": "Z22717", "Z22717K1": { "Z1K1": "Z18", "Z18K1": "Z24472K1" } }, "Z13397K2": { "Z1K1": "Z18", "Z18K1": "Z24472K2" } }, "Z802K3": { "Z1K1": "Z86", "Z86K1": { "Z1K1": "Z13518", "Z13518K1": "21" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "get nth code point of String, via-list composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } l0srlgr0t7vz0pgt0a9rq9g7gbtx7tn Z34984 0 82814 273305 2026-05-08T19:11:19Z YoshiRulz 10156 Create implementation 273305 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34984" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z25578", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z15631", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z22717", "Z22717K1": { "Z1K1": "Z18", "Z18K1": "Z25578K1" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "codepoints of String as Strings, map composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 4fmx4o1g7ux3t0c8a5x990lt3p10896 Z34985 0 82815 273306 2026-05-08T19:13:06Z YoshiRulz 10156 Create implementation 273306 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34985" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z25578", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z13436", "Z13436K1": "Z14244", "Z13436K2": { "Z1K1": "Z18", "Z18K1": "Z25578K1" }, "Z13436K3": { "Z1K1": "Z7", "Z7K1": "Z13831", "Z13831K1": { "Z1K1": "Z13518", "Z13518K1": "1" }, "Z13831K2": { "Z1K1": "Z7", "Z7K1": "Z11040", "Z11040K1": { "Z1K1": "Z18", "Z18K1": "Z25578K1" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "codepoints of String as Strings, index composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } f1ntmrjhdtmbox9pb8mpeybef5c3cyr Talk:Z24497 1 82816 273314 2026-05-08T19:23:32Z YoshiRulz 10156 Add to category 273314 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24505 1 82817 273315 2026-05-08T19:25:03Z YoshiRulz 10156 Add to category 273315 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Translations:Wikifunctions:Status updates/2026-05-08/Page display title/en 1198 82818 273318 2026-05-08T19:33:34Z FuzzyBot 207 Importing a new version from external source 273318 wikitext text/x-wiki Wikifunctions:Status updates/2026-05-08 nxsyqczgd9zd1jttnx99ilxprzzb1bb Translations:Wikifunctions:Status updates/2026-05-08/23/en 1198 82819 273320 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273320 wikitext text/x-wiki As of this Wednesday, references in Wikidata statements are being passed through to Wikifunctions. We are excited about this new ability, as this allows the use of the more than 1.3 billion references available in Wikidata and adding them as citations to individual statements in Abstract Wikipedia. Citations are a crucial element of a reliable encyclopedia, and so we are happy to make it easier to have them available in Abstract Wikipedia. 7d5sumrrhjpou49u2hko1b8cn2usr4a Translations:Wikifunctions:Status updates/2026-05-08/24/en 1198 82820 273322 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273322 wikitext text/x-wiki David Santamaria has published a tool to help understand the state of Abstract Wikipedia: [$1 "Abstract Data"], a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles. qtuha76e88mi097ast8cakzqwakjbev Translations:Wikifunctions:Status updates/2026-05-08/25/en 1198 82821 273324 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273324 wikitext text/x-wiki Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. pbmbdmx002oc3i87wt22f2w01b39lqw Translations:Wikifunctions:Status updates/2026-05-08/26/en 1198 82822 273326 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273326 wikitext text/x-wiki As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata ($1). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know. 7x9dioetlkod7w4xkdrqfjk2izykom2 Translations:Wikifunctions:Status updates/2026-05-08/27/en 1198 82823 273328 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273328 wikitext text/x-wiki The next Volunteers’ Corner will be on [$1 Monday, 11 May 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on [$2 Google Meet]. ivc0y7s0b74amxsjp6wji6gcu3of71x Translations:Wikifunctions:Status updates/2026-05-08/28/en 1198 82824 273330 2026-05-08T19:33:35Z FuzzyBot 207 Importing a new version from external source 273330 wikitext text/x-wiki This week we had 39 new functions. 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! 0swriy0yjs63cnky8m4ixdhak9qvbae Translations:Wikifunctions:Status updates/2026-05-08/Page display title/de 1198 82825 273342 2026-05-08T19:55:10Z Ameisenigel 44 Created page with "Wikifunctions:Status-Updates/2026-05-08" 273342 wikitext text/x-wiki Wikifunctions:Status-Updates/2026-05-08 oi5x8zuhrslqok6xapdufsi2egbh2ei Wikifunctions:Status updates/2026-05-08/de 4 82826 273343 2026-05-08T19:55:10Z Ameisenigel 44 Created page with "Wikifunctions:Status-Updates/2026-05-08" 273343 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = <span lang="en" dir="ltr" class="mw-content-ltr">Previous update</span> | prev = 2026-05-02 | nextlabel = <span lang="en" dir="ltr" class="mw-content-ltr">Next update</span> | next = }} <div lang="en" dir="ltr" class="mw-content-ltr"> === References from Wikidata now available === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> As of this Wednesday, references in Wikidata statements are being passed through to Wikifunctions. We are excited about this new ability, as this allows the use of the more than 1.3 billion references available in Wikidata and adding them as citations to individual statements in Abstract Wikipedia. Citations are a crucial element of a reliable encyclopedia, and so we are happy to make it easier to have them available in Abstract Wikipedia. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Note that in related capabilities, links to external sites are still not displayed as links. We are working on relaxing that constraint for the content of references. For now, most hyperlinks can only be displayed as text. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recording of Toby Hudson’s talk at WikiCon Australia === </div> [[File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|thumb|Wikifunctions in Practice: Reusable Logic for Wikimedia]] <div lang="en" dir="ltr" class="mw-content-ltr"> [[User:99of9|Toby Hudson]] presented '''[[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]]''' at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026. The [[:c:File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|recording is available on Commons]] and [https://www.youtube.com/watch?v=ViOkEYQLggM on YouTube]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Toby gives a great motivation for Abstract Wikipedia and Wikifunctions, and gives in 23 minutes a quick, but thorough overview of both projects, and then answers questions from the in-person audience. Here is the description of the talk: </div> : <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span> : <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span> <div lang="en" dir="ltr" class="mw-content-ltr"> === Abstract data dashboard === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> David Santamaria has published a tool to help understand the state of Abstract Wikipedia: [https://abstract-data.toolforge.org/ "Abstract Data"], a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The main view shows all abstract articles and the number of languages/Wikipedias each can currently be rendered in. There is also a Languages view that ranks languages (Wikipedia's represented languages) by how many articles they can render, making it easy to see where coverage is strongest and where there is still work to do. Figuring out Lexeme coverage is not perfect yet. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> On the functions side, the tool lists the top 100 most-used Wikifunctions functions and shows which articles call each one, useful for assessing the impact of a change before making it. It also flags functions without an implementation or with failing tests, making it easy to spot when a broken function is blocking content from rendering. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The data is based on the database dumps that are being generated twice a month. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The tool is still in its early days, so it may not always work perfectly, and there are likely bugs. If you run into anything unexpected or have ideas for features you would find useful, please do let David know on [[User talk:DSantamaria-WMF|his user talk page]]. This is not an official tool, but we hope you find it useful. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Admins on Abstract Wikipedia? === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recent Changes in the software === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata ([[:phab:T404652|T404652]]). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Items (and other entities)  fetched from Wikidata may contain statements, and each {{Z|Z6003}}, in its Z6003K6/references key, may now contain zero or more instances of {{Z|Z6008}}. For more information about Wikidata’s practices regarding references for statements, [[:d:Help:Sources|Wikidata's Help:Sources page]] provides a useful discussion. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> We've added two new pre-defined equality Functions with built-in Implementations, to make it easier to work with natural languages. Firstly, we've added {{Z|Z862}}, which should let you check if the language of an item for which you asked from Wikidata is what you received back, ''etc.'' ([[:phab:T424289|T424289]]). Secondly, we've added {{Z|Z832}}, which will let you see if two sets of labels (most used for Wikidata item aliases) are the same ([[:phab:T424461|T424461]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Finally, we fixed one bug that you might have noticed. Occasionally, the system might not reply to MediaWiki correctly, such as when the network connection was interrupted. In these rare cases, we now emit a proper error that should come through to you with a better explanation, rather than a mysterious breakage ([[:phab:T414062|T414062]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Volunteers’ Corner on May 11 === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1778520600 Monday, 11 May 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Fresh Functions weekly: 39 new Functions === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> This week we had 39 new functions. 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! </div> * {{Z|Z34282}} * {{Z|Z34293}} * {{Z|Z34308}} * {{Z|Z34353}} * {{Z|Z34367}} * {{Z|Z34378}} * {{Z|Z34380}} * {{Z|Z34394}} * {{Z|Z34409}} * {{Z|Z34419}} * {{Z|Z34427}} * {{Z|Z34434}} * {{Z|Z34487}} * {{Z|Z34510}} * {{Z|Z34519}} * {{Z|Z34538}} * {{Z|Z34575}} * {{Z|Z34585}} * {{Z|Z34620}} * {{Z|Z34637}} * {{Z|Z34638}} * {{Z|Z34641}} * {{Z|Z34644}} * {{Z|Z34663}} * {{Z|Z34669}} * {{Z|Z34736}} <div lang="en" dir="ltr" class="mw-content-ltr"> A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available. </div> [[Category:Status updates{{#translation:}}|2026-05-08]] eaqh7wd0qkjjw3fowu1ass23pp3uvsn 273345 273343 2026-05-08T19:55:13Z Ameisenigel 44 Created page with "Vorheriges Update" 273345 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = Vorheriges Update | prev = 2026-05-02 | nextlabel = <span lang="en" dir="ltr" class="mw-content-ltr">Next update</span> | next = }} <div lang="en" dir="ltr" class="mw-content-ltr"> === References from Wikidata now available === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> As of this Wednesday, references in Wikidata statements are being passed through to Wikifunctions. We are excited about this new ability, as this allows the use of the more than 1.3 billion references available in Wikidata and adding them as citations to individual statements in Abstract Wikipedia. Citations are a crucial element of a reliable encyclopedia, and so we are happy to make it easier to have them available in Abstract Wikipedia. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Note that in related capabilities, links to external sites are still not displayed as links. We are working on relaxing that constraint for the content of references. For now, most hyperlinks can only be displayed as text. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recording of Toby Hudson’s talk at WikiCon Australia === </div> [[File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|thumb|Wikifunctions in Practice: Reusable Logic for Wikimedia]] <div lang="en" dir="ltr" class="mw-content-ltr"> [[User:99of9|Toby Hudson]] presented '''[[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]]''' at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026. The [[:c:File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|recording is available on Commons]] and [https://www.youtube.com/watch?v=ViOkEYQLggM on YouTube]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Toby gives a great motivation for Abstract Wikipedia and Wikifunctions, and gives in 23 minutes a quick, but thorough overview of both projects, and then answers questions from the in-person audience. Here is the description of the talk: </div> : <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span> : <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span> <div lang="en" dir="ltr" class="mw-content-ltr"> === Abstract data dashboard === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> David Santamaria has published a tool to help understand the state of Abstract Wikipedia: [https://abstract-data.toolforge.org/ "Abstract Data"], a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The main view shows all abstract articles and the number of languages/Wikipedias each can currently be rendered in. There is also a Languages view that ranks languages (Wikipedia's represented languages) by how many articles they can render, making it easy to see where coverage is strongest and where there is still work to do. Figuring out Lexeme coverage is not perfect yet. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> On the functions side, the tool lists the top 100 most-used Wikifunctions functions and shows which articles call each one, useful for assessing the impact of a change before making it. It also flags functions without an implementation or with failing tests, making it easy to spot when a broken function is blocking content from rendering. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The data is based on the database dumps that are being generated twice a month. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The tool is still in its early days, so it may not always work perfectly, and there are likely bugs. If you run into anything unexpected or have ideas for features you would find useful, please do let David know on [[User talk:DSantamaria-WMF|his user talk page]]. This is not an official tool, but we hope you find it useful. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Admins on Abstract Wikipedia? === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recent Changes in the software === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata ([[:phab:T404652|T404652]]). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Items (and other entities)  fetched from Wikidata may contain statements, and each {{Z|Z6003}}, in its Z6003K6/references key, may now contain zero or more instances of {{Z|Z6008}}. For more information about Wikidata’s practices regarding references for statements, [[:d:Help:Sources|Wikidata's Help:Sources page]] provides a useful discussion. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> We've added two new pre-defined equality Functions with built-in Implementations, to make it easier to work with natural languages. Firstly, we've added {{Z|Z862}}, which should let you check if the language of an item for which you asked from Wikidata is what you received back, ''etc.'' ([[:phab:T424289|T424289]]). Secondly, we've added {{Z|Z832}}, which will let you see if two sets of labels (most used for Wikidata item aliases) are the same ([[:phab:T424461|T424461]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Finally, we fixed one bug that you might have noticed. Occasionally, the system might not reply to MediaWiki correctly, such as when the network connection was interrupted. In these rare cases, we now emit a proper error that should come through to you with a better explanation, rather than a mysterious breakage ([[:phab:T414062|T414062]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Volunteers’ Corner on May 11 === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1778520600 Monday, 11 May 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Fresh Functions weekly: 39 new Functions === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> This week we had 39 new functions. 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! </div> * {{Z|Z34282}} * {{Z|Z34293}} * {{Z|Z34308}} * {{Z|Z34353}} * {{Z|Z34367}} * {{Z|Z34378}} * {{Z|Z34380}} * {{Z|Z34394}} * {{Z|Z34409}} * {{Z|Z34419}} * {{Z|Z34427}} * {{Z|Z34434}} * {{Z|Z34487}} * {{Z|Z34510}} * {{Z|Z34519}} * {{Z|Z34538}} * {{Z|Z34575}} * {{Z|Z34585}} * {{Z|Z34620}} * {{Z|Z34637}} * {{Z|Z34638}} * {{Z|Z34641}} * {{Z|Z34644}} * {{Z|Z34663}} * {{Z|Z34669}} * {{Z|Z34736}} <div lang="en" dir="ltr" class="mw-content-ltr"> A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available. </div> [[Category:Status updates{{#translation:}}|2026-05-08]] g7hnoa3hznr6drun8k5x20z35mzzsb2 273347 273345 2026-05-08T19:55:25Z Ameisenigel 44 Created page with "Nächstes Update" 273347 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = Vorheriges Update | prev = 2026-05-02 | nextlabel = Nächstes Update | next = }} <div lang="en" dir="ltr" class="mw-content-ltr"> === References from Wikidata now available === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> As of this Wednesday, references in Wikidata statements are being passed through to Wikifunctions. We are excited about this new ability, as this allows the use of the more than 1.3 billion references available in Wikidata and adding them as citations to individual statements in Abstract Wikipedia. Citations are a crucial element of a reliable encyclopedia, and so we are happy to make it easier to have them available in Abstract Wikipedia. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Note that in related capabilities, links to external sites are still not displayed as links. We are working on relaxing that constraint for the content of references. For now, most hyperlinks can only be displayed as text. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recording of Toby Hudson’s talk at WikiCon Australia === </div> [[File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|thumb|Wikifunctions in Practice: Reusable Logic for Wikimedia]] <div lang="en" dir="ltr" class="mw-content-ltr"> [[User:99of9|Toby Hudson]] presented '''[[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]]''' at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026. The [[:c:File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|recording is available on Commons]] and [https://www.youtube.com/watch?v=ViOkEYQLggM on YouTube]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Toby gives a great motivation for Abstract Wikipedia and Wikifunctions, and gives in 23 minutes a quick, but thorough overview of both projects, and then answers questions from the in-person audience. Here is the description of the talk: </div> : <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span> : <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span> <div lang="en" dir="ltr" class="mw-content-ltr"> === Abstract data dashboard === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> David Santamaria has published a tool to help understand the state of Abstract Wikipedia: [https://abstract-data.toolforge.org/ "Abstract Data"], a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The main view shows all abstract articles and the number of languages/Wikipedias each can currently be rendered in. There is also a Languages view that ranks languages (Wikipedia's represented languages) by how many articles they can render, making it easy to see where coverage is strongest and where there is still work to do. Figuring out Lexeme coverage is not perfect yet. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> On the functions side, the tool lists the top 100 most-used Wikifunctions functions and shows which articles call each one, useful for assessing the impact of a change before making it. It also flags functions without an implementation or with failing tests, making it easy to spot when a broken function is blocking content from rendering. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The data is based on the database dumps that are being generated twice a month. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The tool is still in its early days, so it may not always work perfectly, and there are likely bugs. If you run into anything unexpected or have ideas for features you would find useful, please do let David know on [[User talk:DSantamaria-WMF|his user talk page]]. This is not an official tool, but we hope you find it useful. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Admins on Abstract Wikipedia? === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recent Changes in the software === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata ([[:phab:T404652|T404652]]). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Items (and other entities)  fetched from Wikidata may contain statements, and each {{Z|Z6003}}, in its Z6003K6/references key, may now contain zero or more instances of {{Z|Z6008}}. For more information about Wikidata’s practices regarding references for statements, [[:d:Help:Sources|Wikidata's Help:Sources page]] provides a useful discussion. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> We've added two new pre-defined equality Functions with built-in Implementations, to make it easier to work with natural languages. Firstly, we've added {{Z|Z862}}, which should let you check if the language of an item for which you asked from Wikidata is what you received back, ''etc.'' ([[:phab:T424289|T424289]]). Secondly, we've added {{Z|Z832}}, which will let you see if two sets of labels (most used for Wikidata item aliases) are the same ([[:phab:T424461|T424461]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Finally, we fixed one bug that you might have noticed. Occasionally, the system might not reply to MediaWiki correctly, such as when the network connection was interrupted. In these rare cases, we now emit a proper error that should come through to you with a better explanation, rather than a mysterious breakage ([[:phab:T414062|T414062]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Volunteers’ Corner on May 11 === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1778520600 Monday, 11 May 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Fresh Functions weekly: 39 new Functions === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> This week we had 39 new functions. 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! </div> * {{Z|Z34282}} * {{Z|Z34293}} * {{Z|Z34308}} * {{Z|Z34353}} * {{Z|Z34367}} * {{Z|Z34378}} * {{Z|Z34380}} * {{Z|Z34394}} * {{Z|Z34409}} * {{Z|Z34419}} * {{Z|Z34427}} * {{Z|Z34434}} * {{Z|Z34487}} * {{Z|Z34510}} * {{Z|Z34519}} * {{Z|Z34538}} * {{Z|Z34575}} * {{Z|Z34585}} * {{Z|Z34620}} * {{Z|Z34637}} * {{Z|Z34638}} * {{Z|Z34641}} * {{Z|Z34644}} * {{Z|Z34663}} * {{Z|Z34669}} * {{Z|Z34736}} <div lang="en" dir="ltr" class="mw-content-ltr"> A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available. </div> [[Category:Status updates{{#translation:}}|2026-05-08]] bmkdgx9ni7kyg85ulmc9i9roml7hpq9 273349 273347 2026-05-08T19:55:53Z Ameisenigel 44 Created page with "=== Einzelnachweise aus Wikidata jetzt verfügbar ===" 273349 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = Vorheriges Update | prev = 2026-05-02 | nextlabel = Nächstes Update | next = }} <span id="References_from_Wikidata_now_available"></span> === Einzelnachweise aus Wikidata jetzt verfügbar === <div lang="en" dir="ltr" class="mw-content-ltr"> As of this Wednesday, references in Wikidata statements are being passed through to Wikifunctions. We are excited about this new ability, as this allows the use of the more than 1.3 billion references available in Wikidata and adding them as citations to individual statements in Abstract Wikipedia. Citations are a crucial element of a reliable encyclopedia, and so we are happy to make it easier to have them available in Abstract Wikipedia. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Note that in related capabilities, links to external sites are still not displayed as links. We are working on relaxing that constraint for the content of references. For now, most hyperlinks can only be displayed as text. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recording of Toby Hudson’s talk at WikiCon Australia === </div> [[File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|thumb|Wikifunctions in Practice: Reusable Logic for Wikimedia]] <div lang="en" dir="ltr" class="mw-content-ltr"> [[User:99of9|Toby Hudson]] presented '''[[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]]''' at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026. The [[:c:File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|recording is available on Commons]] and [https://www.youtube.com/watch?v=ViOkEYQLggM on YouTube]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Toby gives a great motivation for Abstract Wikipedia and Wikifunctions, and gives in 23 minutes a quick, but thorough overview of both projects, and then answers questions from the in-person audience. Here is the description of the talk: </div> : <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span> : <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span> <div lang="en" dir="ltr" class="mw-content-ltr"> === Abstract data dashboard === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> David Santamaria has published a tool to help understand the state of Abstract Wikipedia: [https://abstract-data.toolforge.org/ "Abstract Data"], a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The main view shows all abstract articles and the number of languages/Wikipedias each can currently be rendered in. There is also a Languages view that ranks languages (Wikipedia's represented languages) by how many articles they can render, making it easy to see where coverage is strongest and where there is still work to do. Figuring out Lexeme coverage is not perfect yet. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> On the functions side, the tool lists the top 100 most-used Wikifunctions functions and shows which articles call each one, useful for assessing the impact of a change before making it. It also flags functions without an implementation or with failing tests, making it easy to spot when a broken function is blocking content from rendering. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The data is based on the database dumps that are being generated twice a month. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The tool is still in its early days, so it may not always work perfectly, and there are likely bugs. If you run into anything unexpected or have ideas for features you would find useful, please do let David know on [[User talk:DSantamaria-WMF|his user talk page]]. This is not an official tool, but we hope you find it useful. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Admins on Abstract Wikipedia? === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recent Changes in the software === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata ([[:phab:T404652|T404652]]). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Items (and other entities)  fetched from Wikidata may contain statements, and each {{Z|Z6003}}, in its Z6003K6/references key, may now contain zero or more instances of {{Z|Z6008}}. For more information about Wikidata’s practices regarding references for statements, [[:d:Help:Sources|Wikidata's Help:Sources page]] provides a useful discussion. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> We've added two new pre-defined equality Functions with built-in Implementations, to make it easier to work with natural languages. Firstly, we've added {{Z|Z862}}, which should let you check if the language of an item for which you asked from Wikidata is what you received back, ''etc.'' ([[:phab:T424289|T424289]]). Secondly, we've added {{Z|Z832}}, which will let you see if two sets of labels (most used for Wikidata item aliases) are the same ([[:phab:T424461|T424461]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Finally, we fixed one bug that you might have noticed. Occasionally, the system might not reply to MediaWiki correctly, such as when the network connection was interrupted. In these rare cases, we now emit a proper error that should come through to you with a better explanation, rather than a mysterious breakage ([[:phab:T414062|T414062]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Volunteers’ Corner on May 11 === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1778520600 Monday, 11 May 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Fresh Functions weekly: 39 new Functions === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> This week we had 39 new functions. 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! </div> * {{Z|Z34282}} * {{Z|Z34293}} * {{Z|Z34308}} * {{Z|Z34353}} * {{Z|Z34367}} * {{Z|Z34378}} * {{Z|Z34380}} * {{Z|Z34394}} * {{Z|Z34409}} * {{Z|Z34419}} * {{Z|Z34427}} * {{Z|Z34434}} * {{Z|Z34487}} * {{Z|Z34510}} * {{Z|Z34519}} * {{Z|Z34538}} * {{Z|Z34575}} * {{Z|Z34585}} * {{Z|Z34620}} * {{Z|Z34637}} * {{Z|Z34638}} * {{Z|Z34641}} * {{Z|Z34644}} * {{Z|Z34663}} * {{Z|Z34669}} * {{Z|Z34736}} <div lang="en" dir="ltr" class="mw-content-ltr"> A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available. </div> [[Category:Status updates{{#translation:}}|2026-05-08]] 72g2hvr1jvs6c1712ag59yxnftqjcku 273351 273349 2026-05-08T19:58:23Z Ameisenigel 44 Created page with "Seit diesem Mittwoch werden Einzelnachweise in Wikidata-Aussagen an Wikifunctions weitergeleitet. Wir freuen uns über diese neue Funktion, da sie die Nutzung der über 1,3 Milliarden in Wikidata verfügbaren Einzelnachweise und deren Hinzufügung als Zitate zu einzelnen Aussagen der Abstrakten Wikipedia ermöglicht. Zitate sind ein wesentlicher Bestandteil einer zuverlässigen Enzyklopädie und daher erleichtern wir deren Verfügbarkeit in der Abstrakten Wikipedia." 273351 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = Vorheriges Update | prev = 2026-05-02 | nextlabel = Nächstes Update | next = }} <span id="References_from_Wikidata_now_available"></span> === Einzelnachweise aus Wikidata jetzt verfügbar === Seit diesem Mittwoch werden Einzelnachweise in Wikidata-Aussagen an Wikifunctions weitergeleitet. Wir freuen uns über diese neue Funktion, da sie die Nutzung der über 1,3 Milliarden in Wikidata verfügbaren Einzelnachweise und deren Hinzufügung als Zitate zu einzelnen Aussagen der Abstrakten Wikipedia ermöglicht. Zitate sind ein wesentlicher Bestandteil einer zuverlässigen Enzyklopädie und daher erleichtern wir deren Verfügbarkeit in der Abstrakten Wikipedia. <div lang="en" dir="ltr" class="mw-content-ltr"> Note that in related capabilities, links to external sites are still not displayed as links. We are working on relaxing that constraint for the content of references. For now, most hyperlinks can only be displayed as text. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recording of Toby Hudson’s talk at WikiCon Australia === </div> [[File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|thumb|Wikifunctions in Practice: Reusable Logic for Wikimedia]] <div lang="en" dir="ltr" class="mw-content-ltr"> [[User:99of9|Toby Hudson]] presented '''[[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]]''' at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026. The [[:c:File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|recording is available on Commons]] and [https://www.youtube.com/watch?v=ViOkEYQLggM on YouTube]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Toby gives a great motivation for Abstract Wikipedia and Wikifunctions, and gives in 23 minutes a quick, but thorough overview of both projects, and then answers questions from the in-person audience. Here is the description of the talk: </div> : <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span> : <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span> <div lang="en" dir="ltr" class="mw-content-ltr"> === Abstract data dashboard === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> David Santamaria has published a tool to help understand the state of Abstract Wikipedia: [https://abstract-data.toolforge.org/ "Abstract Data"], a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The main view shows all abstract articles and the number of languages/Wikipedias each can currently be rendered in. There is also a Languages view that ranks languages (Wikipedia's represented languages) by how many articles they can render, making it easy to see where coverage is strongest and where there is still work to do. Figuring out Lexeme coverage is not perfect yet. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> On the functions side, the tool lists the top 100 most-used Wikifunctions functions and shows which articles call each one, useful for assessing the impact of a change before making it. It also flags functions without an implementation or with failing tests, making it easy to spot when a broken function is blocking content from rendering. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The data is based on the database dumps that are being generated twice a month. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The tool is still in its early days, so it may not always work perfectly, and there are likely bugs. If you run into anything unexpected or have ideas for features you would find useful, please do let David know on [[User talk:DSantamaria-WMF|his user talk page]]. This is not an official tool, but we hope you find it useful. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Admins on Abstract Wikipedia? === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recent Changes in the software === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata ([[:phab:T404652|T404652]]). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Items (and other entities)  fetched from Wikidata may contain statements, and each {{Z|Z6003}}, in its Z6003K6/references key, may now contain zero or more instances of {{Z|Z6008}}. For more information about Wikidata’s practices regarding references for statements, [[:d:Help:Sources|Wikidata's Help:Sources page]] provides a useful discussion. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> We've added two new pre-defined equality Functions with built-in Implementations, to make it easier to work with natural languages. Firstly, we've added {{Z|Z862}}, which should let you check if the language of an item for which you asked from Wikidata is what you received back, ''etc.'' ([[:phab:T424289|T424289]]). Secondly, we've added {{Z|Z832}}, which will let you see if two sets of labels (most used for Wikidata item aliases) are the same ([[:phab:T424461|T424461]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Finally, we fixed one bug that you might have noticed. Occasionally, the system might not reply to MediaWiki correctly, such as when the network connection was interrupted. In these rare cases, we now emit a proper error that should come through to you with a better explanation, rather than a mysterious breakage ([[:phab:T414062|T414062]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Volunteers’ Corner on May 11 === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1778520600 Monday, 11 May 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Fresh Functions weekly: 39 new Functions === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> This week we had 39 new functions. 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! </div> * {{Z|Z34282}} * {{Z|Z34293}} * {{Z|Z34308}} * {{Z|Z34353}} * {{Z|Z34367}} * {{Z|Z34378}} * {{Z|Z34380}} * {{Z|Z34394}} * {{Z|Z34409}} * {{Z|Z34419}} * {{Z|Z34427}} * {{Z|Z34434}} * {{Z|Z34487}} * {{Z|Z34510}} * {{Z|Z34519}} * {{Z|Z34538}} * {{Z|Z34575}} * {{Z|Z34585}} * {{Z|Z34620}} * {{Z|Z34637}} * {{Z|Z34638}} * {{Z|Z34641}} * {{Z|Z34644}} * {{Z|Z34663}} * {{Z|Z34669}} * {{Z|Z34736}} <div lang="en" dir="ltr" class="mw-content-ltr"> A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available. </div> [[Category:Status updates{{#translation:}}|2026-05-08]] q317dqaeo2fsytgy6ceuay1o6qq01br 273353 273351 2026-05-08T19:59:21Z Ameisenigel 44 Created page with "Beachte, dass in zugehörigen Funktionen Links zu externen Websites weiterhin nicht als Links angezeigt werden. Wir arbeiten daran, diese Einschränkung für den Inhalt von Einzelnachweisen aufzuheben. Derzeit können die meisten Hyperlinks nur als Text angezeigt werden." 273353 wikitext text/x-wiki <languages/> {{Wikifunctions updates | prevlabel = Vorheriges Update | prev = 2026-05-02 | nextlabel = Nächstes Update | next = }} <span id="References_from_Wikidata_now_available"></span> === Einzelnachweise aus Wikidata jetzt verfügbar === Seit diesem Mittwoch werden Einzelnachweise in Wikidata-Aussagen an Wikifunctions weitergeleitet. Wir freuen uns über diese neue Funktion, da sie die Nutzung der über 1,3 Milliarden in Wikidata verfügbaren Einzelnachweise und deren Hinzufügung als Zitate zu einzelnen Aussagen der Abstrakten Wikipedia ermöglicht. Zitate sind ein wesentlicher Bestandteil einer zuverlässigen Enzyklopädie und daher erleichtern wir deren Verfügbarkeit in der Abstrakten Wikipedia. Beachte, dass in zugehörigen Funktionen Links zu externen Websites weiterhin nicht als Links angezeigt werden. Wir arbeiten daran, diese Einschränkung für den Inhalt von Einzelnachweisen aufzuheben. Derzeit können die meisten Hyperlinks nur als Text angezeigt werden. <div lang="en" dir="ltr" class="mw-content-ltr"> === Recording of Toby Hudson’s talk at WikiCon Australia === </div> [[File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|thumb|Wikifunctions in Practice: Reusable Logic for Wikimedia]] <div lang="en" dir="ltr" class="mw-content-ltr"> [[User:99of9|Toby Hudson]] presented '''[[:meta:Event:WikiCon Australia 2026/Submissions/Wikifunctions in Practice: Reusable Logic for Wikimedia|Wikifunctions in Practice: Reusable Logic for Wikimedia]]''' at [[:meta:Event:WikiCon Australia 2026|WikiCon Australia]] on 11 April 2026. The [[:c:File:Wikifunctions in practice - Toby Hudson - WikiConAU-2026.webm|recording is available on Commons]] and [https://www.youtube.com/watch?v=ViOkEYQLggM on YouTube]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Toby gives a great motivation for Abstract Wikipedia and Wikifunctions, and gives in 23 minutes a quick, but thorough overview of both projects, and then answers questions from the in-person audience. Here is the description of the talk: </div> : <span lang="en" dir="ltr" class="mw-content-ltr">''Wikifunctions promises something simple but ambitious: write logic once, and make it reusable across Wikimedia projects and languages. Small, well-chosen functions can have outsized impact and eliminate some updating, copy-pasting, or even translation.''</span> : <span lang="en" dir="ltr" class="mw-content-ltr">''This talk focuses on goals and practical usage rather than internals or programming, but will allow plenty of time for questions from the audience to dig into the details. We'll see what Wikifunctions is and what it's for. We will test a range of existing functions on Wikifunctions directly. We will see how to embed the result of a function call in a regular Wiki page elsewhere on a sister project. Then we will look ahead to how Wikifunctions will play a key role in the future Abstract Wikipedia.''</span> <div lang="en" dir="ltr" class="mw-content-ltr"> === Abstract data dashboard === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> David Santamaria has published a tool to help understand the state of Abstract Wikipedia: [https://abstract-data.toolforge.org/ "Abstract Data"], a Website that tracks both language coverage and Wikifunctions function usage across all abstract articles. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The main view shows all abstract articles and the number of languages/Wikipedias each can currently be rendered in. There is also a Languages view that ranks languages (Wikipedia's represented languages) by how many articles they can render, making it easy to see where coverage is strongest and where there is still work to do. Figuring out Lexeme coverage is not perfect yet. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> On the functions side, the tool lists the top 100 most-used Wikifunctions functions and shows which articles call each one, useful for assessing the impact of a change before making it. It also flags functions without an implementation or with failing tests, making it easy to spot when a broken function is blocking content from rendering. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The data is based on the database dumps that are being generated twice a month. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The tool is still in its early days, so it may not always work perfectly, and there are likely bugs. If you run into anything unexpected or have ideas for features you would find useful, please do let David know on [[User talk:DSantamaria-WMF|his user talk page]]. This is not an official tool, but we hope you find it useful. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Admins on Abstract Wikipedia? === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Now that Abstract Wikipedia has been around for more than a month, we would like to invite the Abstract Wikipedia community to consider whether they wish to begin a process of choosing administrators, so that the wiki becomes more self-sufficient. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Recent Changes in the software === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> As mentioned above, the main change this week is that we have enabled references on statements when fetching items from Wikidata ([[:phab:T404652|T404652]]). We hope that this new feature will help you write Functions that add references for Abstract Wikipedia when using Wikidata statements. We do not expect this to add much more load to the system, but if something is now slow or broken please let us know. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Items (and other entities)  fetched from Wikidata may contain statements, and each {{Z|Z6003}}, in its Z6003K6/references key, may now contain zero or more instances of {{Z|Z6008}}. For more information about Wikidata’s practices regarding references for statements, [[:d:Help:Sources|Wikidata's Help:Sources page]] provides a useful discussion. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> We've added two new pre-defined equality Functions with built-in Implementations, to make it easier to work with natural languages. Firstly, we've added {{Z|Z862}}, which should let you check if the language of an item for which you asked from Wikidata is what you received back, ''etc.'' ([[:phab:T424289|T424289]]). Secondly, we've added {{Z|Z832}}, which will let you see if two sets of labels (most used for Wikidata item aliases) are the same ([[:phab:T424461|T424461]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> Finally, we fixed one bug that you might have noticed. Occasionally, the system might not reply to MediaWiki correctly, such as when the network connection was interrupted. In these rare cases, we now emit a proper error that should come through to you with a better explanation, rather than a mysterious breakage ([[:phab:T414062|T414062]]). </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Volunteers’ Corner on May 11 === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> The next Volunteers’ Corner will be on [https://zonestamp.toolforge.org/1778520600 Monday, 11 May 2026 at 17:30 UTC]. We plan to have the following agenda: there will be time to ask questions and discuss all matters arising. If we have time, we will write a function together. Everyone is welcome to join us on [https://meet.google.com/xuy-njxh-rkw Google Meet]. </div> <div lang="en" dir="ltr" class="mw-content-ltr"> === Fresh Functions weekly: 39 new Functions === </div> <div lang="en" dir="ltr" class="mw-content-ltr"> This week we had 39 new functions. 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! </div> * {{Z|Z34282}} * {{Z|Z34293}} * {{Z|Z34308}} * {{Z|Z34353}} * {{Z|Z34367}} * {{Z|Z34378}} * {{Z|Z34380}} * {{Z|Z34394}} * {{Z|Z34409}} * {{Z|Z34419}} * {{Z|Z34427}} * {{Z|Z34434}} * {{Z|Z34487}} * {{Z|Z34510}} * {{Z|Z34519}} * {{Z|Z34538}} * {{Z|Z34575}} * {{Z|Z34585}} * {{Z|Z34620}} * {{Z|Z34637}} * {{Z|Z34638}} * {{Z|Z34641}} * {{Z|Z34644}} * {{Z|Z34663}} * {{Z|Z34669}} * {{Z|Z34736}} <div lang="en" dir="ltr" class="mw-content-ltr"> A [https://www.wikifunctions.org/wiki/Special:ListObjectsByType?type=Z8&orderby=latest complete list of all functions sorted by when they were created] is available. </div> [[Category:Status updates{{#translation:}}|2026-05-08]] 0l45hsnzil6ghuukdx5z7gwyqb0l4g6 Translations:Wikifunctions:Status updates/2026-05-08/1/de 1198 82827 273344 2026-05-08T19:55:12Z Ameisenigel 44 Created page with "Vorheriges Update" 273344 wikitext text/x-wiki Vorheriges Update gip3hi7u0wf8jv7dena73ndlrx52ohv Translations:Wikifunctions:Status updates/2026-05-08/2/de 1198 82828 273346 2026-05-08T19:55:24Z Ameisenigel 44 Created page with "Nächstes Update" 273346 wikitext text/x-wiki Nächstes Update srj2pwwjkwr7a3zol9puxaaqvo0drwd Translations:Wikifunctions:Status updates/2026-05-08/3/de 1198 82829 273348 2026-05-08T19:55:52Z Ameisenigel 44 Created page with "=== Einzelnachweise aus Wikidata jetzt verfügbar ===" 273348 wikitext text/x-wiki === Einzelnachweise aus Wikidata jetzt verfügbar === cmffsnlmv72bxxltxg9kbl3plvk580q Translations:Wikifunctions:Status updates/2026-05-08/23/de 1198 82830 273350 2026-05-08T19:58:22Z Ameisenigel 44 Created page with "Seit diesem Mittwoch werden Einzelnachweise in Wikidata-Aussagen an Wikifunctions weitergeleitet. Wir freuen uns über diese neue Funktion, da sie die Nutzung der über 1,3 Milliarden in Wikidata verfügbaren Einzelnachweise und deren Hinzufügung als Zitate zu einzelnen Aussagen der Abstrakten Wikipedia ermöglicht. Zitate sind ein wesentlicher Bestandteil einer zuverlässigen Enzyklopädie und daher erleichtern wir deren Verfügbarkeit in der Abstrakten Wikipedia." 273350 wikitext text/x-wiki Seit diesem Mittwoch werden Einzelnachweise in Wikidata-Aussagen an Wikifunctions weitergeleitet. Wir freuen uns über diese neue Funktion, da sie die Nutzung der über 1,3 Milliarden in Wikidata verfügbaren Einzelnachweise und deren Hinzufügung als Zitate zu einzelnen Aussagen der Abstrakten Wikipedia ermöglicht. Zitate sind ein wesentlicher Bestandteil einer zuverlässigen Enzyklopädie und daher erleichtern wir deren Verfügbarkeit in der Abstrakten Wikipedia. n4v4a9k9p6q5nl5phygpbxi784wnjui Translations:Wikifunctions:Status updates/2026-05-08/4/de 1198 82831 273352 2026-05-08T19:59:20Z Ameisenigel 44 Created page with "Beachte, dass in zugehörigen Funktionen Links zu externen Websites weiterhin nicht als Links angezeigt werden. Wir arbeiten daran, diese Einschränkung für den Inhalt von Einzelnachweisen aufzuheben. Derzeit können die meisten Hyperlinks nur als Text angezeigt werden." 273352 wikitext text/x-wiki Beachte, dass in zugehörigen Funktionen Links zu externen Websites weiterhin nicht als Links angezeigt werden. Wir arbeiten daran, diese Einschränkung für den Inhalt von Einzelnachweisen aufzuheben. Derzeit können die meisten Hyperlinks nur als Text angezeigt werden. c8anb98hctnra550d2tlr87eo8v93j3 Z34986 0 82832 273354 2026-05-08T20:50:18Z YoshiRulz 10156 Create implementation 273354 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34986" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24608", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z14779", "Z14779K1": { "Z1K1": "Z18", "Z18K1": "Z24608K1" }, "Z14779K2": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z821", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z30245", "Z30245K1": { "Z1K1": "Z18", "Z18K1": "Z24608K2" } } }, "Z14779K3": { "Z1K1": "Z7", "Z7K1": "Z873", "Z873K1": "Z822", "Z873K2": { "Z1K1": "Z7", "Z7K1": "Z30245", "Z30245K1": { "Z1K1": "Z18", "Z18K1": "Z24608K2" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map function over keys of map, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } cs6t2yyw85fh0aja1d3qrom2pcnnjpl Z34987 0 82834 273356 2026-05-08T20:52:37Z YoshiRulz 10156 Create implementation 273356 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34987" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24629", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z33357", "Z33357K1": { "Z1K1": "Z7", "Z7K1": "Z24602", "Z24602K1": { "Z1K1": "Z18", "Z18K1": "Z24629K1" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "get keys of JSON object, full parse composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7g0o4o011z5e7yztstloawmf4wy9d68 Talk:Z24632 1 82835 273357 2026-05-08T20:53:14Z YoshiRulz 10156 Add to category 273357 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24639 1 82836 273358 2026-05-08T21:00:11Z YoshiRulz 10156 /* Missing in Wikidata */ new section 273358 wikitext text/x-wiki == Missing in Wikidata == The Items aren't simply missing sitelinks, they don't exist at all. [[d:Special:WhatLinksHere/Q17108983|Nothing links to Q17108983/Igbo calendar]]. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 21:00, 8 May 2026 (UTC) acwmlmpaq1578tn24btct7a1vf50dj2 Z34988 0 82837 273360 2026-05-08T21:13:07Z YoshiRulz 10156 Create implementation 273360 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34988" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z24669", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z22373", "Z22373K1": { "Z1K1": "Z18", "Z18K1": "Z24669K1" }, "Z22373K2": { "Z1K1": "Z80", "Z80K1": { "Z1K1": "Z13518", "Z13518K1": "0" } } }, "Z802K2": { "Z1K1": "Z80", "Z80K1": { "Z1K1": "Z13518", "Z13518K1": "255" } }, "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z22535", "Z22535K1": { "Z1K1": "Z7", "Z7K1": "Z13582", "Z13582K1": { "Z1K1": "Z7", "Z7K1": "Z14567", "Z14567K1": { "Z1K1": "Z18", "Z18K1": "Z24669K1" } } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "decrement Byte, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 6b3im8z6wp22lzyp0pmw5t1rx7qcgy5 Talk:Z24681 1 82838 273362 2026-05-08T21:15:08Z YoshiRulz 10156 Add to category 273362 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24698 1 82839 273363 2026-05-08T21:15:11Z YoshiRulz 10156 Add to category 273363 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24880 1 82840 273371 2026-05-08T21:24:07Z YoshiRulz 10156 Add to category 273371 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24968 1 82841 273372 2026-05-08T21:30:10Z YoshiRulz 10156 Add to category 273372 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24979 1 82842 273373 2026-05-08T21:31:53Z YoshiRulz 10156 Add to category 273373 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24984 1 82843 273374 2026-05-08T21:32:31Z YoshiRulz 10156 Add to category 273374 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z24987 1 82844 273375 2026-05-08T21:32:37Z YoshiRulz 10156 Add to category 273375 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25016 1 82845 273377 2026-05-08T21:33:20Z YoshiRulz 10156 Add to category 273377 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25022 1 82846 273378 2026-05-08T21:33:23Z YoshiRulz 10156 Add to category 273378 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25032 1 82847 273379 2026-05-08T21:33:26Z YoshiRulz 10156 Add to category 273379 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25038 1 82848 273380 2026-05-08T21:33:29Z YoshiRulz 10156 Add to category 273380 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25043 1 82849 273381 2026-05-08T21:33:32Z YoshiRulz 10156 Add to category 273381 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25127 1 82850 273384 2026-05-08T21:37:46Z YoshiRulz 10156 Add to category 273384 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25152 1 82851 273386 2026-05-08T21:38:33Z YoshiRulz 10156 Add to category 273386 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25158 1 82852 273387 2026-05-08T21:38:36Z YoshiRulz 10156 Add to category 273387 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25220 1 82853 273388 2026-05-08T21:39:38Z YoshiRulz 10156 Add to category 273388 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25271 1 82854 273389 2026-05-08T21:41:13Z YoshiRulz 10156 Add to category 273389 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Z34989 0 82855 273392 2026-05-08T21:54:26Z YoshiRulz 10156 Create test 273392 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34989" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z19198", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z19198", "Z19198K1": [ "Z1", { "Z1K1": "Z13518", "Z13518K1": "2" }, { "Z1K1": "Z13518", "Z13518K1": "2" } ], "Z19198K2": [ "Z13518", { "Z1K1": "Z13518", "Z13518K1": "2" } ] }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z30164", "Z30164K2": { "Z1K1": "Z13518", "Z13518K1": "0" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "[ 2, 2 ] - [ 2 ] = []" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } lv40ndopeiec9hc0md411ssbyp9vv1o Z34990 0 82856 273395 2026-05-08T22:03:04Z YoshiRulz 10156 Create implementation 273395 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34990" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z25318", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z813", "Z813K1": { "Z1K1": "Z7", "Z7K1": "Z19198", "Z19198K1": { "Z1K1": "Z7", "Z7K1": "Z17895", "Z17895K1": { "Z1K1": "Z7", "Z7K1": "Z13730", "Z13730K1": { "Z1K1": "Z18", "Z18K1": "Z25318K1" } } }, "Z19198K2": [ "Z1", { "Z1K1": "Z13518", "Z13518K1": "2" }, { "Z1K1": "Z13518", "Z13518K1": "5" } ] } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "has no prime factors besides 2 and 5, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } gbqwjn11z8p1len3a62lkzthfdnjn8e Talk:Z25376 1 82857 273398 2026-05-08T22:09:29Z YoshiRulz 10156 Add to category 273398 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25393 1 82858 273399 2026-05-08T22:09:32Z YoshiRulz 10156 Add to category 273399 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25399 1 82859 273400 2026-05-08T22:09:34Z YoshiRulz 10156 Add to category 273400 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25404 1 82860 273401 2026-05-08T22:09:37Z YoshiRulz 10156 Add to category 273401 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25416 1 82861 273402 2026-05-08T22:10:05Z YoshiRulz 10156 Add to category 273402 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25419 1 82862 273403 2026-05-08T22:10:07Z YoshiRulz 10156 Add to category 273403 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25457 1 82863 273404 2026-05-08T22:11:20Z YoshiRulz 10156 Add to category 273404 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25491 1 82864 273405 2026-05-08T22:11:47Z YoshiRulz 10156 Add to category 273405 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25510 1 82865 273406 2026-05-08T22:11:50Z YoshiRulz 10156 Add to category 273406 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25557 1 82866 273407 2026-05-08T22:12:18Z YoshiRulz 10156 Add to category 273407 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25565 1 82867 273408 2026-05-08T22:12:21Z YoshiRulz 10156 Add to category 273408 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Z34991 0 82868 273409 2026-05-08T22:28:29Z YoshiRulz 10156 Create implementation 273409 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34991" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z25614", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z23883", "Z23883K1": { "Z1K1": "Z7", "Z7K1": "Z31826", "Z31826K1": { "Z1K1": "Z18", "Z18K1": "Z25614K1" }, "Z31826K2": { "Z1K1": "Z18", "Z18K1": "Z25614K2" } } }, "Z802K2": [ "Z6", { "Z1K1": "Z18", "Z18K1": "Z25614K1" } ], "Z802K3": { "Z1K1": "Z7", "Z7K1": "Z810", "Z810K1": { "Z1K1": "Z7", "Z7K1": "Z14592", "Z14592K1": { "Z1K1": "Z18", "Z18K1": "Z25614K1" }, "Z14592K2": { "Z1K1": "Z7", "Z7K1": "Z13582", "Z13582K1": { "Z1K1": "Z7", "Z7K1": "Z31826", "Z31826K1": { "Z1K1": "Z18", "Z18K1": "Z25614K1" }, "Z31826K2": { "Z1K1": "Z18", "Z18K1": "Z25614K2" } } } }, "Z810K2": { "Z1K1": "Z7", "Z7K1": "Z25614", "Z25614K1": { "Z1K1": "Z7", "Z7K1": "Z14636", "Z14636K1": { "Z1K1": "Z18", "Z18K1": "Z25614K1" }, "Z14636K2": { "Z1K1": "Z7", "Z7K1": "Z13521", "Z13521K1": { "Z1K1": "Z7", "Z7K1": "Z13582", "Z13582K1": { "Z1K1": "Z7", "Z7K1": "Z11040", "Z11040K1": { "Z1K1": "Z18", "Z18K1": "Z25614K2" } } }, "Z13521K2": { "Z1K1": "Z7", "Z7K1": "Z31826", "Z31826K1": { "Z1K1": "Z18", "Z18K1": "Z25614K1" }, "Z31826K2": { "Z1K1": "Z18", "Z18K1": "Z25614K2" } } } }, "Z25614K2": { "Z1K1": "Z18", "Z18K1": "Z25614K2" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "split String on separator, recursive composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 7vdk22j1xvk1jheq1jc5ajua10ehgs6 Talk:Z25683 1 82869 273411 2026-05-08T22:30:06Z YoshiRulz 10156 Add to category 273411 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25792 1 82870 273413 2026-05-08T22:31:38Z YoshiRulz 10156 Add to category 273413 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25829 1 82871 273414 2026-05-08T22:34:51Z YoshiRulz 10156 Add to category 273414 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25833 1 82872 273415 2026-05-08T22:34:54Z YoshiRulz 10156 Add to category 273415 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25847 1 82873 273416 2026-05-08T22:34:57Z YoshiRulz 10156 Add to category 273416 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25853 1 82874 273417 2026-05-08T22:35:01Z YoshiRulz 10156 Add to category 273417 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Z34992 0 82875 273420 2026-05-08T22:43:17Z YoshiRulz 10156 Create implementation 273420 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34992" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z25897", "Z14K2": { "Z1K1": "Z20420", "Z20420K1": { "Z1K1": "Z7", "Z7K1": "Z24948", "Z24948K1": { "Z1K1": "Z18", "Z18K1": "Z25897K1" } }, "Z20420K2": { "Z1K1": "Z7", "Z7K1": "Z20730", "Z20730K1": { "Z1K1": "Z7", "Z7K1": "Z24948", "Z24948K1": { "Z1K1": "Z18", "Z18K1": "Z25897K1" } }, "Z20730K2": { "Z1K1": "Z7", "Z7K1": "Z26504", "Z26504K1": { "Z1K1": "Z18", "Z18K1": "Z25897K1" } }, "Z20730K3": { "Z1K1": "Z18", "Z18K1": "Z25897K2" }, "Z20730K4": { "Z1K1": "Z13518", "Z13518K1": "1" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "first weekday of the month of date, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 34s6gs3kravb6pty1jqq9vo3cphipif Talk:Z25901 1 82876 273422 2026-05-08T22:44:01Z YoshiRulz 10156 Add to category 273422 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25930 1 82877 273424 2026-05-08T22:44:40Z YoshiRulz 10156 Add to category 273424 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25963 1 82878 273426 2026-05-08T22:47:11Z YoshiRulz 10156 Add to category 273426 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25966 1 82879 273427 2026-05-08T22:47:14Z YoshiRulz 10156 Add to category 273427 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Z34993 0 82880 273433 2026-05-09T02:02:36Z YoshiRulz 10156 Create function 273433 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34993" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z34993K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "script code" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z34993" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "writing direction(s) of script as WD Item(s)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "script directionality", "P1406" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "takes an ISO 15924 alpha-4 code (case-insensitive) and returns the writing directions associated with it, ordering LTR/RTL before vertical" } ] } } p0vroldzgtkw08681tiaag5pbi8v0tw 273437 273433 2026-05-09T02:07:28Z YoshiRulz 10156 Added Z34994, Z34995 and Z34996 to the approved list of test cases 273437 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34993" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z34993K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "script code" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z8K3": [ "Z20", "Z34994", "Z34995", "Z34996" ], "Z8K4": [ "Z14" ], "Z8K5": "Z34993" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "writing direction(s) of script as WD Item(s)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "script directionality", "P1406" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "takes an ISO 15924 alpha-4 code (case-insensitive) and returns the writing directions associated with it, ordering LTR/RTL before vertical" } ] } } i906a5xzd8r2bwkevb6zd2f8r6uhz5m 273440 273437 2026-05-09T02:53:58Z YoshiRulz 10156 Added Z34997 to the approved list of implementations 273440 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34993" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": "Z6", "Z17K2": "Z34993K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "script code" } ] } } ], "Z8K2": { "Z1K1": "Z7", "Z7K1": "Z881", "Z881K1": "Z6091" }, "Z8K3": [ "Z20", "Z34994", "Z34995", "Z34996" ], "Z8K4": [ "Z14", "Z34997" ], "Z8K5": "Z34993" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "writing direction(s) of script as WD Item(s)" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31", { "Z1K1": "Z31", "Z31K1": "Z1002", "Z31K2": [ "Z6", "script directionality", "P1406" ] } ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "takes an ISO 15924 alpha-4 code (case-insensitive) and returns the writing directions associated with it, ordering LTR/RTL before vertical" } ] } } 2mxcj9wzspi0et7zv9n5i1a8tvhi85q Z34994 0 82881 273434 2026-05-09T02:06:00Z YoshiRulz 10156 Create test 273434 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34994" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z34993", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z34993", "Z34993K1": "Latn" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z889", "Z889K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q17321844" } ], "Z889K3": "Z19316" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Latn -\u003E [ LTR ]" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 1q1nln230ktuifofm6qp3w559odrqm7 Z34995 0 82882 273435 2026-05-09T02:06:03Z YoshiRulz 10156 Create test 273435 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34995" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z34993", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z34993", "Z34993K1": "Arab" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z889", "Z889K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q7333457" } ], "Z889K3": "Z19316" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Arab -\u003E [ RTL ]" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 60l3604htdpxvb2jmp6gr501pkrm2u0 Z34996 0 82883 273436 2026-05-09T02:06:07Z YoshiRulz 10156 Create test 273436 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34996" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z34993", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z34993", "Z34993K1": "Jpan" }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z889", "Z889K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q17321844" }, { "Z1K1": "Z6091", "Z6091K1": "Q105395084" } ], "Z889K3": "Z19316" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "Jpan -\u003E [ LTR, VRTL ]" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8foq7mg4jkr9gyka3asgf6enqhitkdk Z34997 0 82884 273438 2026-05-09T02:31:07Z YoshiRulz 10156 Create implementation 273438 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34997" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34993", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z600", "Z16K2": "const zobjRef = zid =\u003E ({ \"Z1K1\": \"Z9\", \"Z9K1\": zid });\nconst zobj = (typeZID, props) =\u003E new ZObject(new Map(props), zobjRef(typeZID));\n\nconst LTR = \"Q17321844\";\nconst RTL = \"Q7333457\";\nconst VLTR = \"Q105395085\";\nconst VRTL = \"Q105395084\";\n/** the subset of codes used in Z34860; certainly not all \u003E 200 of them */\nconst lookup = {\n\tarab: [ RTL ],\n\tarmn: [ LTR ],\n\tbeng: [ LTR ],\n\tblis: [ LTR ],\n\tcyrl: [ LTR ],\n\tdeva: [ LTR ],\n\tethi: [ LTR ],\n\tgeor: [ LTR ],\n\tgrek: [ LTR ],\n\tgujr: [ LTR ],\n\tguru: [ LTR ],\n\thebr: [ RTL ],\n\tjpan: [ LTR, VRTL ],\n\tkhmr: [ LTR ],\n\tknda: [ LTR ],\n\tkore: [ LTR, VRTL ],\n\tlaoo: [ LTR ],\n\tlatn: [ LTR ],\n\tmlym: [ LTR ],\n\tmymr: [ LTR ],\n\tnkoo: [ RTL ],\n\torya: [ LTR ],\n\tsinh: [ LTR ],\n\ttaml: [ LTR ],\n\ttelu: [ LTR ],\n\tthaa: [ RTL ],\n\tthai: [ LTR ],\n\ttibt: [ LTR ],\n};\n\nfunction Z34993( Z34993K1 ) {\n\tZ34993K1 = Z34993K1.toLowerCase();\n\treturn (lookup[Z34993K1] || []).map(qid =\u003E zobj(\"Z6091\", [ [ \"Z6091K1\", qid ] ]));\n}" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "writing dir. of script as WD Item(s), hardcoded JS" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } kjbkbrbqyuwqnu6eb0r77jvr9obgxox Z34998 0 82885 273441 2026-05-09T03:24:00Z YoshiRulz 10156 Create implementation 273441 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34998" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z25974", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z802", "Z802K1": { "Z1K1": "Z7", "Z7K1": "Z13752", "Z13752K1": { "Z1K1": "Z7", "Z7K1": "Z34993", "Z34993K1": { "Z1K1": "Z7", "Z7K1": "Z11410", "Z11410K1": { "Z1K1": "Z7", "Z7K1": "Z11420", "Z11420K1": { "Z1K1": "Z7", "Z7K1": "Z14329", "Z14329K1": { "Z1K1": "Z7", "Z7K1": "Z34854", "Z34854K1": { "Z1K1": "Z18", "Z18K1": "Z25974K1" } } }, "Z11420K2": "-" }, "Z11410K2": "-" } }, "Z13752K2": [ "Z6091", { "Z1K1": "Z6091", "Z6091K1": "Q17321844" }, { "Z1K1": "Z6091", "Z6091K1": "Q105395085" } ] }, "Z802K2": "ltr", "Z802K3": "rtl" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "dir attribute, composition" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 0eavo25hvmg28g1egntirbhp0ddpgfv Talk:Z25982 1 82886 273443 2026-05-09T03:24:38Z YoshiRulz 10156 Add to category 273443 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z25991 1 82887 273444 2026-05-09T03:25:31Z YoshiRulz 10156 Add to category 273444 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z26004 1 82888 273445 2026-05-09T03:26:25Z YoshiRulz 10156 Add to category 273445 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z26011 1 82889 273446 2026-05-09T03:30:30Z YoshiRulz 10156 Add to category 273446 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z26017 1 82890 273447 2026-05-09T03:30:36Z YoshiRulz 10156 Add to category 273447 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z26029 1 82891 273448 2026-05-09T03:34:11Z YoshiRulz 10156 Add to category 273448 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Talk:Z26033 1 82892 273449 2026-05-09T03:34:14Z YoshiRulz 10156 Add to category 273449 wikitext text/x-wiki [[Category:Functions_with_only_code_implementations]] 423sug58fedukocikcui1tj3l1r5prt Z34999 0 82893 273455 2026-05-09T06:20:19Z Jsamwrites 938 273455 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34999" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "Z17K2": "Z34999K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map \u003Centity, entity\u003E" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z34999" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } s4ikyqst4o822wudlkp8dthda8mlud9 273457 273455 2026-05-09T06:21:43Z Jsamwrites 938 Added Z35000 to the approved list of implementations 273457 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34999" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "Z17K2": "Z34999K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map \u003Centity, entity\u003E" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z35000" ], "Z8K5": "Z34999" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 210lo1zxkobauq9ph2wr8duapq2wqcn 273460 273457 2026-05-09T06:24:47Z Jsamwrites 938 Added Z35001 to the approved list of test cases 273460 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34999" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "Z17K2": "Z34999K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map \u003Centity, entity\u003E" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z35001" ], "Z8K4": [ "Z14", "Z35000" ], "Z8K5": "Z34999" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } qcrsaji9wae938qncc6nuhn9h8btjwm 273467 273460 2026-05-09T07:41:41Z Jsamwrites 938 Added Z35002 to the approved list of implementations 273467 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34999" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "Z17K2": "Z34999K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map \u003Centity, entity\u003E" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z35001" ], "Z8K4": [ "Z14", "Z35000", "Z35002" ], "Z8K5": "Z34999" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 8ltuagtcbt0gsdedno5ozgaxn2ee0mx 273469 273467 2026-05-09T07:46:52Z Jsamwrites 938 Removed Z35000 from the approved list of implementations 273469 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34999" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "Z17K2": "Z34999K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map \u003Centity, entity\u003E" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z35001" ], "Z8K4": [ "Z14", "Z35002" ], "Z8K5": "Z34999" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ozqs8km0nnw0h1c7bllddz8tshuxl85 273470 273469 2026-05-09T07:47:01Z Jsamwrites 938 Added Z35003 to the approved list of test cases 273470 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z34999" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "Z17K2": "Z34999K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map \u003Centity, entity\u003E" } ] } } ], "Z8K2": "Z13518", "Z8K3": [ "Z20", "Z35001", "Z35003" ], "Z8K4": [ "Z14", "Z35002" ], "Z8K5": "Z34999" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } jcd9kktccc198suhqgnf6qqfbfj3rzw Z35000 0 82894 273456 2026-05-09T06:21:30Z Jsamwrites 938 273456 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35000" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34999", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z34999(Z34999K1):\n\tif Z34999K1:\n\t\treturn len(Z34999K1)\n\treturn 0" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 58bk9gkneretigotcy72iqo0lzdefoo 273458 273456 2026-05-09T06:22:20Z Jsamwrites 938 273458 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35000" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34999", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z34999(Z34999K1):\n\tif Z34999K1:\n\t\treturn len(Z34999K1)\n\treturn 0" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E, py" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } f4ut825a3cwnxqib1trztsakw4tugbq 273461 273458 2026-05-09T06:50:17Z Jsamwrites 938 273461 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35000" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34999", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z34999(Z34999K1):\n\tif Z34999K1:\n\t\treturn Z34999K1\n\treturn 0" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E, py" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 66ij7u7gkcxzaxqa58mgxqci07trsy6 273462 273461 2026-05-09T06:54:02Z Jsamwrites 938 273462 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35000" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34999", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z34999(Z34999K1):\n\tif Z34999K1:\n\t\tWikifunctions.Debug(Z34999K1)\n\t\treturn Z34999K1\n\treturn 0" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E, py" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } q4220vg9w6ao49fgwchsi0fpeumewj1 273463 273462 2026-05-09T06:55:23Z Jsamwrites 938 273463 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35000" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34999", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z34999(Z34999K1):\n\tif Z34999K1:\n\t\treturn len(Z34999K1)\n\treturn 0" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E, py" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } f4ut825a3cwnxqib1trztsakw4tugbq 273464 273463 2026-05-09T07:10:53Z Jsamwrites 938 273464 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35000" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34999", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z34999(Z34999K1):\n\tif Z34999K1:\n\t\treturn len(Z34999K1.Z4K2)\n\treturn 0" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E, py" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 5be8n1iwqz5trhnnb2kj6c4hkxqzjej 273465 273464 2026-05-09T07:27:49Z Jsamwrites 938 273465 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35000" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34999", "Z14K3": { "Z1K1": "Z16", "Z16K1": "Z610", "Z16K2": "def Z34999(Z34999K1):\n\tif Z34999K1:\n\t\treturn len(Z34999K1.keys())\n\treturn 0" } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E, py" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } q4dskj1d8np4d1quu91lmy5obb1t5sn Z35001 0 82895 273459 2026-05-09T06:24:22Z Jsamwrites 938 273459 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35001" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z34999", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z34999", "Z34999K1": { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "K1": [ { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6091", "Z882K2": "Z6091" } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z13522", "Z13522K2": { "Z1K1": "Z13518", "Z13518K1": "0" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length empty Typed map \u003Centity, entity\u003E" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } bpd0o9vo9x8hpphos5r2q9np1tuyc2g Z35002 0 82896 273466 2026-05-09T07:41:20Z Jsamwrites 938 273466 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35002" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z34999", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z12681", "Z12681K1": { "Z1K1": "Z7", "Z7K1": "Z22475", "Z22475K1": { "Z1K1": "Z39", "Z39K1": "K1" }, "Z22475K2": { "Z1K1": "Z18", "Z18K1": "Z34999K1" } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } ol3utr45xucffunbpi0rgn96ciaqt85 Z35003 0 82897 273468 2026-05-09T07:46:13Z Jsamwrites 938 273468 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35003" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z34999", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z34999", "Z34999K1": { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "K1": [ { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6091", "Z882K2": "Z6091" }, { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6091", "Z882K2": "Z6091" }, "K1": { "Z1K1": "Z6091", "Z6091K1": "Q14827288" }, "K2": { "Z1K1": "Z6091", "Z6091K1": "Q2013" } }, { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6091", "Z882K2": "Z6091" }, "K1": { "Z1K1": "Z6091", "Z6091K1": "Q14827288" }, "K2": { "Z1K1": "Z6091", "Z6091K1": "Q96807071" } } ] } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z13522", "Z13522K2": { "Z1K1": "Z13518", "Z13518K1": "2" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "length of Typed map \u003Centity, entity\u003E, 1 element" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 5em35nogae2u756eo5wac4il68k0uon Z35004 0 82898 273471 2026-05-09T08:07:20Z Jsamwrites 938 273471 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35004" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "Z17K2": "Z35004K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map \u003Centity, entity\u003E" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35004" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "get element of entity-keyed map" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } i6oggxf0f144m98wwdpq234wwtq5a4t 273473 273471 2026-05-09T08:09:28Z Jsamwrites 938 273473 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35004" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "Z17K2": "Z35004K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map \u003Centity, entity\u003E" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35004K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "key" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14" ], "Z8K5": "Z35004" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "get element of entity-keyed map" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } naiatquf51kehkw3qznqlglt9ma8hki 273475 273473 2026-05-09T08:10:43Z Jsamwrites 938 Added Z35005 to the approved list of implementations 273475 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35004" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "Z17K2": "Z35004K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map \u003Centity, entity\u003E" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35004K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "key" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20" ], "Z8K4": [ "Z14", "Z35005" ], "Z8K5": "Z35004" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "get element of entity-keyed map" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } q068nc9dmwiaxc89x4x584gy3jdtjhh 273477 273475 2026-05-09T08:15:07Z Jsamwrites 938 Added Z35006 to the approved list of test cases 273477 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35004" }, "Z2K2": { "Z1K1": "Z8", "Z8K1": [ "Z17", { "Z1K1": "Z17", "Z17K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "Z17K2": "Z35004K1", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "map \u003Centity, entity\u003E" } ] } }, { "Z1K1": "Z17", "Z17K1": "Z6091", "Z17K2": "Z35004K2", "Z17K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "key" } ] } } ], "Z8K2": "Z6091", "Z8K3": [ "Z20", "Z35006" ], "Z8K4": [ "Z14", "Z35005" ], "Z8K5": "Z35004" }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "get element of entity-keyed map" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } jacclu7epwmgwi4oxn234pvwe4ce8sw Z35005 0 82899 273472 2026-05-09T08:09:04Z Jsamwrites 938 273472 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35005" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35004", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z822", "Z822K1": { "Z1K1": "Z7", "Z7K1": "Z13397", "Z13397K1": { "Z1K1": "Z7", "Z7K1": "Z803", "Z803K1": { "Z1K1": "Z39", "Z39K1": "K1" }, "Z803K2": { "Z1K1": "Z18", "Z18K1": "Z35004K1" } }, "Z13397K2": { "Z1K1": "Z7", "Z7K1": "Z24649", "Z24649K1": { "Z1K1": "Z7", "Z7K1": "Z803", "Z803K1": { "Z1K1": "Z39", "Z39K1": "K1" }, "Z803K2": { "Z1K1": "Z18", "Z18K1": "Z35004K1" } }, "Z24649K2": { "Z1K1": "Z18", "Z18K1": "" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } cza4nzchwy76vy8qvrb1b8o6jhrxby2 273474 273472 2026-05-09T08:10:07Z Jsamwrites 938 273474 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35005" }, "Z2K2": { "Z1K1": "Z14", "Z14K1": "Z35004", "Z14K2": { "Z1K1": "Z7", "Z7K1": "Z822", "Z822K1": { "Z1K1": "Z7", "Z7K1": "Z13397", "Z13397K1": { "Z1K1": "Z7", "Z7K1": "Z803", "Z803K1": { "Z1K1": "Z39", "Z39K1": "K1" }, "Z803K2": { "Z1K1": "Z18", "Z18K1": "Z35004K1" } }, "Z13397K2": { "Z1K1": "Z7", "Z7K1": "Z24649", "Z24649K1": { "Z1K1": "Z7", "Z7K1": "Z803", "Z803K1": { "Z1K1": "Z39", "Z39K1": "K1" }, "Z803K2": { "Z1K1": "Z18", "Z18K1": "Z35004K1" } }, "Z24649K2": { "Z1K1": "Z18", "Z18K1": "Z35004K2" } } } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "get element of entity-keyed map, comp" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } st8nj9aop45nsopj9q5zl766osoz6b9 Z35006 0 82900 273476 2026-05-09T08:14:45Z Jsamwrites 938 273476 zobject text/plain { "Z1K1": "Z2", "Z2K1": { "Z1K1": "Z6", "Z6K1": "Z35006" }, "Z2K2": { "Z1K1": "Z20", "Z20K1": "Z35004", "Z20K2": { "Z1K1": "Z7", "Z7K1": "Z35004", "Z35004K1": { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z883", "Z883K1": "Z6091", "Z883K2": "Z6091" }, "K1": [ { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6091", "Z882K2": "Z6091" }, { "Z1K1": { "Z1K1": "Z7", "Z7K1": "Z882", "Z882K1": "Z6091", "Z882K2": "Z6091" }, "K1": { "Z1K1": "Z6091", "Z6091K1": "Q14827288" }, "K2": { "Z1K1": "Z6091", "Z6091K1": "Q104587954" } } ] }, "Z35004K2": { "Z1K1": "Z6091", "Z6091K1": "Q14827288" } }, "Z20K3": { "Z1K1": "Z7", "Z7K1": "Z19316", "Z19316K2": { "Z1K1": "Z6091", "Z6091K1": "Q104587954" } } }, "Z2K3": { "Z1K1": "Z12", "Z12K1": [ "Z11", { "Z1K1": "Z11", "Z11K1": "Z1002", "Z11K2": "get element of entity-keyed map, Wikimedia project" } ] }, "Z2K4": { "Z1K1": "Z32", "Z32K1": [ "Z31" ] }, "Z2K5": { "Z1K1": "Z12", "Z12K1": [ "Z11" ] } } 246z8ggnbn0xqo50gvsvl9guxxpd2ew