Wikifunctions
wikifunctionswiki
https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page
MediaWiki 1.46.0-wmf.26
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
Wikifunctions:Suggest a function
4
1176
272362
271297
2026-05-04T21:32:24Z
Arlo Barnes
1231
/* Lukashian */ link gh
272362
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]].
You can [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 create a function] right away if you have the user-rights.
If a function requires a new type, consider [[WF:TP|proposing it]].
Note that for now '''we only support a limited number of types as input and output types''' of functions. More types are coming in the next few months. For the full list, see [[WF:Type]].
Once created, consider adding new Functions to the [[Wikifunctions:Catalogue|catalogue]]. [[Category:Maintenance]]
== Requests from Abstract Wikipedia editors ==
{{main|abstract:Project:Suggested 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>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></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 ==
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]].
=== mul - Multiple languages ===
* inputs: natural number (new numeric type) and language Z-number; output: 'singular', 'dual', 'paucal', 'plural', etc. as string
*: {{doing}}: {{z+|Z15977}}
* {{z|Z26570}} but with a {{z|Z881}} of {{z|Z6091}} for the {{para|location}} input;<br/>such as in "{{q|Q122962941}} is an {{q|Q350604}} in {{em|{{q|Q801}} and {{q|Q39760}}}}"
=== ase - American Sign Language ===
* string: Stokoe to ase-[https://github.com/sutton-signwriting/core Sgnw] and vice-versa (consult {{ping|Slevinski}} as to best approach)
=== bn - Bangla ===
=== bzs - Brazilian Sign Language ===
* [[w:en:Brazilian Sign Language#Writing|SignWriting]]
* [[incubator:wp/bzs/AS1f502S22f00M513x521S1f502492x497S22f00488x480_AS15d22S22b04M514x527S22b04493x497S15d22487x473|sample text]]
=== cy - Welsh ===
[[w:en:colloquial Welsh morphology]]
=== dag - Dagbani ===
=== de - German ===
* tense * person * number for each verb
** tenses: present, past, ...?
** person: first, second, third
** number: singular, plural
** {{doing}} third person singular present
** second person singular preterite
=== en - English ===
* {{z+|Z11390}} Verb -> agent noun, e.g. "dance"->"dancer"
* Join English morphemes (extends {{z+|Z13254}} to cases like re + en + able + er + s → re-enablers. {{z+|Z13254}} will correctly join re-enable + ers or re- + enablers, but re + enablers → “renablers” (incorrect). {{z+|Z13275}} tests the Reduce function to produce “detoxification” from a list of four morphemes (orchestrator limit exceeded with five). I doubt we’ll want to derive “toxify” from “toxic”, however.
* Derive lemmas from a form. This is envisaged as the converse of Join English morphemes. The focus would be identifying the base form (the lexeme’s lemma) rather than further segmenting the lemma. For example, “underlay” should return “underlie” (for which it is the past participle) and the noun “underlay” (for which it is the lemma) and (perhaps) the verb “underlay”, which might be the tendency of an unproductive hen or the activity of a carpet-fitter. As this is a purely functional converse, every string will have itself as a possible lemma.
* Generate [[:w:Numeral_prefix|Numerical prefixes]] of various kinds from a natural number input.
* {{z+|Z19499}}
* Intro for geographical feature: Returns a intro sentence for a geographical feature.
** Example 1: The '''Centre for Fine Arts''' is an '''arts center''' on '''Coudenberg - Koudenberg''' in '''Mont des Arts - Kunstberg, City of Brussels''', '''Belgium'''
*** Wikidata label = Centre for Fine Arts
*** {{Property|P31}} = {{Q|Q2190251}}
*** {{Property|P706}} = {{Q|Q13451667}}
*** {{Property|P276}} = {{Q|Q115180808}}
*** {{Property|P131}} = {{Q|Q239}}
*** {{Property|P17}} = {{Q|Q31}}
**Example 2: '''Olympus Mons''' is a '''mons''' on '''Mars''' on '''Tharsis''', '''Amazonis quadrangle''' and '''Tharsis quadrangle'''.
***Wikidata label = Olympus Mons
***{{Property|P31}} = {{Q|Q429088}}
***{{Property|P376}} = {{Q|Q111}}
***{{Property|P706}} = {{Q|Q2170645}}
***{{Property|P276}} = {{Q|Q3054547}}, {{Q|Q3054525}}
**Example 3: '''Princess Elisabeth Antarctica''' is a '''Antarctic research station''' on '''Utsteinen Nunatak''', '''Antarctic Treaty area''', '''Antartica'''
***Wikidata label = Princess Elisabeth Antarctica
***{{Property|P31}} = {{Q|Q749622}}
***{{Property|P706}} = {{Q|Q7754959}}
***{{Property|P131}} = {{Q|Q21590062}}
***{{Property|P17}} = ''none''
***{{Property|P30}} = {{Q|Q51}}
'''<big>eu - Basque</big>'''
* Basque language declension system in rather regular based on suffixes.
** Here a few examples for Basque declension:
*** {{z+|Z18541}}
*** {{z+|Z18670}}
**Before implementing all of them, we may propose an overall classification that eases both the implementation and the future usage of the functions. Here a first try based on bibliography from the [https://www.euskaltzaindia.eus/index.php?option=com_ebe&view=bilaketa&task=pdf&Itemid=1161&atala=deklinabide-taulak Basque Language Academy]:
***Personal pronouns: they can be treated as exceptions (e.g. "zuek -> zuei", etc.) together with proper noun declension, or as a separate case.
***Determiners: they can be treated as exceptions (e.g. "hau" -> "honek", etc) together with common noun declension, or as a separated case
***Grammatical cases:
****Absolutive ("Nor"): indefinite, singular and plural
****Ergative ("Nork"): indefinite, singular and plural
****Dative ("Nori"): indefinite, singular and plural
***Place and Time: we must distinguish animate (AN) and inanimate (IN)
****Inessive IN ("Non"): indefinite, singular and plural
****Inessive AN ("Norengan"): indefinite, singular and plural - It could be a composition of "Noren" + "-gan"
****Place and time ("Nongo"): indefinite, singular and plural
****Allative IN ("Nora"): indefinite, singular and plural
****Allative AN ("Norengana"): indefinite, singular and plural - It could be a composition of "Noren/Norengan" + "-gan/-a"
****Finished Allative AN ("Noraino"): indefinite, singular and plural - It could be a composition of "Nora" + "-ino"
****Finished Allative AN ("Norengainaino"): indefinite, singular and plural - It could be a composition of "Noregana" + "-ino"
****Right way Allative IN ("Noratz"): indefinite, singular and plural - It could be a composition of "Nora" + "-ntz"
****Right way Allative AN ("Norenganantz"): indefinite, singular and plural - It could be a composition of "Norengana" + "-ntz"
****Ablative IN ("Nondik"): indefinite, singular and plural
****Ablative AN ("Norengandik"): indefinite, singular and plural
***Rest of the cases:
****Partitive ("Zerik"): indefinite
****Possessive ("Noren"): indefinite, singular and plural
****Sociative ("Norekin"): indefinite, singular and plural
****Instrumental ("Zerez"): indefinite, singular and plural
****Motivative ("Zerengatik"): indefinite, singular and plural
****Destinative ("Norentzat"): indefinite, singular and plural - It could be a composition of "Noren" + "-tzat"
***Special case:
****Prolative ("Nortzat"): indefinite
***To take into consideration:
****Together with animate and inanimate classification, we should also consider if the noun is a proper noun ("izen berezia"). We can identify that automatically (e.g. check if written in Title case, but this may not be always possible like in the beginning of sentences), but a dedicated function may be preferred (or a boolean to the generic function saying it is a proper noun).
****The main distinction is between noun ending by vowel or consonant that can be easily computed
=== fr - French ===
* {{z+|Z11590}} Masculine adjective -> feminine, e.g. "exact"->"exacte"
* Conjugated verb => Infinitive, e.g. "alla" => "aller", "mordit" => "mordre"
=== ha - Hausa ===
A notated demo sentence ("Aishà taa jeefar dà kàren Indoo" ― "Aisha threw away Indo's dog") is available at http://intent.xigt.org
=== ig - Igbo ===
=== ldn - Láadan ===
section moved to [[WF:human languages/Z1882]]
=== ml - Malayalam ===
=== nl - Dutch ===
* Cardinals
** Cardinal to number
** Number to cardinal
* Verbs
** [https://e-ans.ivdnt.org/topics/pid/ans0203lingtopic Conjugations]
* Morphology
** Diminutive to root word
*** Belgian diminutive to root word
** Root word to diminutive
*** Belgian root word to diminutive (-ke)
** Plural diminutive to root word
*** Belgian plural diminutive to root word
** Root word to plural diminutive
*** Belgian root word to plural diminutive (-kes)
===kcg - Tyap===
* Tyap has six determiners/definite articles which determine the pronoun, number (1-5), etc. forms used.
** ka & wu (basically for singular nouns and adjectives with a few exceptions)
** hu & ji (for singular and plural nouns and adjectives)
** ba & na (mainly for plural nouns.
*** Determiners come after nouns.
*** When an adjective comes before a noun, the determiner used is that of the adjective. E.g., a̱sham (ka) - (the) beautiful, kyang (hu) - (the) thing = a̱sham kyang (ka) - (the) beautiful thing.
* Tyap has a non-uniform noun class system used for noun pluralization and conversion from one part of speech to another. E.g., a̱bwom (song) and bwom (to sing), a̱fufwuo (ears) and fufwuo (ear).
* Affixation: Prefixes exist but suffixes hardly are found.
=== vgt - Flemish Sign Language ===
* SignWriting encode [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 12:44, 18 January 2026 (UTC)
== 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 ===
Discussion of types: [[WF:type#Calendar types]]
==== Asgardian calendar ====
Base on the [https://asgardia.space/en/calendar online converter]; see [[w:Asgardia|Asgardia]] for context
==== 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
==== Lukashian ====
[https://lukashian.org/download Java] reference implementation ([https://github.com/The-Lukashian-Calendar/lukashian GitHub])
==== Mesoamerican calendars ====
including civil and clerical forms
==== Persian ====
also called Jalali
==== Thai calendar ====
==== Hebrew calendar ====
==== 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]]
=== 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 ===
* 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)
=== 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]]
qyft3ws4wbtwd2gnf9t4ekb55isp7dl
272363
272362
2026-05-04T21:36:03Z
Arlo Barnes
1231
/* Lukashian */ blurb
272363
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]].
You can [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 create a function] right away if you have the user-rights.
If a function requires a new type, consider [[WF:TP|proposing it]].
Note that for now '''we only support a limited number of types as input and output types''' of functions. More types are coming in the next few months. For the full list, see [[WF:Type]].
Once created, consider adding new Functions to the [[Wikifunctions:Catalogue|catalogue]]. [[Category:Maintenance]]
== Requests from Abstract Wikipedia editors ==
{{main|abstract:Project:Suggested 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>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></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 ==
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]].
=== mul - Multiple languages ===
* inputs: natural number (new numeric type) and language Z-number; output: 'singular', 'dual', 'paucal', 'plural', etc. as string
*: {{doing}}: {{z+|Z15977}}
* {{z|Z26570}} but with a {{z|Z881}} of {{z|Z6091}} for the {{para|location}} input;<br/>such as in "{{q|Q122962941}} is an {{q|Q350604}} in {{em|{{q|Q801}} and {{q|Q39760}}}}"
=== ase - American Sign Language ===
* string: Stokoe to ase-[https://github.com/sutton-signwriting/core Sgnw] and vice-versa (consult {{ping|Slevinski}} as to best approach)
=== bn - Bangla ===
=== bzs - Brazilian Sign Language ===
* [[w:en:Brazilian Sign Language#Writing|SignWriting]]
* [[incubator:wp/bzs/AS1f502S22f00M513x521S1f502492x497S22f00488x480_AS15d22S22b04M514x527S22b04493x497S15d22487x473|sample text]]
=== cy - Welsh ===
[[w:en:colloquial Welsh morphology]]
=== dag - Dagbani ===
=== de - German ===
* tense * person * number for each verb
** tenses: present, past, ...?
** person: first, second, third
** number: singular, plural
** {{doing}} third person singular present
** second person singular preterite
=== en - English ===
* {{z+|Z11390}} Verb -> agent noun, e.g. "dance"->"dancer"
* Join English morphemes (extends {{z+|Z13254}} to cases like re + en + able + er + s → re-enablers. {{z+|Z13254}} will correctly join re-enable + ers or re- + enablers, but re + enablers → “renablers” (incorrect). {{z+|Z13275}} tests the Reduce function to produce “detoxification” from a list of four morphemes (orchestrator limit exceeded with five). I doubt we’ll want to derive “toxify” from “toxic”, however.
* Derive lemmas from a form. This is envisaged as the converse of Join English morphemes. The focus would be identifying the base form (the lexeme’s lemma) rather than further segmenting the lemma. For example, “underlay” should return “underlie” (for which it is the past participle) and the noun “underlay” (for which it is the lemma) and (perhaps) the verb “underlay”, which might be the tendency of an unproductive hen or the activity of a carpet-fitter. As this is a purely functional converse, every string will have itself as a possible lemma.
* Generate [[:w:Numeral_prefix|Numerical prefixes]] of various kinds from a natural number input.
* {{z+|Z19499}}
* Intro for geographical feature: Returns a intro sentence for a geographical feature.
** Example 1: The '''Centre for Fine Arts''' is an '''arts center''' on '''Coudenberg - Koudenberg''' in '''Mont des Arts - Kunstberg, City of Brussels''', '''Belgium'''
*** Wikidata label = Centre for Fine Arts
*** {{Property|P31}} = {{Q|Q2190251}}
*** {{Property|P706}} = {{Q|Q13451667}}
*** {{Property|P276}} = {{Q|Q115180808}}
*** {{Property|P131}} = {{Q|Q239}}
*** {{Property|P17}} = {{Q|Q31}}
**Example 2: '''Olympus Mons''' is a '''mons''' on '''Mars''' on '''Tharsis''', '''Amazonis quadrangle''' and '''Tharsis quadrangle'''.
***Wikidata label = Olympus Mons
***{{Property|P31}} = {{Q|Q429088}}
***{{Property|P376}} = {{Q|Q111}}
***{{Property|P706}} = {{Q|Q2170645}}
***{{Property|P276}} = {{Q|Q3054547}}, {{Q|Q3054525}}
**Example 3: '''Princess Elisabeth Antarctica''' is a '''Antarctic research station''' on '''Utsteinen Nunatak''', '''Antarctic Treaty area''', '''Antartica'''
***Wikidata label = Princess Elisabeth Antarctica
***{{Property|P31}} = {{Q|Q749622}}
***{{Property|P706}} = {{Q|Q7754959}}
***{{Property|P131}} = {{Q|Q21590062}}
***{{Property|P17}} = ''none''
***{{Property|P30}} = {{Q|Q51}}
'''<big>eu - Basque</big>'''
* Basque language declension system in rather regular based on suffixes.
** Here a few examples for Basque declension:
*** {{z+|Z18541}}
*** {{z+|Z18670}}
**Before implementing all of them, we may propose an overall classification that eases both the implementation and the future usage of the functions. Here a first try based on bibliography from the [https://www.euskaltzaindia.eus/index.php?option=com_ebe&view=bilaketa&task=pdf&Itemid=1161&atala=deklinabide-taulak Basque Language Academy]:
***Personal pronouns: they can be treated as exceptions (e.g. "zuek -> zuei", etc.) together with proper noun declension, or as a separate case.
***Determiners: they can be treated as exceptions (e.g. "hau" -> "honek", etc) together with common noun declension, or as a separated case
***Grammatical cases:
****Absolutive ("Nor"): indefinite, singular and plural
****Ergative ("Nork"): indefinite, singular and plural
****Dative ("Nori"): indefinite, singular and plural
***Place and Time: we must distinguish animate (AN) and inanimate (IN)
****Inessive IN ("Non"): indefinite, singular and plural
****Inessive AN ("Norengan"): indefinite, singular and plural - It could be a composition of "Noren" + "-gan"
****Place and time ("Nongo"): indefinite, singular and plural
****Allative IN ("Nora"): indefinite, singular and plural
****Allative AN ("Norengana"): indefinite, singular and plural - It could be a composition of "Noren/Norengan" + "-gan/-a"
****Finished Allative AN ("Noraino"): indefinite, singular and plural - It could be a composition of "Nora" + "-ino"
****Finished Allative AN ("Norengainaino"): indefinite, singular and plural - It could be a composition of "Noregana" + "-ino"
****Right way Allative IN ("Noratz"): indefinite, singular and plural - It could be a composition of "Nora" + "-ntz"
****Right way Allative AN ("Norenganantz"): indefinite, singular and plural - It could be a composition of "Norengana" + "-ntz"
****Ablative IN ("Nondik"): indefinite, singular and plural
****Ablative AN ("Norengandik"): indefinite, singular and plural
***Rest of the cases:
****Partitive ("Zerik"): indefinite
****Possessive ("Noren"): indefinite, singular and plural
****Sociative ("Norekin"): indefinite, singular and plural
****Instrumental ("Zerez"): indefinite, singular and plural
****Motivative ("Zerengatik"): indefinite, singular and plural
****Destinative ("Norentzat"): indefinite, singular and plural - It could be a composition of "Noren" + "-tzat"
***Special case:
****Prolative ("Nortzat"): indefinite
***To take into consideration:
****Together with animate and inanimate classification, we should also consider if the noun is a proper noun ("izen berezia"). We can identify that automatically (e.g. check if written in Title case, but this may not be always possible like in the beginning of sentences), but a dedicated function may be preferred (or a boolean to the generic function saying it is a proper noun).
****The main distinction is between noun ending by vowel or consonant that can be easily computed
=== fr - French ===
* {{z+|Z11590}} Masculine adjective -> feminine, e.g. "exact"->"exacte"
* Conjugated verb => Infinitive, e.g. "alla" => "aller", "mordit" => "mordre"
=== ha - Hausa ===
A notated demo sentence ("Aishà taa jeefar dà kàren Indoo" ― "Aisha threw away Indo's dog") is available at http://intent.xigt.org
=== ig - Igbo ===
=== ldn - Láadan ===
section moved to [[WF:human languages/Z1882]]
=== ml - Malayalam ===
=== nl - Dutch ===
* Cardinals
** Cardinal to number
** Number to cardinal
* Verbs
** [https://e-ans.ivdnt.org/topics/pid/ans0203lingtopic Conjugations]
* Morphology
** Diminutive to root word
*** Belgian diminutive to root word
** Root word to diminutive
*** Belgian root word to diminutive (-ke)
** Plural diminutive to root word
*** Belgian plural diminutive to root word
** Root word to plural diminutive
*** Belgian root word to plural diminutive (-kes)
===kcg - Tyap===
* Tyap has six determiners/definite articles which determine the pronoun, number (1-5), etc. forms used.
** ka & wu (basically for singular nouns and adjectives with a few exceptions)
** hu & ji (for singular and plural nouns and adjectives)
** ba & na (mainly for plural nouns.
*** Determiners come after nouns.
*** When an adjective comes before a noun, the determiner used is that of the adjective. E.g., a̱sham (ka) - (the) beautiful, kyang (hu) - (the) thing = a̱sham kyang (ka) - (the) beautiful thing.
* Tyap has a non-uniform noun class system used for noun pluralization and conversion from one part of speech to another. E.g., a̱bwom (song) and bwom (to sing), a̱fufwuo (ears) and fufwuo (ear).
* Affixation: Prefixes exist but suffixes hardly are found.
=== vgt - Flemish Sign Language ===
* SignWriting encode [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 12:44, 18 January 2026 (UTC)
== 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 ===
Discussion of types: [[WF:type#Calendar types]]
==== Asgardian calendar ====
Base on the [https://asgardia.space/en/calendar online converter]; see [[w:Asgardia|Asgardia]] for context
==== 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
==== Lukashian ====
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]
==== Mesoamerican calendars ====
including civil and clerical forms
==== Persian ====
also called Jalali
==== Thai calendar ====
==== Hebrew calendar ====
==== 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]]
=== 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 ===
* 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)
=== 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]]
j0rv3708cm2qo4njf2ejdxn59w72gwq
272364
272363
2026-05-04T21:38:45Z
Arlo Barnes
1231
/* Date, time, and calendric functions */ subsectionate by reference frame
272364
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]].
You can [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 create a function] right away if you have the user-rights.
If a function requires a new type, consider [[WF:TP|proposing it]].
Note that for now '''we only support a limited number of types as input and output types''' of functions. More types are coming in the next few months. For the full list, see [[WF:Type]].
Once created, consider adding new Functions to the [[Wikifunctions:Catalogue|catalogue]]. [[Category:Maintenance]]
== Requests from Abstract Wikipedia editors ==
{{main|abstract:Project:Suggested 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>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></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 ==
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]].
=== mul - Multiple languages ===
* inputs: natural number (new numeric type) and language Z-number; output: 'singular', 'dual', 'paucal', 'plural', etc. as string
*: {{doing}}: {{z+|Z15977}}
* {{z|Z26570}} but with a {{z|Z881}} of {{z|Z6091}} for the {{para|location}} input;<br/>such as in "{{q|Q122962941}} is an {{q|Q350604}} in {{em|{{q|Q801}} and {{q|Q39760}}}}"
=== ase - American Sign Language ===
* string: Stokoe to ase-[https://github.com/sutton-signwriting/core Sgnw] and vice-versa (consult {{ping|Slevinski}} as to best approach)
=== bn - Bangla ===
=== bzs - Brazilian Sign Language ===
* [[w:en:Brazilian Sign Language#Writing|SignWriting]]
* [[incubator:wp/bzs/AS1f502S22f00M513x521S1f502492x497S22f00488x480_AS15d22S22b04M514x527S22b04493x497S15d22487x473|sample text]]
=== cy - Welsh ===
[[w:en:colloquial Welsh morphology]]
=== dag - Dagbani ===
=== de - German ===
* tense * person * number for each verb
** tenses: present, past, ...?
** person: first, second, third
** number: singular, plural
** {{doing}} third person singular present
** second person singular preterite
=== en - English ===
* {{z+|Z11390}} Verb -> agent noun, e.g. "dance"->"dancer"
* Join English morphemes (extends {{z+|Z13254}} to cases like re + en + able + er + s → re-enablers. {{z+|Z13254}} will correctly join re-enable + ers or re- + enablers, but re + enablers → “renablers” (incorrect). {{z+|Z13275}} tests the Reduce function to produce “detoxification” from a list of four morphemes (orchestrator limit exceeded with five). I doubt we’ll want to derive “toxify” from “toxic”, however.
* Derive lemmas from a form. This is envisaged as the converse of Join English morphemes. The focus would be identifying the base form (the lexeme’s lemma) rather than further segmenting the lemma. For example, “underlay” should return “underlie” (for which it is the past participle) and the noun “underlay” (for which it is the lemma) and (perhaps) the verb “underlay”, which might be the tendency of an unproductive hen or the activity of a carpet-fitter. As this is a purely functional converse, every string will have itself as a possible lemma.
* Generate [[:w:Numeral_prefix|Numerical prefixes]] of various kinds from a natural number input.
* {{z+|Z19499}}
* Intro for geographical feature: Returns a intro sentence for a geographical feature.
** Example 1: The '''Centre for Fine Arts''' is an '''arts center''' on '''Coudenberg - Koudenberg''' in '''Mont des Arts - Kunstberg, City of Brussels''', '''Belgium'''
*** Wikidata label = Centre for Fine Arts
*** {{Property|P31}} = {{Q|Q2190251}}
*** {{Property|P706}} = {{Q|Q13451667}}
*** {{Property|P276}} = {{Q|Q115180808}}
*** {{Property|P131}} = {{Q|Q239}}
*** {{Property|P17}} = {{Q|Q31}}
**Example 2: '''Olympus Mons''' is a '''mons''' on '''Mars''' on '''Tharsis''', '''Amazonis quadrangle''' and '''Tharsis quadrangle'''.
***Wikidata label = Olympus Mons
***{{Property|P31}} = {{Q|Q429088}}
***{{Property|P376}} = {{Q|Q111}}
***{{Property|P706}} = {{Q|Q2170645}}
***{{Property|P276}} = {{Q|Q3054547}}, {{Q|Q3054525}}
**Example 3: '''Princess Elisabeth Antarctica''' is a '''Antarctic research station''' on '''Utsteinen Nunatak''', '''Antarctic Treaty area''', '''Antartica'''
***Wikidata label = Princess Elisabeth Antarctica
***{{Property|P31}} = {{Q|Q749622}}
***{{Property|P706}} = {{Q|Q7754959}}
***{{Property|P131}} = {{Q|Q21590062}}
***{{Property|P17}} = ''none''
***{{Property|P30}} = {{Q|Q51}}
'''<big>eu - Basque</big>'''
* Basque language declension system in rather regular based on suffixes.
** Here a few examples for Basque declension:
*** {{z+|Z18541}}
*** {{z+|Z18670}}
**Before implementing all of them, we may propose an overall classification that eases both the implementation and the future usage of the functions. Here a first try based on bibliography from the [https://www.euskaltzaindia.eus/index.php?option=com_ebe&view=bilaketa&task=pdf&Itemid=1161&atala=deklinabide-taulak Basque Language Academy]:
***Personal pronouns: they can be treated as exceptions (e.g. "zuek -> zuei", etc.) together with proper noun declension, or as a separate case.
***Determiners: they can be treated as exceptions (e.g. "hau" -> "honek", etc) together with common noun declension, or as a separated case
***Grammatical cases:
****Absolutive ("Nor"): indefinite, singular and plural
****Ergative ("Nork"): indefinite, singular and plural
****Dative ("Nori"): indefinite, singular and plural
***Place and Time: we must distinguish animate (AN) and inanimate (IN)
****Inessive IN ("Non"): indefinite, singular and plural
****Inessive AN ("Norengan"): indefinite, singular and plural - It could be a composition of "Noren" + "-gan"
****Place and time ("Nongo"): indefinite, singular and plural
****Allative IN ("Nora"): indefinite, singular and plural
****Allative AN ("Norengana"): indefinite, singular and plural - It could be a composition of "Noren/Norengan" + "-gan/-a"
****Finished Allative AN ("Noraino"): indefinite, singular and plural - It could be a composition of "Nora" + "-ino"
****Finished Allative AN ("Norengainaino"): indefinite, singular and plural - It could be a composition of "Noregana" + "-ino"
****Right way Allative IN ("Noratz"): indefinite, singular and plural - It could be a composition of "Nora" + "-ntz"
****Right way Allative AN ("Norenganantz"): indefinite, singular and plural - It could be a composition of "Norengana" + "-ntz"
****Ablative IN ("Nondik"): indefinite, singular and plural
****Ablative AN ("Norengandik"): indefinite, singular and plural
***Rest of the cases:
****Partitive ("Zerik"): indefinite
****Possessive ("Noren"): indefinite, singular and plural
****Sociative ("Norekin"): indefinite, singular and plural
****Instrumental ("Zerez"): indefinite, singular and plural
****Motivative ("Zerengatik"): indefinite, singular and plural
****Destinative ("Norentzat"): indefinite, singular and plural - It could be a composition of "Noren" + "-tzat"
***Special case:
****Prolative ("Nortzat"): indefinite
***To take into consideration:
****Together with animate and inanimate classification, we should also consider if the noun is a proper noun ("izen berezia"). We can identify that automatically (e.g. check if written in Title case, but this may not be always possible like in the beginning of sentences), but a dedicated function may be preferred (or a boolean to the generic function saying it is a proper noun).
****The main distinction is between noun ending by vowel or consonant that can be easily computed
=== fr - French ===
* {{z+|Z11590}} Masculine adjective -> feminine, e.g. "exact"->"exacte"
* Conjugated verb => Infinitive, e.g. "alla" => "aller", "mordit" => "mordre"
=== ha - Hausa ===
A notated demo sentence ("Aishà taa jeefar dà kàren Indoo" ― "Aisha threw away Indo's dog") is available at http://intent.xigt.org
=== ig - Igbo ===
=== ldn - Láadan ===
section moved to [[WF:human languages/Z1882]]
=== ml - Malayalam ===
=== nl - Dutch ===
* Cardinals
** Cardinal to number
** Number to cardinal
* Verbs
** [https://e-ans.ivdnt.org/topics/pid/ans0203lingtopic Conjugations]
* Morphology
** Diminutive to root word
*** Belgian diminutive to root word
** Root word to diminutive
*** Belgian root word to diminutive (-ke)
** Plural diminutive to root word
*** Belgian plural diminutive to root word
** Root word to plural diminutive
*** Belgian root word to plural diminutive (-kes)
===kcg - Tyap===
* Tyap has six determiners/definite articles which determine the pronoun, number (1-5), etc. forms used.
** ka & wu (basically for singular nouns and adjectives with a few exceptions)
** hu & ji (for singular and plural nouns and adjectives)
** ba & na (mainly for plural nouns.
*** Determiners come after nouns.
*** When an adjective comes before a noun, the determiner used is that of the adjective. E.g., a̱sham (ka) - (the) beautiful, kyang (hu) - (the) thing = a̱sham kyang (ka) - (the) beautiful thing.
* Tyap has a non-uniform noun class system used for noun pluralization and conversion from one part of speech to another. E.g., a̱bwom (song) and bwom (to sing), a̱fufwuo (ears) and fufwuo (ear).
* Affixation: Prefixes exist but suffixes hardly are found.
=== vgt - Flemish Sign Language ===
* SignWriting encode [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 12:44, 18 January 2026 (UTC)
== 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 ===
Discussion of types: [[WF:type#Calendar types]]
==== Earth focus ====
===== 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 ====
===== Asgardian calendar =====
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 =====
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 ===
* 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)
=== 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]]
lvd97glayf6et5i3xqhk94wpo15cuc3
272370
272364
2026-05-04T22:36:45Z
Arlo Barnes
1231
/* Date, time, and calendric functions */ images
272370
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]].
You can [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 create a function] right away if you have the user-rights.
If a function requires a new type, consider [[WF:TP|proposing it]].
Note that for now '''we only support a limited number of types as input and output types''' of functions. More types are coming in the next few months. For the full list, see [[WF:Type]].
Once created, consider adding new Functions to the [[Wikifunctions:Catalogue|catalogue]]. [[Category:Maintenance]]
== Requests from Abstract Wikipedia editors ==
{{main|abstract:Project:Suggested 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>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></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 ==
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]].
=== mul - Multiple languages ===
* inputs: natural number (new numeric type) and language Z-number; output: 'singular', 'dual', 'paucal', 'plural', etc. as string
*: {{doing}}: {{z+|Z15977}}
* {{z|Z26570}} but with a {{z|Z881}} of {{z|Z6091}} for the {{para|location}} input;<br/>such as in "{{q|Q122962941}} is an {{q|Q350604}} in {{em|{{q|Q801}} and {{q|Q39760}}}}"
=== ase - American Sign Language ===
* string: Stokoe to ase-[https://github.com/sutton-signwriting/core Sgnw] and vice-versa (consult {{ping|Slevinski}} as to best approach)
=== bn - Bangla ===
=== bzs - Brazilian Sign Language ===
* [[w:en:Brazilian Sign Language#Writing|SignWriting]]
* [[incubator:wp/bzs/AS1f502S22f00M513x521S1f502492x497S22f00488x480_AS15d22S22b04M514x527S22b04493x497S15d22487x473|sample text]]
=== cy - Welsh ===
[[w:en:colloquial Welsh morphology]]
=== dag - Dagbani ===
=== de - German ===
* tense * person * number for each verb
** tenses: present, past, ...?
** person: first, second, third
** number: singular, plural
** {{doing}} third person singular present
** second person singular preterite
=== en - English ===
* {{z+|Z11390}} Verb -> agent noun, e.g. "dance"->"dancer"
* Join English morphemes (extends {{z+|Z13254}} to cases like re + en + able + er + s → re-enablers. {{z+|Z13254}} will correctly join re-enable + ers or re- + enablers, but re + enablers → “renablers” (incorrect). {{z+|Z13275}} tests the Reduce function to produce “detoxification” from a list of four morphemes (orchestrator limit exceeded with five). I doubt we’ll want to derive “toxify” from “toxic”, however.
* Derive lemmas from a form. This is envisaged as the converse of Join English morphemes. The focus would be identifying the base form (the lexeme’s lemma) rather than further segmenting the lemma. For example, “underlay” should return “underlie” (for which it is the past participle) and the noun “underlay” (for which it is the lemma) and (perhaps) the verb “underlay”, which might be the tendency of an unproductive hen or the activity of a carpet-fitter. As this is a purely functional converse, every string will have itself as a possible lemma.
* Generate [[:w:Numeral_prefix|Numerical prefixes]] of various kinds from a natural number input.
* {{z+|Z19499}}
* Intro for geographical feature: Returns a intro sentence for a geographical feature.
** Example 1: The '''Centre for Fine Arts''' is an '''arts center''' on '''Coudenberg - Koudenberg''' in '''Mont des Arts - Kunstberg, City of Brussels''', '''Belgium'''
*** Wikidata label = Centre for Fine Arts
*** {{Property|P31}} = {{Q|Q2190251}}
*** {{Property|P706}} = {{Q|Q13451667}}
*** {{Property|P276}} = {{Q|Q115180808}}
*** {{Property|P131}} = {{Q|Q239}}
*** {{Property|P17}} = {{Q|Q31}}
**Example 2: '''Olympus Mons''' is a '''mons''' on '''Mars''' on '''Tharsis''', '''Amazonis quadrangle''' and '''Tharsis quadrangle'''.
***Wikidata label = Olympus Mons
***{{Property|P31}} = {{Q|Q429088}}
***{{Property|P376}} = {{Q|Q111}}
***{{Property|P706}} = {{Q|Q2170645}}
***{{Property|P276}} = {{Q|Q3054547}}, {{Q|Q3054525}}
**Example 3: '''Princess Elisabeth Antarctica''' is a '''Antarctic research station''' on '''Utsteinen Nunatak''', '''Antarctic Treaty area''', '''Antartica'''
***Wikidata label = Princess Elisabeth Antarctica
***{{Property|P31}} = {{Q|Q749622}}
***{{Property|P706}} = {{Q|Q7754959}}
***{{Property|P131}} = {{Q|Q21590062}}
***{{Property|P17}} = ''none''
***{{Property|P30}} = {{Q|Q51}}
'''<big>eu - Basque</big>'''
* Basque language declension system in rather regular based on suffixes.
** Here a few examples for Basque declension:
*** {{z+|Z18541}}
*** {{z+|Z18670}}
**Before implementing all of them, we may propose an overall classification that eases both the implementation and the future usage of the functions. Here a first try based on bibliography from the [https://www.euskaltzaindia.eus/index.php?option=com_ebe&view=bilaketa&task=pdf&Itemid=1161&atala=deklinabide-taulak Basque Language Academy]:
***Personal pronouns: they can be treated as exceptions (e.g. "zuek -> zuei", etc.) together with proper noun declension, or as a separate case.
***Determiners: they can be treated as exceptions (e.g. "hau" -> "honek", etc) together with common noun declension, or as a separated case
***Grammatical cases:
****Absolutive ("Nor"): indefinite, singular and plural
****Ergative ("Nork"): indefinite, singular and plural
****Dative ("Nori"): indefinite, singular and plural
***Place and Time: we must distinguish animate (AN) and inanimate (IN)
****Inessive IN ("Non"): indefinite, singular and plural
****Inessive AN ("Norengan"): indefinite, singular and plural - It could be a composition of "Noren" + "-gan"
****Place and time ("Nongo"): indefinite, singular and plural
****Allative IN ("Nora"): indefinite, singular and plural
****Allative AN ("Norengana"): indefinite, singular and plural - It could be a composition of "Noren/Norengan" + "-gan/-a"
****Finished Allative AN ("Noraino"): indefinite, singular and plural - It could be a composition of "Nora" + "-ino"
****Finished Allative AN ("Norengainaino"): indefinite, singular and plural - It could be a composition of "Noregana" + "-ino"
****Right way Allative IN ("Noratz"): indefinite, singular and plural - It could be a composition of "Nora" + "-ntz"
****Right way Allative AN ("Norenganantz"): indefinite, singular and plural - It could be a composition of "Norengana" + "-ntz"
****Ablative IN ("Nondik"): indefinite, singular and plural
****Ablative AN ("Norengandik"): indefinite, singular and plural
***Rest of the cases:
****Partitive ("Zerik"): indefinite
****Possessive ("Noren"): indefinite, singular and plural
****Sociative ("Norekin"): indefinite, singular and plural
****Instrumental ("Zerez"): indefinite, singular and plural
****Motivative ("Zerengatik"): indefinite, singular and plural
****Destinative ("Norentzat"): indefinite, singular and plural - It could be a composition of "Noren" + "-tzat"
***Special case:
****Prolative ("Nortzat"): indefinite
***To take into consideration:
****Together with animate and inanimate classification, we should also consider if the noun is a proper noun ("izen berezia"). We can identify that automatically (e.g. check if written in Title case, but this may not be always possible like in the beginning of sentences), but a dedicated function may be preferred (or a boolean to the generic function saying it is a proper noun).
****The main distinction is between noun ending by vowel or consonant that can be easily computed
=== fr - French ===
* {{z+|Z11590}} Masculine adjective -> feminine, e.g. "exact"->"exacte"
* Conjugated verb => Infinitive, e.g. "alla" => "aller", "mordit" => "mordre"
=== ha - Hausa ===
A notated demo sentence ("Aishà taa jeefar dà kàren Indoo" ― "Aisha threw away Indo's dog") is available at http://intent.xigt.org
=== ig - Igbo ===
=== ldn - Láadan ===
section moved to [[WF:human languages/Z1882]]
=== ml - Malayalam ===
=== nl - Dutch ===
* Cardinals
** Cardinal to number
** Number to cardinal
* Verbs
** [https://e-ans.ivdnt.org/topics/pid/ans0203lingtopic Conjugations]
* Morphology
** Diminutive to root word
*** Belgian diminutive to root word
** Root word to diminutive
*** Belgian root word to diminutive (-ke)
** Plural diminutive to root word
*** Belgian plural diminutive to root word
** Root word to plural diminutive
*** Belgian root word to plural diminutive (-kes)
===kcg - Tyap===
* Tyap has six determiners/definite articles which determine the pronoun, number (1-5), etc. forms used.
** ka & wu (basically for singular nouns and adjectives with a few exceptions)
** hu & ji (for singular and plural nouns and adjectives)
** ba & na (mainly for plural nouns.
*** Determiners come after nouns.
*** When an adjective comes before a noun, the determiner used is that of the adjective. E.g., a̱sham (ka) - (the) beautiful, kyang (hu) - (the) thing = a̱sham kyang (ka) - (the) beautiful thing.
* Tyap has a non-uniform noun class system used for noun pluralization and conversion from one part of speech to another. E.g., a̱bwom (song) and bwom (to sing), a̱fufwuo (ears) and fufwuo (ear).
* Affixation: Prefixes exist but suffixes hardly are found.
=== vgt - Flemish Sign Language ===
* SignWriting encode [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 12:44, 18 January 2026 (UTC)
== 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 ===
Discussion of types: [[WF:type#Calendar types]]
==== 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 ===
* 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)
=== 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]]
sz7u68aovbxmsj16yiujlubp9fbe4op
272371
272370
2026-05-05T03:06:05Z
Arlo Barnes
1231
/* Date, time, and calendric functions */ Lua module
272371
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]].
You can [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 create a function] right away if you have the user-rights.
If a function requires a new type, consider [[WF:TP|proposing it]].
Note that for now '''we only support a limited number of types as input and output types''' of functions. More types are coming in the next few months. For the full list, see [[WF:Type]].
Once created, consider adding new Functions to the [[Wikifunctions:Catalogue|catalogue]]. [[Category:Maintenance]]
== Requests from Abstract Wikipedia editors ==
{{main|abstract:Project:Suggested 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>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></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 ==
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]].
=== mul - Multiple languages ===
* inputs: natural number (new numeric type) and language Z-number; output: 'singular', 'dual', 'paucal', 'plural', etc. as string
*: {{doing}}: {{z+|Z15977}}
* {{z|Z26570}} but with a {{z|Z881}} of {{z|Z6091}} for the {{para|location}} input;<br/>such as in "{{q|Q122962941}} is an {{q|Q350604}} in {{em|{{q|Q801}} and {{q|Q39760}}}}"
=== ase - American Sign Language ===
* string: Stokoe to ase-[https://github.com/sutton-signwriting/core Sgnw] and vice-versa (consult {{ping|Slevinski}} as to best approach)
=== bn - Bangla ===
=== bzs - Brazilian Sign Language ===
* [[w:en:Brazilian Sign Language#Writing|SignWriting]]
* [[incubator:wp/bzs/AS1f502S22f00M513x521S1f502492x497S22f00488x480_AS15d22S22b04M514x527S22b04493x497S15d22487x473|sample text]]
=== cy - Welsh ===
[[w:en:colloquial Welsh morphology]]
=== dag - Dagbani ===
=== de - German ===
* tense * person * number for each verb
** tenses: present, past, ...?
** person: first, second, third
** number: singular, plural
** {{doing}} third person singular present
** second person singular preterite
=== en - English ===
* {{z+|Z11390}} Verb -> agent noun, e.g. "dance"->"dancer"
* Join English morphemes (extends {{z+|Z13254}} to cases like re + en + able + er + s → re-enablers. {{z+|Z13254}} will correctly join re-enable + ers or re- + enablers, but re + enablers → “renablers” (incorrect). {{z+|Z13275}} tests the Reduce function to produce “detoxification” from a list of four morphemes (orchestrator limit exceeded with five). I doubt we’ll want to derive “toxify” from “toxic”, however.
* Derive lemmas from a form. This is envisaged as the converse of Join English morphemes. The focus would be identifying the base form (the lexeme’s lemma) rather than further segmenting the lemma. For example, “underlay” should return “underlie” (for which it is the past participle) and the noun “underlay” (for which it is the lemma) and (perhaps) the verb “underlay”, which might be the tendency of an unproductive hen or the activity of a carpet-fitter. As this is a purely functional converse, every string will have itself as a possible lemma.
* Generate [[:w:Numeral_prefix|Numerical prefixes]] of various kinds from a natural number input.
* {{z+|Z19499}}
* Intro for geographical feature: Returns a intro sentence for a geographical feature.
** Example 1: The '''Centre for Fine Arts''' is an '''arts center''' on '''Coudenberg - Koudenberg''' in '''Mont des Arts - Kunstberg, City of Brussels''', '''Belgium'''
*** Wikidata label = Centre for Fine Arts
*** {{Property|P31}} = {{Q|Q2190251}}
*** {{Property|P706}} = {{Q|Q13451667}}
*** {{Property|P276}} = {{Q|Q115180808}}
*** {{Property|P131}} = {{Q|Q239}}
*** {{Property|P17}} = {{Q|Q31}}
**Example 2: '''Olympus Mons''' is a '''mons''' on '''Mars''' on '''Tharsis''', '''Amazonis quadrangle''' and '''Tharsis quadrangle'''.
***Wikidata label = Olympus Mons
***{{Property|P31}} = {{Q|Q429088}}
***{{Property|P376}} = {{Q|Q111}}
***{{Property|P706}} = {{Q|Q2170645}}
***{{Property|P276}} = {{Q|Q3054547}}, {{Q|Q3054525}}
**Example 3: '''Princess Elisabeth Antarctica''' is a '''Antarctic research station''' on '''Utsteinen Nunatak''', '''Antarctic Treaty area''', '''Antartica'''
***Wikidata label = Princess Elisabeth Antarctica
***{{Property|P31}} = {{Q|Q749622}}
***{{Property|P706}} = {{Q|Q7754959}}
***{{Property|P131}} = {{Q|Q21590062}}
***{{Property|P17}} = ''none''
***{{Property|P30}} = {{Q|Q51}}
'''<big>eu - Basque</big>'''
* Basque language declension system in rather regular based on suffixes.
** Here a few examples for Basque declension:
*** {{z+|Z18541}}
*** {{z+|Z18670}}
**Before implementing all of them, we may propose an overall classification that eases both the implementation and the future usage of the functions. Here a first try based on bibliography from the [https://www.euskaltzaindia.eus/index.php?option=com_ebe&view=bilaketa&task=pdf&Itemid=1161&atala=deklinabide-taulak Basque Language Academy]:
***Personal pronouns: they can be treated as exceptions (e.g. "zuek -> zuei", etc.) together with proper noun declension, or as a separate case.
***Determiners: they can be treated as exceptions (e.g. "hau" -> "honek", etc) together with common noun declension, or as a separated case
***Grammatical cases:
****Absolutive ("Nor"): indefinite, singular and plural
****Ergative ("Nork"): indefinite, singular and plural
****Dative ("Nori"): indefinite, singular and plural
***Place and Time: we must distinguish animate (AN) and inanimate (IN)
****Inessive IN ("Non"): indefinite, singular and plural
****Inessive AN ("Norengan"): indefinite, singular and plural - It could be a composition of "Noren" + "-gan"
****Place and time ("Nongo"): indefinite, singular and plural
****Allative IN ("Nora"): indefinite, singular and plural
****Allative AN ("Norengana"): indefinite, singular and plural - It could be a composition of "Noren/Norengan" + "-gan/-a"
****Finished Allative AN ("Noraino"): indefinite, singular and plural - It could be a composition of "Nora" + "-ino"
****Finished Allative AN ("Norengainaino"): indefinite, singular and plural - It could be a composition of "Noregana" + "-ino"
****Right way Allative IN ("Noratz"): indefinite, singular and plural - It could be a composition of "Nora" + "-ntz"
****Right way Allative AN ("Norenganantz"): indefinite, singular and plural - It could be a composition of "Norengana" + "-ntz"
****Ablative IN ("Nondik"): indefinite, singular and plural
****Ablative AN ("Norengandik"): indefinite, singular and plural
***Rest of the cases:
****Partitive ("Zerik"): indefinite
****Possessive ("Noren"): indefinite, singular and plural
****Sociative ("Norekin"): indefinite, singular and plural
****Instrumental ("Zerez"): indefinite, singular and plural
****Motivative ("Zerengatik"): indefinite, singular and plural
****Destinative ("Norentzat"): indefinite, singular and plural - It could be a composition of "Noren" + "-tzat"
***Special case:
****Prolative ("Nortzat"): indefinite
***To take into consideration:
****Together with animate and inanimate classification, we should also consider if the noun is a proper noun ("izen berezia"). We can identify that automatically (e.g. check if written in Title case, but this may not be always possible like in the beginning of sentences), but a dedicated function may be preferred (or a boolean to the generic function saying it is a proper noun).
****The main distinction is between noun ending by vowel or consonant that can be easily computed
=== fr - French ===
* {{z+|Z11590}} Masculine adjective -> feminine, e.g. "exact"->"exacte"
* Conjugated verb => Infinitive, e.g. "alla" => "aller", "mordit" => "mordre"
=== ha - Hausa ===
A notated demo sentence ("Aishà taa jeefar dà kàren Indoo" ― "Aisha threw away Indo's dog") is available at http://intent.xigt.org
=== ig - Igbo ===
=== ldn - Láadan ===
section moved to [[WF:human languages/Z1882]]
=== ml - Malayalam ===
=== nl - Dutch ===
* Cardinals
** Cardinal to number
** Number to cardinal
* Verbs
** [https://e-ans.ivdnt.org/topics/pid/ans0203lingtopic Conjugations]
* Morphology
** Diminutive to root word
*** Belgian diminutive to root word
** Root word to diminutive
*** Belgian root word to diminutive (-ke)
** Plural diminutive to root word
*** Belgian plural diminutive to root word
** Root word to plural diminutive
*** Belgian root word to plural diminutive (-kes)
===kcg - Tyap===
* Tyap has six determiners/definite articles which determine the pronoun, number (1-5), etc. forms used.
** ka & wu (basically for singular nouns and adjectives with a few exceptions)
** hu & ji (for singular and plural nouns and adjectives)
** ba & na (mainly for plural nouns.
*** Determiners come after nouns.
*** When an adjective comes before a noun, the determiner used is that of the adjective. E.g., a̱sham (ka) - (the) beautiful, kyang (hu) - (the) thing = a̱sham kyang (ka) - (the) beautiful thing.
* Tyap has a non-uniform noun class system used for noun pluralization and conversion from one part of speech to another. E.g., a̱bwom (song) and bwom (to sing), a̱fufwuo (ears) and fufwuo (ear).
* Affixation: Prefixes exist but suffixes hardly are found.
=== vgt - Flemish Sign Language ===
* SignWriting encode [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 12:44, 18 January 2026 (UTC)
== 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 ===
* 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)
=== 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]]
h9du7i73ph0g0c6072lvtfrzywvoemk
272375
272371
2026-05-05T05:41:51Z
Arlo Barnes
1231
/* Morphological functions */ move to respective WF:HL subpages
272375
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]].
You can [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 create a function] right away if you have the user-rights.
If a function requires a new type, consider [[WF:TP|proposing it]].
Note that for now '''we only support a limited number of types as input and output types''' of functions. More types are coming in the next few months. For the full list, see [[WF:Type]].
Once created, consider adding new Functions to the [[Wikifunctions:Catalogue|catalogue]]. [[Category:Maintenance]]
== Requests from Abstract Wikipedia editors ==
{{main|abstract:Project:Suggested 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>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></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 ===
* 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)
=== 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]]
p1g2m83qkalf1it6hqa697cx2y0skp0
272393
272375
2026-05-05T06:22:44Z
Arlo Barnes
1231
/* SVG Functions */ Reply
272393
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]].
You can [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 create a function] right away if you have the user-rights.
If a function requires a new type, consider [[WF:TP|proposing it]].
Note that for now '''we only support a limited number of types as input and output types''' of functions. More types are coming in the next few months. For the full list, see [[WF:Type]].
Once created, consider adding new Functions to the [[Wikifunctions:Catalogue|catalogue]]. [[Category:Maintenance]]
== Requests from Abstract Wikipedia editors ==
{{main|abstract:Project:Suggested 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>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></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 ===
* 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]]
aeyw1a7cd3jo51s6jqrn2e02uf9dcrg
272409
272393
2026-05-05T07:06:04Z
Arlo Barnes
1231
/* Basic list/iterable functions requiring numeric types */ Lehmer RNG
272409
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]].
You can [https://www.wikifunctions.org/wiki/Special:CreateZObject?zid=Z8 create a function] right away if you have the user-rights.
If a function requires a new type, consider [[WF:TP|proposing it]].
Note that for now '''we only support a limited number of types as input and output types''' of functions. More types are coming in the next few months. For the full list, see [[WF:Type]].
Once created, consider adding new Functions to the [[Wikifunctions:Catalogue|catalogue]]. [[Category:Maintenance]]
== Requests from Abstract Wikipedia editors ==
{{main|abstract:Project:Suggested 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>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></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]]
0ka1y4r4fxevmzuqvvdwwodspth498n
Wikifunctions:Project chat
4
1184
272373
272125
2026-05-05T03:08:05Z
SpBot
978
archive 2 sections: 2 to [[Wikifunctions:Project chat/Archive/2026/04]] (after section [[Wikifunctions:Project chat/Archive/2026/04#Wikifunctions_&_Abstract_Wikipedia_Newsletter_#243_is_out:_Community_proposals_for_capturing_meaning|Wikifunctions_&_Abstract_Wikipedia_Newsletter_#243_is_out:_Community_proposals_for_capturing_meaning]]) - previous edit: [[:User:沈澄心|沈澄心]], 2026-05-04 05:16
272373
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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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). — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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! — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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? — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 21:09, 24 April 2026 (UTC)
:I've created {{Z|Z34122}} as an extension to {{Z|Z34039}} for larger functions. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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... — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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™'' 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 (「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!」). — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 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)
== 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)
46h4atw5qabrbhcekzbv5z07373wkl2
Wikifunctions:Requests for user groups
4
3790
272139
272129
2026-05-04T13:25:24Z
Feeglgeef
8776
/* Bunnypranav */ adding a bullet to [[User:Dv103]]'s comment, the different in indentation bothers me.
272139
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>]]:<[[User talk:Bunnypranav|<span style="color:#63b3ed">ping</span>]]></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)
== 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|*]]
8infdidtu1t10yr856hx1db43w782ni
User:Koavf
2
11246
272327
40688
2026-05-04T19:56:37Z
Koavf
208
{{DISPLAYTITLE:User:<span style="color:grey">''ko'''a'''</span><span style="color:black">v</span><span style="color:grey">f''</span>}}
272327
wikitext
text/x-wiki
{{#babel:en|es-2|de-1|pt-1}}
I'm hopeful that I can learn more about functions here.
{{DISPLAYTITLE:User:<span style="color:grey">''ko'''a'''</span><span style="color:black">v</span><span style="color:grey">f''</span>}}
658tgstwwnsci8wqd77t3a9e2xjq37v
Wikifunctions:Human languages
4
23704
272377
270535
2026-05-05T05:47:04Z
Arlo Barnes
1231
add lang without znumber yet
272377
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>.
== 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+|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]]
<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]]
a6ox9n8wbqtcvmx2eb88p66lwtb9z2l
272387
272377
2026-05-05T05:59:10Z
Arlo Barnes
1231
Welsh
272387
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>.
== 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]]
<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]]
d2466wnye8400wgdv7m53y0anw5d57h
272391
272387
2026-05-05T06:05:19Z
Arlo Barnes
1231
move from [[WF:RF]]
272391
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]]
<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]]
fbu2wci8q9wk5hpwwywalh4aouvv4jp
Wikifunctions:Programming languages
4
24444
272397
195682
2026-05-05T06:33:37Z
Arlo Barnes
1231
link subpages
272397
wikitext
text/x-wiki
<languages/>
{{shortcut|[[WF:PROG]]}}<!--{{distinguish|WF:HL}}-->
<translate>
<!--T:1-->
See also <tvar name="1">{{ll|Wikifunctions:Human languages}}</tvar> and [[w:en:Lists of programming languages|Lists of programming languages]] in Wikipedia. [[<tvar name="2">Special:MyLanguage/WF:glossary#composition</tvar>|Compositions]] are a kind of language, but aren't covered here.
== Executable == <!--T:2-->
=== Implemented === <!--T:3-->
<!--T:4-->
As of March 2024 the following languages compile to [[<tvar name="1">meta:Special:MyLanguage/Abstract Wikipedia/Updates/2023-10-25</tvar>|WASM]] to be run by the [[<tvar name="2">Special:MyLanguage/WF:glossary#executor</tvar>|executor]]:
</translate>
* <translate><!--T:5--> unversioned [[WF:JS|JavaScript]] ([<tvar name="1">https://ecma-international.org/policies/by-ipr/ecma-text-copyright-policy</tvar> W3C Software and Document Notice and License], [<tvar name="2">https://hacks.mozilla.org/2022/06/the-specification-for-javascript-has-a-new-license</tvar> src]), using [<tvar name="3">https://github.com/second-state/wasmedge-quickjs</tvar> WasmEdge-QuickJS] (using [<tvar name="4">https://bellard.org/quickjs/</tvar> QuickJS 2024], compatible with ES2023)</translate>
* <translate><!--T:6--> unversioned [[WF:PY|Python]] ([<tvar name="1">https://docs.python.org/3/license.html</tvar> PSF License Agreement], Zero-Clause BSD), using the development version of [<tvar name="2">https://github.com/RustPython/RustPython</tvar> RustPython] WASI mode (this is intended to be compatible with CPython 3.12)</translate>
<translate>
=== Planned === <!--T:7-->
</translate>
* <translate><!--T:8--> versioned JavaScript (ECMA202?+)</translate>
* <translate><!--T:9--> versioned Python (3+)</translate>
<translate>
=== Requested === <!--T:10-->
<!--T:11-->
See the [[<tvar name="1">phab:tag/wikifunctions-new-language-requests</tvar>|workboard in Phabricator]] to request additional programming languages that should be supported in Wikifunctions. Among other criteria for implementation, available language interpreter/compiler software must be freely licensed.
</translate>
* <translate><!--T:12--> <tvar name="1">[[phab:T352589|T352589]]</tvar>: LabView/G<!--[<tvar name="2">https://ni.com/en/support/downloads/activate.html</tvar> proprietary]--> via pyLabView ([<tvar name="3">https://github.com/mefistotelis/pylabview/blob/master/LICENSE</tvar> MIT])</translate>
* <translate><!--T:13--> <tvar name="1">[[phab:T352588|T352588]]</tvar>: Kotlin ([<tvar name="2">https://github.com/JetBrains/kotlin-web-site/blob/master/LICENSE</tvar> Apache])</translate>
* <translate><!--T:14--> <tvar name="1">[[phab:T307171|T307171]]</tvar>: Lua ([<tvar name="2">https://lua.org/license.html</tvar> MIT])</translate>
* <translate><!--T:15--> <tvar name="1">[[phab:T301418|T301418]]</tvar>: Scratch/Snap!/Logolike ([<tvar name="2">https://github.com/scratchfoundation/scratch-gui/blob/develop/LICENSE</tvar> BSD 3-Clause], GPLv2 and Scratch Source Code License)</translate>
* <translate><!--T:16--> <tvar name="1">[[phab:T298633|T298633]]</tvar>: Vlojure ([<tvar name="2">https://github.com/Ella-Hoeppner/Vlojure/blob/main/LICENSE</tvar> MIT])</translate>
<translate>
=== Former === <!--T:17-->
<!--T:18-->
Previously, the function evaluator directly ran code in its container. Because it was based on Debian Bullseye, JavaScript execution was provided by Node.js 16 and Python by Python 3.9. These are no longer immediately available due to the re-build onto Web Assembler, but could return if needed via a custom build.
== Functions for manipulating == <!--T:19-->
</translate>
* {{ll|WF:Mathematica}}
[[Category:Project{{#translation:}}]]
soq7fcihoovnu721jnhaxviug7kpt6p
272401
272397
2026-05-05T06:38:06Z
Arlo Barnes
1231
implementations cat
272401
wikitext
text/x-wiki
<languages/>
{{shortcut|[[WF:PROG]]}}<!--{{distinguish|WF:HL}}-->
<translate>
<!--T:1-->
{{see also|category:implementations}} <tvar name="1">{{ll|Wikifunctions:Human languages}}</tvar> and [[w:en:Lists of programming languages|Lists of programming languages]] in Wikipedia. [[<tvar name="2">Special:MyLanguage/WF:glossary#composition</tvar>|Compositions]] are a kind of language, but aren't covered here.
== Executable == <!--T:2-->
=== Implemented === <!--T:3-->
<!--T:4-->
As of March 2024 the following languages compile to [[<tvar name="1">meta:Special:MyLanguage/Abstract Wikipedia/Updates/2023-10-25</tvar>|WASM]] to be run by the [[<tvar name="2">Special:MyLanguage/WF:glossary#executor</tvar>|executor]]:
</translate>
* <translate><!--T:5--> unversioned [[WF:JS|JavaScript]] ([<tvar name="1">https://ecma-international.org/policies/by-ipr/ecma-text-copyright-policy</tvar> W3C Software and Document Notice and License], [<tvar name="2">https://hacks.mozilla.org/2022/06/the-specification-for-javascript-has-a-new-license</tvar> src]), using [<tvar name="3">https://github.com/second-state/wasmedge-quickjs</tvar> WasmEdge-QuickJS] (using [<tvar name="4">https://bellard.org/quickjs/</tvar> QuickJS 2024], compatible with ES2023)</translate>
* <translate><!--T:6--> unversioned [[WF:PY|Python]] ([<tvar name="1">https://docs.python.org/3/license.html</tvar> PSF License Agreement], Zero-Clause BSD), using the development version of [<tvar name="2">https://github.com/RustPython/RustPython</tvar> RustPython] WASI mode (this is intended to be compatible with CPython 3.12)</translate>
<translate>
=== Planned === <!--T:7-->
</translate>
* <translate><!--T:8--> versioned JavaScript (ECMA202?+)</translate>
* <translate><!--T:9--> versioned Python (3+)</translate>
<translate>
=== Requested === <!--T:10-->
<!--T:11-->
See the [[<tvar name="1">phab:tag/wikifunctions-new-language-requests</tvar>|workboard in Phabricator]] to request additional programming languages that should be supported in Wikifunctions. Among other criteria for implementation, available language interpreter/compiler software must be freely licensed.
</translate>
* <translate><!--T:12--> <tvar name="1">[[phab:T352589|T352589]]</tvar>: LabView/G<!--[<tvar name="2">https://ni.com/en/support/downloads/activate.html</tvar> proprietary]--> via pyLabView ([<tvar name="3">https://github.com/mefistotelis/pylabview/blob/master/LICENSE</tvar> MIT])</translate>
* <translate><!--T:13--> <tvar name="1">[[phab:T352588|T352588]]</tvar>: Kotlin ([<tvar name="2">https://github.com/JetBrains/kotlin-web-site/blob/master/LICENSE</tvar> Apache])</translate>
* <translate><!--T:14--> <tvar name="1">[[phab:T307171|T307171]]</tvar>: Lua ([<tvar name="2">https://lua.org/license.html</tvar> MIT])</translate>
* <translate><!--T:15--> <tvar name="1">[[phab:T301418|T301418]]</tvar>: Scratch/Snap!/Logolike ([<tvar name="2">https://github.com/scratchfoundation/scratch-gui/blob/develop/LICENSE</tvar> BSD 3-Clause], GPLv2 and Scratch Source Code License)</translate>
* <translate><!--T:16--> <tvar name="1">[[phab:T298633|T298633]]</tvar>: Vlojure ([<tvar name="2">https://github.com/Ella-Hoeppner/Vlojure/blob/main/LICENSE</tvar> MIT])</translate>
<translate>
=== Former === <!--T:17-->
<!--T:18-->
Previously, the function evaluator directly ran code in its container. Because it was based on Debian Bullseye, JavaScript execution was provided by Node.js 16 and Python by Python 3.9. These are no longer immediately available due to the re-build onto Web Assembler, but could return if needed via a custom build.
== Functions for manipulating == <!--T:19-->
</translate>
* {{ll|WF:Mathematica}}
[[Category:Project{{#translation:}}]]
taqs6tl5d410v37i806x38kj60nm36t
272402
272401
2026-05-05T06:39:59Z
Arlo Barnes
1231
unordered list
272402
wikitext
text/x-wiki
<languages/>
{{shortcut|[[WF:PROG]]}}<!--{{distinguish|WF:HL}}-->
<translate>
<!--T:1-->
{{see also|category:implementations|}}
* <tvar name="1">{{ll|WF:Human languages}}</tvar>
* [[w:en:Lists of programming languages|Lists of programming languages]] at English Wikipedia.
* [[<tvar name="2">Special:MyLanguage/WF:glossary#composition</tvar>|Compositions]] are a kind of LISPish language, but aren't covered here.
== Executable == <!--T:2-->
=== Implemented === <!--T:3-->
<!--T:4-->
As of March 2024 the following languages compile to [[<tvar name="1">meta:Special:MyLanguage/Abstract Wikipedia/Updates/2023-10-25</tvar>|WASM]] to be run by the [[<tvar name="2">Special:MyLanguage/WF:glossary#executor</tvar>|executor]]:
</translate>
* <translate><!--T:5--> unversioned [[WF:JS|JavaScript]] ([<tvar name="1">https://ecma-international.org/policies/by-ipr/ecma-text-copyright-policy</tvar> W3C Software and Document Notice and License], [<tvar name="2">https://hacks.mozilla.org/2022/06/the-specification-for-javascript-has-a-new-license</tvar> src]), using [<tvar name="3">https://github.com/second-state/wasmedge-quickjs</tvar> WasmEdge-QuickJS] (using [<tvar name="4">https://bellard.org/quickjs/</tvar> QuickJS 2024], compatible with ES2023)</translate>
* <translate><!--T:6--> unversioned [[WF:PY|Python]] ([<tvar name="1">https://docs.python.org/3/license.html</tvar> PSF License Agreement], Zero-Clause BSD), using the development version of [<tvar name="2">https://github.com/RustPython/RustPython</tvar> RustPython] WASI mode (this is intended to be compatible with CPython 3.12)</translate>
<translate>
=== Planned === <!--T:7-->
</translate>
* <translate><!--T:8--> versioned JavaScript (ECMA202?+)</translate>
* <translate><!--T:9--> versioned Python (3+)</translate>
<translate>
=== Requested === <!--T:10-->
<!--T:11-->
See the [[<tvar name="1">phab:tag/wikifunctions-new-language-requests</tvar>|workboard in Phabricator]] to request additional programming languages that should be supported in Wikifunctions. Among other criteria for implementation, available language interpreter/compiler software must be freely licensed.
</translate>
* <translate><!--T:12--> <tvar name="1">[[phab:T352589|T352589]]</tvar>: LabView/G<!--[<tvar name="2">https://ni.com/en/support/downloads/activate.html</tvar> proprietary]--> via pyLabView ([<tvar name="3">https://github.com/mefistotelis/pylabview/blob/master/LICENSE</tvar> MIT])</translate>
* <translate><!--T:13--> <tvar name="1">[[phab:T352588|T352588]]</tvar>: Kotlin ([<tvar name="2">https://github.com/JetBrains/kotlin-web-site/blob/master/LICENSE</tvar> Apache])</translate>
* <translate><!--T:14--> <tvar name="1">[[phab:T307171|T307171]]</tvar>: Lua ([<tvar name="2">https://lua.org/license.html</tvar> MIT])</translate>
* <translate><!--T:15--> <tvar name="1">[[phab:T301418|T301418]]</tvar>: Scratch/Snap!/Logolike ([<tvar name="2">https://github.com/scratchfoundation/scratch-gui/blob/develop/LICENSE</tvar> BSD 3-Clause], GPLv2 and Scratch Source Code License)</translate>
* <translate><!--T:16--> <tvar name="1">[[phab:T298633|T298633]]</tvar>: Vlojure ([<tvar name="2">https://github.com/Ella-Hoeppner/Vlojure/blob/main/LICENSE</tvar> MIT])</translate>
<translate>
=== Former === <!--T:17-->
<!--T:18-->
Previously, the function evaluator directly ran code in its container. Because it was based on Debian Bullseye, JavaScript execution was provided by Node.js 16 and Python by Python 3.9. These are no longer immediately available due to the re-build onto Web Assembler, but could return if needed via a custom build.
== Functions for manipulating == <!--T:19-->
</translate>
* {{ll|WF:Mathematica}}
[[Category:Project{{#translation:}}]]
35h6fq1ut04biy3yu08v2skxuqqlck9
Z15121
0
28272
272262
270959
2026-05-04T17:31:49Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
272262
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15121"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z15121K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number to test"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "nọmba iji nwalee"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre à tester"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "numero"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Zahl"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z15123",
"Z15124",
"Z15125"
],
"Z8K4": [
"Z14",
"Z24446",
"Z15122",
"Z15126"
],
"Z8K5": "Z15121"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is odious number"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "bụ ọnụọgụgụ jọgburu onwe ya"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "est-ce un nombre odieux ?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "è numero odioso"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "ist abscheuliche Zahl"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si le nombre donné est un nombre odieux, sinon \"faux\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Controlla se il numero di 1 nella rappresentazione binaria è dispari"
}
]
}
}
3kc57mxilyi3jsrti63oy3ptthh83r2
Wikifunctions:Human languages/Z1763
4
29834
272390
227780
2026-05-05T06:03:19Z
Arlo Barnes
1231
/* ase-Sgnw */ move from [[WF:RF]]
272390
wikitext
text/x-wiki
[[file:ase-ILY@Side-PalmForward.stl|thumb]]
{{z+|Z1763}}
== ase-Sgnw ==
Because a written mode is the main way Wikifunctions could interface with ASL.
* string: Stokoe to ase-[https://github.com/sutton-signwriting/core Sgnw] and vice-versa (consult {{ping|Slevinski}} as to best approach)
* {{z+|Z29248}}
* {{z+|Z29150}}
* {{z+|Z29270}}
=== [[WF:importing]] ===
Here are functions in the <code>[https://github.com/sutton-signwriting/core core]</code> package ([[commons:category:videos by Steve Slevinski|src]]), not all linguistically relevant:
* convert
* fsw
** re
** parse
** compose
** info
** columns
** isType
** colorize
* fswquery
** re
** parse
** compose
** fsw2query
** range
** regex
** results
** lines
* swu
** re
** parse
** compose
** info
** columns
** encode
** decode
** pair
** isType
** colorize
* swuquery
** re
** parse
** compose
** swu2query
** range
** symbolRanges
** regex
** results
** lines
* style
** re
** parse
** compose
pu847nrj7918dw4qx0665nn0bwktbte
Z17402
0
32862
272383
260265
2026-05-05T05:53:44Z
YeBoy371
5561
272383
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z17402"
},
"Z2K2": {
"Z1K1": "Z4",
"Z4K1": "Z17402",
"Z4K2": [
"Z3",
{
"Z1K1": "Z3",
"Z3K1": "Z17402",
"Z3K2": "Z17402K1",
"Z3K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "identity"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Identität"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "זהות"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "identité"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "هوية"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "identità"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "identitas"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "идентитет"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "पहचान"
}
]
},
"Z3K4": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
],
"Z4K3": "Z101",
"Z4K4": "Z17414",
"Z4K5": "Z24041",
"Z4K7": [
"Z46",
"Z17410",
"Z17411"
],
"Z4K8": [
"Z64",
"Z17412",
"Z17413"
]
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Day of the week"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "সপ্তাহের দিন"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Wochentag"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "יום בשבוע"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "ημέρα της εβδομάδας"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "Den v týdnu"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jour de la semaine"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1282",
"Z11K2": "devezh ar sizhun"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1547",
"Z11K2": "Día de la semana"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Hari dalam minggu"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Giorno della settimana"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "Dia da semana"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1709",
"Z11K2": "Nedēļas diena"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "Veckodag"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1037",
"Z11K2": "Dia da semana"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1099",
"Z11K2": "Wochendag"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1015",
"Z11K2": "Dakulo puuni dabisili"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "Zi a săptămânii"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "День недели"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "يوم الأسبوع"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1051",
"Z11K2": "viikonpäivä"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "дан у недељи"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1394",
"Z11K2": "dan u nedelji"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "हफ्ते का दिन"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1061",
"Z11K2": "Ugedag"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "曜日"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1237",
"Z11K2": "haftanın günü"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1531",
"Z11K2": "Hari minggu"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "요일"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1186",
"Z31K2": [
"Z6",
"יום (שבוע)",
"יום (שבועי)"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"Tag der Woche"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1062",
"Z31K2": [
"Z6",
"den týdne"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"nama hari"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1820",
"Z31K2": [
"Z6",
"सप्ताह का दिन"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "The seven days of the week in many calendars"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "অধিকাংশ বর্ষপঞ্জি অনুযায়ী সপ্তাহের সাত দিন"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "sieben Wochentage in vielen Kalendern"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "טיפוס שערכו הוא אחד מתוך שבעת ימות השבוע"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "οι επτά ημέρες της εβδομάδας σε πολλά ημερολόγια\n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jeden ze sedmi dnů tvořících týden v mnoha kalendářích"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1547",
"Z11K2": "Los siete días de la semana en muchos calendarios"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Salah satu dari tujuh hari dalam banyak kalender"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1381",
"Z11K2": "Os sete dias da semana em muitos calendários"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "les sept jours de la semaine dans de nombreux calendriers"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1015",
"Z11K2": "Dabaa' ayopoi m-be dakulo puuni"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1664",
"Z11K2": "Cele șapte zile ale săptămânii din multe calendare"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "يوم من الأيام السبعة في الأسبوع"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Uno dei 7 giorni della settimana in numerosi calendari"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1820",
"Z11K2": "कई पंचांगों में हफ्ते के सात दिन"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1830",
"Z11K2": "多くの暦(カレンダー)における、一週間の7つの曜日"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1531",
"Z11K2": "Nama bagi tujuh hari dalam seminggu dalam pelbagai kalendar"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1643",
"Z11K2": "많은 달력에서의 일주일의 7일"
}
]
}
}
qzqnhsf1q4tv2ayqqxbva5g8twbgf1g
Wikifunctions:Python implementations
4
35115
272395
255473
2026-05-05T06:31:51Z
Arlo Barnes
1231
main and see also and shortcut
272395
wikitext
text/x-wiki
{{main|WF:PROG}}{{see also|WF:JS}}{{shortcut|[[WF:PY]]}}
You can do most things that work in [https://github.com/RustPython/RustPython Rustpython] which is used under the hood.
:"RustPython is in development, and while the interpreter certainly can be used in interesting use cases like running Python in WASM and embedding into a Rust project, do note that RustPython is not totally production-ready." [https://github.com/RustPython/RustPython?tab=readme-ov-file source]
See https://rustpython.github.io/pages/whats-left for an overview of missing built-in modules.
== Error handling ==
See [[meta:Abstract_Wikipedia/Representation_of_errors]]
== Open questions as of October 2024==
* How to cast a string to a {{z|Z6091}}? (raised in telegram)
== Known limitations as of October 2024 ==
=== Modules ===
Only built-in python modules in RustPython is supported (installation of modules is not supported)
This is by design to avoid reproducibility issues and bugs caused by different module versions.
=== HTTP connections ===
Disabled by design for security and reproducibility reasons.
* the built-in module http.client does not work. Because of that it is currently not possible to make ANY HTTP requests from implementations. See https://phabricator.wikimedia.org/T371484
plp9a07rjm1xlgn30np1dg5o0t2ni4f
272404
272395
2026-05-05T06:42:34Z
Arlo Barnes
1231
category
272404
wikitext
text/x-wiki
{{main|WF:PROG}}{{see also|WF:JS}}{{shortcut|[[WF:PY]]}}
You can do most things that work in [https://github.com/RustPython/RustPython Rustpython] which is used under the hood.
:"RustPython is in development, and while the interpreter certainly can be used in interesting use cases like running Python in WASM and embedding into a Rust project, do note that RustPython is not totally production-ready." [https://github.com/RustPython/RustPython?tab=readme-ov-file source]
See https://rustpython.github.io/pages/whats-left for an overview of missing built-in modules.
== Error handling ==
See [[meta:Abstract_Wikipedia/Representation_of_errors]]
== Open questions as of October 2024==
* How to cast a string to a {{z|Z6091}}? (raised in telegram)
== Known limitations as of October 2024 ==
=== Modules ===
Only built-in python modules in RustPython is supported (installation of modules is not supported)
This is by design to avoid reproducibility issues and bugs caused by different module versions.
=== HTTP connections ===
Disabled by design for security and reproducibility reasons.
* the built-in module http.client does not work. Because of that it is currently not possible to make ANY HTTP requests from implementations. See https://phabricator.wikimedia.org/T371484
[[category:Python_implementations]]
b8jhf0ugzjjde6xrsjxzejwsb41l188
272405
272404
2026-05-05T06:42:58Z
Arlo Barnes
1231
sortkeu
272405
wikitext
text/x-wiki
{{main|WF:PROG}}{{see also|WF:JS}}{{shortcut|[[WF:PY]]}}
You can do most things that work in [https://github.com/RustPython/RustPython Rustpython] which is used under the hood.
:"RustPython is in development, and while the interpreter certainly can be used in interesting use cases like running Python in WASM and embedding into a Rust project, do note that RustPython is not totally production-ready." [https://github.com/RustPython/RustPython?tab=readme-ov-file source]
See https://rustpython.github.io/pages/whats-left for an overview of missing built-in modules.
== Error handling ==
See [[meta:Abstract_Wikipedia/Representation_of_errors]]
== Open questions as of October 2024==
* How to cast a string to a {{z|Z6091}}? (raised in telegram)
== Known limitations as of October 2024 ==
=== Modules ===
Only built-in python modules in RustPython is supported (installation of modules is not supported)
This is by design to avoid reproducibility issues and bugs caused by different module versions.
=== HTTP connections ===
Disabled by design for security and reproducibility reasons.
* the built-in module http.client does not work. Because of that it is currently not possible to make ANY HTTP requests from implementations. See https://phabricator.wikimedia.org/T371484
[[category:Python implementations| ]]
4if3l1dtbbavhq9rs6y267an9khjxfm
Z18766
0
37184
272312
272006
2026-05-04T19:35:27Z
Arlo Barnes
1231
en aliases
272312
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z18766"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z18766K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "potential lipogram"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "potenzielles Leipogramm"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z18766K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string of excluded lowercase characters"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "ausgelassene Zeichen in Kleinbuchstaben"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z18767"
],
"Z8K5": "Z18766"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is lipogram"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "ist Leipogramm"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"lipogram?",
"oulipogram?",
"is oulipogram"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "verify if a string that excludes one or more letters of the alphabet."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "prüft, ob eine Zeichenkette einen oder mehrere Buchstaben des Alphabets auslässt"
}
]
}
}
35ioaukd4nymc7mp6r8ot029kjmz067
Z19170
0
40968
272360
271866
2026-05-04T21:13:15Z
YoshiRulz
10156
Added Z34707 to the approved list of implementations
272360
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z19170"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z19170K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string to test for double letter"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "zu prüfende Zeichenkette"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "chaîne pour tester la double lettre"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "stringa"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z19171",
"Z19172",
"Z19173",
"Z19174",
"Z19176"
],
"Z8K4": [
"Z14",
"Z19175",
"Z25748",
"Z34708",
"Z34707"
],
"Z8K5": "Z19170"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "has double letter"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "hat doppelten Buchstaben"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "y a-t-il une lettre en double ?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "ha lettera doppia"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"double letter",
"repeat letter",
"twice in a row",
"duplicate letter in a row",
"two of the same letter in a row"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"doppelter Buchstabe",
"wiederholter Buchstabe",
"zwei mal in Folge",
"selber Buchstaben in Folge"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"con lettera doppia",
"lettera duplicata",
"doppia",
"ha doppia",
"lettera si ripete",
"ha ripetizione"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "tests whether the string has any letter (case sensitive) used twice in a row"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "prüft, ob in der Zeichenkette ein Buchstabe (Groß- und Kleinschreibung beachtend) zwei mal in Folge auftaucht"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si une chaîne a une lettre utilisé deux fois de suite (insensible à la casse), sinon \"faux\""
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Controlla se una stringa ha una lettera ripetuta due volte consecutive (maiuscole e minuscole sono considerate diverse)"
}
]
}
}
is3pgn2gxrx9hjgj3oj4fxkv4moxd6d
Wikifunctions:Catalogue/Number operations
4
41957
272324
272043
2026-05-04T19:51:27Z
YoshiRulz
10156
/* Floating point functions */ Add signum function
272324
wikitext
text/x-wiki
== Numeric Characteristics ==
* {{Z+|Z15818}}
* {{Z+|Z23883}}
* {{Z+|Z12427}}
* {{Z+|Z14953}}
* {{Z+|Z14961}}
* {{Z+|Z15190}}
* {{Z+|Z15276}}
* {{Z+|Z15735}}
* {{Z+|Z15741}}
* {{Z+|Z15251}}
* {{Z+|Z14933}}
* {{Z+|Z14999}}
* {{Z+|Z14980}}
* {{Z+|Z14966}}
* {{Z+|Z15265}}
* {{Z+|Z13726}}
* {{Z+|Z15007}}
* {{Z+|Z12636}}
* {{Z+|Z14683}}
* {{Z+|Z15757}}
* {{Z+|Z14783}}
* {{Z+|Z15617}}
* {{Z+|Z15282}}
* {{Z+|Z14792}}
* {{Z+|Z15201}}
* {{Z+|Z14815}}
* {{Z+|Z14810}}
* {{Z+|Z14976}}
* {{Z+|Z15031}}
* {{Z+|Z14971}}
* {{Z+|Z15151}}
* {{Z+|Z15127}}
* {{Z+|Z14924}}
* {{Z+|Z15443}}
* {{Z+|Z14946}}
* {{Z+|Z14938}}
* {{Z+|Z15018}}
* {{Z+|Z15241}}
* {{Z+|Z15218}}
* {{Z+|Z15013}}
* {{Z+|Z15121}}
* {{Z+|Z15050}}
* {{Z+|Z15055}}
* {{Z+|Z15186}}
* {{Z+|Z15224}}
* {{Z+|Z14958}}
* {{Z+|Z15195}}
* {{Z+|Z15228}}
* {{Z+|Z14991}}
===Comparisons===
* {{Z+|Z13522}}
** {{Z+|Z15849}}
* {{Z+|Z13676}}
* {{Z+|Z13682}}
* {{Z+|Z13689}}
* {{Z+|Z13695}}
* {{Z+|Z16731}}
* {{Z+|Z13701}}
* {{Z+|Z13740}}
* {{Z+|Z20266}}
* {{Z+|Z13555}}
* {{Z+|Z34353}}
* {{Z+|Z16773}}
* {{Z+|Z17628}}
* {{Z+|Z27811}}
** {{Z+|Z27815}}
===Selections===
* {{Z+|Z13630}}
* {{Z+|Z13633}}
* {{Z+|Z19509}}
* {{Z+|Z29429}}
==== Arithmetic Functions ====
* {{Z+|Z12971}}
* {{Z+|Z12975}}
* {{Z+|Z13521}}
* {{Z+|Z13578}}
* {{Z+|Z13539}}
** [[Z15107]]
* {{Z+|Z13546}}
** [[Z15111]]
* {{Z+|Z13551}}
* {{Z+|Z13576}}
* {{Z+|Z13569}}
* {{Z+|Z17315}}
* {{Z+|Z13582}}
* {{Z+|Z13612}}
* {{Z+|Z13660}}
* {{Z+|Z13647}}
** [[Z13663]], [[Z13977]], [[Z13979]], [[Z13809]], [[Z13644]], [[Z13948]], [[Z13963]], [[Z13969]]
* {{Z+|Z15257}}
* {{Z+|Z15256}}
* {{Z+|Z14732}}
* {{Z+|Z13667}}
* {{Z+|Z15143}}
* {{Z+|Z15163}}
* {{Z+|Z13995}}
** {{Z+|Z13997}}
* {{Z+|Z13818}}
* {{Z+|Z13822}}
* {{Z+|Z13848}}
** {{Z+|Z14007}}
* {{Z+|Z13854}}
* {{Z+|Z16762}}
* {{Z+|Z15108}}
* {{Z+|Z14742}}
* {{Z+|Z14860}}
* {{Z+|Z15318}}
* {{Z+|Z14894}}
* {{Z+|Z15341}}
* {{Z+|Z14900}}
* {{Z+|Z14905}}
* {{Z+|Z14847}}
* {{Z+|Z15075}}
* {{Z+|Z15085}}
* {{Z+|Z13831}}
** {{Z+|Z14209}}
==== Natural number sequences and unary natural number functions ====
See [[Wikifunctions:OEIS]]
* {{Z+|Z12636}}
* {{Z+|Z13561}}
* {{Z+|Z14058}}
* {{Z+|Z14066}}
* {{Z+|Z13857}}
* {{Z+|Z15044}}
* {{Z+|Z13957}}
* {{Z+|Z13955}}
* {{Z+|Z15302}}
* {{Z+|Z14629}}
* {{Z+|Z14917}}
* {{Z+|Z15119}}
* {{Z+|Z15232}}
* {{Z+|Z14871}}
* {{Z+|Z15075}}
* {{Z+|Z15085}}
* {{Z+|Z15080}}
* {{Z+|Z15061}}
* {{Z+|Z14876}}
* {{Z+|Z13843}}
* {{Z+|Z15386}}
* {{Z+|Z15047}}
* {{Z+|Z14888}}
* {{Z+|Z14864}}
* {{Z+|Z13989}}
* {{Z+|Z15157}}
* {{Z+|Z13735}}
==== Bitwise Functions ====
* {{Z+|Z13651}}
* {{Z+|Z13652}}
* {{Z+|Z13653}}
* {{Z+|Z13812}}
* {{Z+|Z13813}}
* {{Z+|Z13860}}
* {{Z+|Z13928}}
==== Number conversions ====
===== By base =====
* {{Z+|Z12982}}
* {{Z+|Z12987}}
* {{Z+|Z13779}}
* {{Z+|Z13780}}
* {{Z+|Z13781}}
* {{Z+|Z15671}}
* {{Z+|Z13782}}
* {{Z+|Z13783}}
* {{Z+|Z13784}}
* {{Z+|Z13797}}
* {{Z+|Z13798}}
* {{Z+|Z13799}}
* {{Z+|Z13806}}
* {{Z+|Z31177}}
===== By system =====
* {{Z+|Z17065}}
* {{Z+|Z11022}}
* {{Z+|Z11023}}
* {{Z+|Z18515}}
* {{Z+|Z18489}}
* {{Z+|Z18504}}
* {{Z+|Z14018}}
* {{Z+|Z22294}}
* {{Z+|Z22649}}
* {{Z+|Z22285}}
* {{Z+|Z22288}}
* {{Z+|Z22291}}
== Integer functions ==
* {{Z+|Z16688}}
* {{Z+|Z17249}}
* {{Z+|Z17254}}
* {{Z+|Z17186}}
* {{Z+|Z17153}}
* {{Z+|Z17160}}
* {{Z+|Z16693}}
* {{Z+|Z17111}}
* {{Z+|Z17120}}
* {{Z+|Z15844}}
* {{Z+|Z17105}}
* {{Z+|Z17204}}
* {{Z+|Z17239}}
* {{Z+|Z12480}}
* {{Z+|Z12429}}
* {{Z+|Z17215}}
* {{Z+|Z17229}}
* {{Z+|Z17132}}
* {{Z+|Z17173}}
* {{Z+|Z17140}}
* {{Z+|Z17363}}
* {{Z+|Z16700}}
** {{Z+|Z25073}}
* {{Z+|Z17151}}
* {{Z+|Z17128}}
* {{Z+|Z17101}}
* {{Z+|Z17267}}
* {{Z+|Z17144}}
* {{Z+|Z17167}}
** {{Z+|Z25196}}
** {{Z+|Z26858}}
* {{Z+|Z32261}}
* {{Z+|Z17263}}
* {{Z+|Z17376}}
* {{Z+|Z17380}}
===Integer functions using set-theoretic representation with pairs of natural numbers===
see [[w:Integer#Equivalence classes of ordered pairs]]
* {{Z|Z17307}}
* {{Z|Z17301}}
* {{Z|Z17321}}
* {{Z|Z17326}}
* {{Z|Z17330}}
* {{Z|Z17340}}
* {{Z|Z17469}}
* {{z|Z17345}}
===Integer sequence and unary integer functions===
See [[Wikifunctions:OEIS]]
* {{Z|Z17386}}
* {{z|Z17394}}
* {{Z+|Z31619}}
===Search for===
[[Special:Search/: "Z8K2 Z16683" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z16683" OR "Z17K1 Z16683" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z16683"|Functions expecting or returning an explicit Integer object, singly or in a list]]
* [[Special:Search/: "Z8K2 Z16683"|Functions returning an explicit Integer object]]
** [[Special:Search/: "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z16683"|or a list of them]]
* [[Special:Search/: "Z17K1 Z16683"|Functions expecting an explicit Integer object]]
** [[Special:Search/: "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z16683"|or a list of them]]
* [[Special:Search/: "Z8K2 Z16683" "Z17K1 Z16683"|Functions expecting and returning explicit Integer objects (but not in a list)]]
* [[Special:Search/: "Z8K2 Z16683" !"Z17K1 Z16683"|Functions with no Integer object inputs (unless in a list) returning an explicit Integer object (not in a list)]]
==Rational number functions==
=== Comparison ===
* {{Z+|Z19686}}
* {{Z+|Z24506}}
* {{Z+|Z19751}}
* {{Z+|Z19752}}
* {{Z+|Z19753}}
* {{Z+|Z19754}}
* {{Z+|Z24403}}
* {{Z+|Z19806}}
===Properties===
* {{Z+|Z20065}}
* {{Z+|Z21702}}
* {{Z+|Z19922}}
* {{Z+|Z21714}}
* {{Z+|Z21721}}
* {{Z+|Z19583}}
* {{Z+|Z25642}}
** {{Z+|Z25647}}
=== Transformation and conversion ===
* {{Z+|Z19694}}
* {{Z+|Z19711}}
* {{Z+|Z19717}}
* {{Z+|Z19722}}
* {{Z+|Z19733}}
* {{Z+|Z19724}}
* {{Z+|Z19744}}
* {{Z+|Z19848}}
* {{Z+|Z20584}}
* {{Z+|Z27232}}
* {{Z+|Z24382}}
* {{Z+|Z25445}}
* {{Z+|Z25656}}
** {{Z+|Z25636}}
** {{Z+|Z25639}}
** {{Z+|Z29116}}
* {{Z+|Z27737}}
=== Rounding ===
{{Help:Rounding_function_table/Rational}}
=== Operations ===
* {{Z+|Z19679}}
* {{Z+|Z19699}}
* {{Z+|Z19706}}
* {{Z+|Z19708}}
* {{Z+|Z21320}}
* {{Z+|Z24487}}
* {{Z+|Z19682}}
** {{Z+|Z25432}}
* {{Z+|Z20032}}
* {{Z+|Z20053}}
* {{Z+|Z31523}}
** {{Z+|Z19736}}
* {{Z+|Z31522}}
** {{Z+|Z19740}}
* {{Z+|Z19800}}
* {{Z+|Z27705}}
** {{Z+|Z27719}}
** {{Z+|Z19814}}
** {{Z+|Z19841}}
** {{Z+|Z12606}}
* {{Z+|Z19826}}
* {{Z+|Z19833}}
** {{Z+|Z33933}}
* {{Z+|Z20856}}
* {{Z+|Z20863}}
* {{Z+|Z20870}}
* {{Z+|Z20877}}
* {{Z+|Z24081}}
* {{Z+|Z20902}}
* {{Z+|Z21692}}
* {{Z+|Z23899}}
* {{Z+|Z23882}}
* {{Z+|Z24372}}
* {{Z+|Z24374}}
* {{Z+|Z24376}}
==== Operations with custom precision ====
* {{Z+|Z24505}}
* {{Z+|Z24681}}
* {{Z+|Z24698}}
===Probability Operations===
* {{Z+|Z19967}}
* {{Z+|Z20000}}
* {{Z+|Z20226}}
====Probability mass functions====
* {{Z+|Z21294}}
* {{Z+|Z20094}}
* {{Z+|Z21312}}
==Floating point functions==
===Conversions===
*{{Z+|Z21136}}
*{{Z+|Z21139}}
*{{Z+|Z21142}}
*{{Z+|Z21145}}
*{{Z+|Z20854}}
*{{Z+|Z21148}}
*{{Z+|Z20915}}
*{{Z+|Z21642}}
*{{Z+|Z21925}}
*{{Z+|Z21163}}
*{{Z+|Z20844}}
*{{Z+|Z21679}}
*{{Z+|Z20936}}
*{{Z+|Z20937}}
*{{Z+|Z21071}}
*{{Z+|Z21070}}
===Comparisons===
*{{Z+|Z20850}}
*{{Z+|Z20924}}
*{{Z+|Z20940}}
*{{Z+|Z20941}}
*{{Z+|Z20943}}
*{{Z+|Z20944}}
*{{Z+|Z20945}}
===Rounding===
{{Help:Rounding_function_table/float64}}
===Operations===
*{{Z+|Z20849}}
*{{Z+|Z21031}}
*{{Z+|Z21032}}
*{{Z+|Z21033}}
*{{Z+|Z16463}}
*{{Z+|Z12473}}
*{{Z+|Z16475}}
*{{Z+|Z20954}}
*{{Z+|Z20955}}
*{{Z+|Z20956}}
*{{Z+|Z12505}}
*{{Z+|Z12497}}
*{{Z+|Z20959}}
*{{Z+|Z20960}}
*{{Z+|Z20961}}
*{{Z+|Z20962}}
*{{Z+|Z20963}}
*{{Z+|Z20964}}
*{{Z+|Z20965}}
*{{Z+|Z20966}}
*{{Z+|Z20967}}
*{{Z+|Z20968}}
*{{Z+|Z12509}}
*{{Z+|Z12500}}
*{{Z+|Z20971}}
*{{Z+|Z20972}}
*{{Z+|Z20973}}
*{{Z+|Z20974}}
*{{Z+|Z21000}}
*{{Z+|Z21001}}
*{{Z+|Z21003}}
*{{Z+|Z21004}}
*{{Z+|Z21005}}
*{{Z+|Z21005}}
*{{Z+|Z21007}}
*{{Z+|Z21008}}
*{{Z+|Z21009}}
*{{Z+|Z21010}}
*{{Z+|Z21012}}
*{{Z+|Z21013}}
*{{Z+|Z29125}}
*{{Z+|Z21028}}
*{{Z+|Z21037}}
*{{Z+|Z21041}}
*{{Z+|Z34780}}
*{{Z+|Z20841}}
*{{Z+|Z21043}}
*{{Z+|Z21047}}
**{{Z+|Z26304}}
***{{Z+|Z26315}}
*{{Z+|Z21775}}
*{{Z+|Z23902}}
* {{Z+|Z31079}}
=== Search for ===
[[Special:Search/ : "Z8K2 Z20838" OR "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838" OR "Z17K1 Z20838" OR "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838"| Functions expecting or returning an explicit Float64 object, singly or in a list]]
* [[Special:Search/ : "Z8K2 Z20838"|Functions returning an explicit Float64 object]]
** [[Special:Search/ : "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838"|or a list of them]]
* [[Special:Search/ : "Z17K1 Z20838"|Functions expecting an explicit Float64 object]]
** [[Special:Search/ : "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838"|or a list of them]]
* [[Special:Search/ : "Z8K2 Z20838" "Z17K1 Z20838"| Functions expecting and returning an explicit Float64 object]]
** [[Special:Search/ : "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838" "Z17K1 Z20838"| or returning a list]]
** [[Special:Search/ : "Z8K2 Z20838" "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838"|or expecting a list]]
** [[Special:Search/ : "Z8K2 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838" "Z17K1 Z1K1 Z7 Z7K1 Z881 Z881K1 Z20838"|or expecting and returning a list]]
== Complex numbers ==
Type: {{Z+|Z33198}}
=== Constructor and deconstructors ===
* {{Z+|Z33227}}
* {{Z+|Z33304}}
* {{Z+|Z33214}}
* {{Z+|Z33221}}
* {{Z+|Z33499}}
** {{Z+|Z33713}}
* {{Z+|Z33610}}
=== Comparison ===
* {{Z+|Z33202}}
* {{Z+|Z33506}}
=== Arithmetics ===
* {{Z+|Z33201}}
* {{Z+|Z33366}}
* {{Z+|Z33700}}
* {{Z+|Z33708}}
* {{Z+|Z33372}}
* {{Z+|Z33679}}
== Number operations requiring type conversion ==
=== Numeric Characteristics ===
* {{Z+|Z10603}}
=== Arithmetic Functions ===
* {{Z+|Z11235}}
* {{Z+|Z12522}}
* {{Z+|Z12476}}
* {{Z+|Z10862}}
* {{Z+|Z12720}}
=== Trigonometric Functions ===
* {{Z+|Z12497}}
* {{Z+|Z12500}}
* {{Z+|Z12505}}
* {{Z+|Z12509}}
* {{Z+|Z12473}}
* {{Z+|Z14446}}
=== Health Functions ===
* {{Z+|Z12526}}
* {{Z+|Z12572}}
=== Geometric Functions ===
* {{Z+|Z13341}}
=== Climate related functions ===
These would benefit from a float type.
* {{Z+|Z18421}}
* {{Z+|Z18391}}
* {{Z+|Z18364}}
* {{Z+|Z18406}}
* {{Z+|Z18409}}
* {{Z+|Z18412}}
* {{Z+|Z18415}}
* {{Z+|Z18418}}
=== Distance functions ===
* {{Z+|Z18428}}
* {{Z+|Z18431}}
* {{Z+|Z18362}}
=== Physics functions ===
* {{Z+|Z12910}}
=== Randomness ===
{{main|Wikifunctions:Determinism}}
''Reminder that Wikifunctions does not support randomness for now. We always expect all functions to return functional, deterministic results, only dependent on the input. This is in order to allow for aggressive caching.'' see [[Wikifunctions:Project_chat/Archive/2023/09#Help_please]].
* {{Z+|Z13148}}
* {{Z+|Z19441}}
* {{Z+|Z19460}}
[[Category:Lists of functions]]
f0rrs6aekpv391e1u1vgmwelld141k2
Z20006
0
42927
272141
245618
2026-05-04T13:26:58Z
YoshiRulz
10156
Added Z34745 to the approved list of implementations
272141
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20006"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z20006K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "dividend"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "dividendo"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z20006K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "divisor"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "divisore"
}
]
}
}
],
"Z8K2": "Z19677",
"Z8K3": [
"Z20",
"Z20008",
"Z20009",
"Z20010",
"Z20011"
],
"Z8K4": [
"Z14",
"Z20007",
"Z34745"
],
"Z8K5": "Z20006"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "rational modulo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "modulo razionale"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"modulo",
"divisible"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
e1prnqtf228dbb22nuiq5x0youenm10
Z20172
0
43258
272149
236955
2026-05-04T13:41:50Z
YoshiRulz
10156
Added Z34747 to the approved list of implementations
272149
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20172"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20159",
"Z17K2": "Z20172K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "বছর"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "année donnée, pour déterminer l'année suivante"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Jahr"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "anno"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "tahun"
}
]
}
}
],
"Z8K2": "Z20159",
"Z8K3": [
"Z20",
"Z20173",
"Z20174",
"Z20178",
"Z20179"
],
"Z8K4": [
"Z14",
"Z20180",
"Z20176",
"Z34747"
],
"Z8K5": "Z20172"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "next year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "পরবর্তী বছর"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "année suivante"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "nächstes Jahr"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "anno successivo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "tahun depan"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"following year",
"year after",
"+1"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1011",
"Z31K2": [
"Z6",
"পরের বছর",
"আগামী বছর"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"année d'après"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"kommendes Jahr",
"Jahr nach",
"+1",
"folgendes Jahr"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"tahun berikutnya, tahun setelahnya, +1"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "একটি বছরের পরবর্তী বছরটি প্রদান করে, অব্দের সাথে বা ছাড়া।"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Gibt das Jahr nach dem gegebenen zurück."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "à partir d'une année donnée, indique l'année suivante"
}
]
}
}
rwka5aqvln97kur0zc794ac230fhuj0
Z20219
0
43309
272152
192473
2026-05-04T13:46:04Z
YoshiRulz
10156
Added Z34748 to the approved list of implementations
272152
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20219"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20159",
"Z17K2": "Z20219K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "earlier year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": " année précédente"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "primo anno"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20159",
"Z17K2": "Z20219K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "later year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "année suivante"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "secondo anno"
}
]
}
}
],
"Z8K2": "Z16683",
"Z8K3": [
"Z20",
"Z20220",
"Z20221",
"Z20224",
"Z20225",
"Z20246",
"Z20247"
],
"Z8K4": [
"Z14",
"Z20222",
"Z20223",
"Z34748"
],
"Z8K5": "Z20219"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "difference between Gregorian years"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "différence entre des années grégoriennes"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "differenza tra anni gregoriani"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"anni tra"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Finds the number of years between the two years entered. Returns an integer in case the \"earlier year\" is after the \"later year\" (in which case the answer is negative)."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "trouve le nombre d'années entre les deux années saisies ; renvoie un entier dans le cas où « l'année précédente » est après « l'année suivante » (auquel cas la réponse est négative)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Trova il numero di anni tra i due anni in ingresso. Se \"primo anno\" viene dopo il \"secondo anno\", restituisce un numero negativo"
}
]
}
}
32nhqaqhie1ah2m039s4ozvn91oa8w5
Z20314
0
43652
272155
219306
2026-05-04T13:56:17Z
YoshiRulz
10156
Added Z34749 to the approved list of implementations
272155
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20314"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20159",
"Z17K2": "Z20314K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "year to find precedent for"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "বছর"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "année donnée, pour déterminer l'année précédente"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "anno"
}
]
}
}
],
"Z8K2": "Z20159",
"Z8K3": [
"Z20",
"Z20317",
"Z20318",
"Z20320",
"Z20321",
"Z20322"
],
"Z8K4": [
"Z14",
"Z20315",
"Z20316",
"Z34749"
],
"Z8K5": "Z20314"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "previous year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "পূর্ববর্তী বছর"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "année précédente"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "anno precedente"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"-1",
"year before this one",
"earlier year",
"preceding year",
"last year"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1011",
"Z31K2": [
"Z6",
"আগের বছর",
"গত বছর"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "একটি বছরের পূর্ববর্তী/আগের বছরটি প্রদান করে, অব্দের সাথে বা ছাড়া।"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "à partir d'une année donnée, indique l'année précédente"
}
]
}
}
0uu9tj1inc71f17hjwbtl8jyybixk4e
272156
272155
2026-05-04T13:56:21Z
YoshiRulz
10156
Removed Z20321 and Z20322 from the approved list of test cases
272156
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20314"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20159",
"Z17K2": "Z20314K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "year to find precedent for"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "বছর"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "année donnée, pour déterminer l'année précédente"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "anno"
}
]
}
}
],
"Z8K2": "Z20159",
"Z8K3": [
"Z20",
"Z20317",
"Z20318",
"Z20320"
],
"Z8K4": [
"Z14",
"Z20315",
"Z20316",
"Z34749"
],
"Z8K5": "Z20314"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "previous year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "পূর্ববর্তী বছর"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "année précédente"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "anno precedente"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"-1",
"year before this one",
"earlier year",
"preceding year",
"last year"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1011",
"Z31K2": [
"Z6",
"আগের বছর",
"গত বছর"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "একটি বছরের পূর্ববর্তী/আগের বছরটি প্রদান করে, অব্দের সাথে বা ছাড়া।"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "à partir d'une année donnée, indique l'année précédente"
}
]
}
}
4bjttnnyxsl4idbnbosi7mw97otn0es
Z20323
0
43661
272158
247356
2026-05-04T14:04:52Z
YoshiRulz
10156
Added Z34750 to the approved list of implementations
272158
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20323"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z20323K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "1st known"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z20323K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "2nd known"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z20323K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Which is unknown (1, 2, or 3)"
}
]
}
}
],
"Z8K2": "Z19677",
"Z8K3": [
"Z20",
"Z20328",
"Z20329",
"Z20330"
],
"Z8K4": [
"Z14",
"Z20327",
"Z34750"
],
"Z8K5": "Z20323"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Triangle of Power operation"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"a^b=c"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Insert the arguments in the order of: Base, Power, Result."
}
]
}
}
9ffaxg5jtwzyytk2hadtc80nkubivcb
Z20357
0
43706
272161
214860
2026-05-04T14:25:58Z
YoshiRulz
10156
Added Z34751 and Z34752 to the approved list of implementations
272161
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20357"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20342",
"Z17K2": "Z20357K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "day"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jour"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z20357K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "leap year?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "est-ce une année bissextile ?"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z20359",
"Z20360",
"Z20361"
],
"Z8K4": [
"Z14",
"Z23629",
"Z20358",
"Z34751",
"Z34752"
],
"Z8K5": "Z20357"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Day of Roman Year to Day number in year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "jour de l'année vers nombre de jours dans l'année"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Utility function"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "dans une année romaine ; fonction utilitaire"
}
]
}
}
pw572omudt9hfutoccevuw6hnso2b0c
Z20430
0
43812
272168
267307
2026-05-04T14:39:41Z
YoshiRulz
10156
Added Z34754 to the approved list of implementations
272168
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20430"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20420",
"Z17K2": "Z20430K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "this"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "première date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Erste Datumsangabe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "prima data"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "هذا"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "dit"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20420",
"Z17K2": "Z20430K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "that"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "deuxième date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Zweite Datumsangabe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "seconda data"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "ذاك"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "dat"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z20432",
"Z20433",
"Z20434",
"Z20435",
"Z20436",
"Z20437",
"Z21128"
],
"Z8K4": [
"Z14",
"Z20431",
"Z20739",
"Z33804",
"Z34754"
],
"Z8K5": "Z20430"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Same Gregorian calendar date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "est-ce la même date du calendrier grégorien ?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "Та же дата Григорианского календаря"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Gleiches Gregorianisches Kalenderdatum"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "ίδια ημερομηνία στο Γρηγοριανό ημερολόγιο"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "stessa Data di calendario Gregoriano"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "نفس تاريخ التقويم الغريغوري"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1157",
"Z11K2": "zelfde datum in de Gregoriaanse kalender"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"Identisches Gregorianisches Kalenderdatum"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"confronta date di calendario gregoriano",
"uguaglianza tra date di calendario gregoriano",
"date di calendario gregoriano uguali"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"same Gregorian dates",
"same Gregorian days of the year"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Prüft ob die Datumsangaben im Gregorianischen Kalender gleich sind."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si les deux dates sont les mêmes, sinon \"faux\""
}
]
}
}
ll9zmb3g3w1afxsu6z5gu091yqe77j6
Z20446
0
43832
272164
141233
2026-05-04T14:34:06Z
YoshiRulz
10156
Added Z34753 to the approved list of implementations
272164
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20446"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20446K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Z13518K1"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z20447",
"Z34753"
],
"Z8K5": "Z20446"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Remove invalid chars from Z13518K1"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"remove non-digit chars"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qfae1z0c14x66oy3zjs9hemto46vufr
Talk:Z20597
1
44114
272176
212878
2026-05-04T14:48:20Z
YoshiRulz
10156
Add to category
272176
wikitext
text/x-wiki
== Goal ==
I am trying to built a function that generates the following text: "2023 (MMXXIII) was a common year starting on Sunday of the Gregorian calendar, the 2023rd year of the Common Era (CE) and Anno Domini (AD) designations, the 23rd year of the 3rd millennium and the 21st century, and the 4th year of the 2020s decade." That's the intro text to the Wikipedia article on 2023. I am building the test for now step by step, but if someone wants to rush forward, that's the whole text.
Eventually I would like to have that for several languages, and then a function that takes a year and a language, and creates the text in different languages. [[User:Denny|Denny]] ([[User talk:Denny|talk]]) 15:40, 28 November 2024 (UTC)
[[Category:English natural language generation functions]]
[[Category:Functions_with_only_code_implementations]]
jpr1s2tzkpufer7d67lka7g2d7555jw
Z20648
0
44214
272179
218724
2026-05-04T14:56:26Z
YoshiRulz
10156
Added Z34755 to the approved list of implementations
272179
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20648"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z16098",
"Z17K2": "Z20648K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "month"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "mois"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20159",
"Z17K2": "Z20648K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Year"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "année"
}
]
}
}
],
"Z8K2": "Z16683",
"Z8K3": [
"Z20",
"Z20650",
"Z20651",
"Z20652"
],
"Z8K4": [
"Z14",
"Z20649",
"Z22984",
"Z34755"
],
"Z8K5": "Z20648"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Numbers of days in a month"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre de jours dans un mois"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "Количество дней в месяце"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the number of days in a month."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie le nombre de jours dans un mois"
}
]
}
}
tlbp54t4jfnvti3mmco0gkrq1jub44x
Z20653
0
44242
272183
142593
2026-05-04T15:11:08Z
YoshiRulz
10156
Added Z34756 to the approved list of implementations
272183
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20653"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6"
},
"Z17K2": "Z20653K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "options"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z20653K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "value"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z40",
"Z17K2": "Z20653K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "send full string instead of index"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20655"
],
"Z8K4": [
"Z14",
"Z20654",
"Z34756"
],
"Z8K5": "Z20653"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Validate string to list of string options"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Takes a string and list of strings, and returns either the string or index"
}
]
}
}
gbwgczthey34k00ktkfbp20zjmse59w
Talk:Z20656
1
44251
272184
212879
2026-05-04T15:11:53Z
YoshiRulz
10156
Add to category
272184
wikitext
text/x-wiki
[[Category:English natural language generation functions]]
[[Category:Functions_with_only_code_implementations]]
ei9s5hni2ywrdsmf6d9yitjzrje0mse
Z20659
0
44252
272190
199765
2026-05-04T15:38:50Z
YoshiRulz
10156
Added Z34757 to the approved list of implementations
272190
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20659"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z16683"
},
"Z17K2": "Z20659K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Vector 1"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "vecteur 1"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "vettore 1"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z16683"
},
"Z17K2": "Z20659K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Vector 2"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "vecteur 2"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "vettore 2"
}
]
}
}
],
"Z8K2": "Z16683",
"Z8K3": [
"Z20",
"Z20661"
],
"Z8K4": [
"Z14",
"Z24431",
"Z20660",
"Z34757"
],
"Z8K5": "Z20659"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "get dot product (integer vectors)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "obtenir le produit scalaire"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "prodotto scalare (vettori interi)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"dot product"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"produit scalaire"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Finds the dot product of two integer vectors"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "trouve le produit scalaire de deux vecteurs entiers"
}
]
}
}
n76pl4ypcjt44wigtbroec0qu1vl8p6
Z20662
0
44255
272193
270028
2026-05-04T15:45:05Z
YoshiRulz
10156
Added Z34758 to the approved list of implementations
272193
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20662"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z20662K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "List 1"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "première liste"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z20662K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "List 2"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "seconde liste"
}
]
}
}
],
"Z8K2": "Z1",
"Z8K3": [
"Z20",
"Z34399"
],
"Z8K4": [
"Z14",
"Z20663",
"Z21867",
"Z34758"
],
"Z8K5": "Z20662"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "zip two lists"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "entremêler des listes"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"zip"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Zips\" two lists together"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "entremêle deux listes ensemble"
}
]
}
}
q6uye5i71d3lq6ddpx6zc74fnj1ycxv
272194
272193
2026-05-04T15:45:08Z
WikiLambda system
3
Updated the implementation list (see [[Help:Wikifunctions/Implementation_ordering_and_choosing|About implementation selection]])
272194
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20662"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z20662K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "List 1"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "première liste"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z20662K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "List 2"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "seconde liste"
}
]
}
}
],
"Z8K2": "Z1",
"Z8K3": [
"Z20",
"Z34399"
],
"Z8K4": [
"Z14",
"Z21867",
"Z20663",
"Z34758"
],
"Z8K5": "Z20662"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "zip two lists"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "entremêler des listes"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"zip"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"Zips\" two lists together"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "entremêle deux listes ensemble"
}
]
}
}
bsyjjnm0ykra548mrtlhys64la9wr66
Z20744
0
45240
272202
251014
2026-05-04T16:11:14Z
YoshiRulz
10156
Added Z24900 to the approved list of implementations
272202
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20744"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20420",
"Z17K2": "Z20744K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "start date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "première date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "von"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "data 1"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "почетни датум"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "تاريخ البداية"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1237",
"Z11K2": "başlangıç tarihi"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20420",
"Z17K2": "Z20744K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "target date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "seconde date"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "bis"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "data 2"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "крајњи датум"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "التاريخ المستهدف"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1237",
"Z11K2": "hedef tarih"
}
]
}
}
],
"Z8K2": "Z16683",
"Z8K3": [
"Z20",
"Z20746",
"Z20747",
"Z20748",
"Z20749",
"Z20805",
"Z24872",
"Z24896",
"Z24897",
"Z24898",
"Z24899",
"Z27563"
],
"Z8K4": [
"Z14",
"Z27558",
"Z20745",
"Z24900"
],
"Z8K5": "Z20744"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "days until "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre de jours jusque"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Tage bis"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "numero di giorni tra"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "број дана до датума"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "عدد الأيام حتى"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1237",
"Z11K2": "gün farkı"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"distance between days",
"day subtraction",
"age",
"date difference in days (integer)",
"Gregorian calendar date difference",
"difference between Gregorian calendar dates"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"distance entre deux jours",
"soustraction de jours"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"Abstand zwischen Tagen",
"Alter in Tagen"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"distanza tra giorni",
"distanza tra date",
"giorni tra"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1181",
"Z31K2": [
"Z6",
"одузимање дана"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1237",
"Z31K2": [
"Z6",
"tarih farkı",
"iki tarih arası gün"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "distance between two days (exclusive of the latter), as an integer"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "distance entre deux jours, sous la forme de nombre entier."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Abstand zwischen zwei Tagen, als Ganzzahl."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Distanza in giorni tra due date come Intero"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1181",
"Z11K2": "време између од првог до другог датума, враћа цео број"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1001",
"Z11K2": "المسافة بين يومين من التاريخ، كعدد صحيح"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1237",
"Z11K2": "İki tarih arasındaki gün farkını (son gün hariç) tam sayı olarak verir"
}
]
}
}
8kdg16h68ag299n922vsw8jc7l4mwvb
Z20785
0
45443
272207
244651
2026-05-04T16:13:25Z
YoshiRulz
10156
Added Z31240 to the approved list of implementations
272207
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20785"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20420",
"Z17K2": "Z20785K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "date"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z20787"
],
"Z8K4": [
"Z14",
"Z20786",
"Z31240"
],
"Z8K5": "Z20785"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "French date"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "a date in French in dmy"
}
]
}
}
so3rrqfcvqchf92t8xvanmzp36ryv77
Z20902
0
45705
272218
225498
2026-05-04T16:18:49Z
YoshiRulz
10156
Added Z34759 to the approved list of implementations
272218
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20902"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z20902K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "rational"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre rationnel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "razionale"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z20904",
"Z20905",
"Z20906",
"Z20909",
"Z20910",
"Z20912",
"Z20913",
"Z24829",
"Z24830",
"Z24831",
"Z24832",
"Z24833",
"Z24834",
"Z28169"
],
"Z8K4": [
"Z14",
"Z20903",
"Z34759"
],
"Z8K5": "Z20902"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "square root of rational to float64"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "racine carrée"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "radice quadrata di razionale come float64"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Square root",
"sqrt"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"radq"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the square root of a rational number as a float"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie la racine carrée d'un nombre rationnel sous forme d'un nombre à virgule flottante"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Restituisce la radice quadrata di un numero razionale come float64"
}
]
}
}
ciy4zx9ctdiwzp4re25ul2ilpfoe6hy
Talk:Z20924
1
45732
272221
147498
2026-05-04T16:19:58Z
YoshiRulz
10156
Add to category
272221
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
== Duplicate ==
{{ping|GZWDer}} this is a duplicate of [[Z20850]]. Thanks! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:44, 20 December 2024 (UTC)
gsv3q9yzerc01xqbfxvzpksy369a6tn
Z20936
0
45743
272223
217119
2026-05-04T16:21:38Z
YoshiRulz
10156
Added Z34760 to the approved list of implementations
272223
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20936"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z20936K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "n"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z21468",
"Z21469"
],
"Z8K4": [
"Z14",
"Z20938",
"Z34760"
],
"Z8K5": "Z20936"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "natural number to float64"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre naturel vers virgule flottante"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "numero naturale in float64"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"n to f"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"float64 da numero naturale",
"naturale in float64",
"float64 da naturale"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "converts a natural number value into a float64 value"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "convertit un entier naturel en nombre à virgule flottante"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Converte un numero naturale in un valore float64"
}
]
}
}
gnnq929z5pp75pmpbiias68jj8megr7
Z20940
0
45747
272225
266629
2026-05-04T16:22:55Z
YoshiRulz
10156
Added Z34761 to the approved list of implementations
272225
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20940"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z20940K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "a"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "a"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z20940K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "b"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "b"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z21470",
"Z21471",
"Z21472"
],
"Z8K4": [
"Z14",
"Z21473",
"Z20946",
"Z34761"
],
"Z8K5": "Z20940"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "less than (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "minore (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"\u003C"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
csapo0n6iy1pqg824bcuef4qz5zks3j
Z20955
0
45762
272227
169370
2026-05-04T16:26:59Z
YoshiRulz
10156
Added Z34762 to the approved list of implementations
272227
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20955"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z20955K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Angle in degrees"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z22756"
],
"Z8K4": [
"Z14",
"Z20979",
"Z34762"
],
"Z8K5": "Z20955"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "secant in radians"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"sec"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the secant in radians. It is defined as the reciprocal of the cosine function."
}
]
}
}
qwkr96w6igdbtcjoflbovhjmf3qfp6q
Z20959
0
45766
272229
265850
2026-05-04T16:32:33Z
YoshiRulz
10156
Added Z34763 to the approved list of implementations
272229
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20959"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z20959K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "x"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z33586",
"Z33587"
],
"Z8K4": [
"Z14",
"Z20983",
"Z34763"
],
"Z8K5": "Z20959"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "arctangent"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1360",
"Z11K2": "arctan"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"arctan",
"arctangent (in radians)"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1360",
"Z31K2": [
"Z6",
"atan",
"arctg"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6b48tptv5meh36yuoznko6egctdhyfr
Z20971
0
45778
272231
266063
2026-05-04T16:38:27Z
YoshiRulz
10156
Added Z34764 to the approved list of implementations
272231
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20971"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z20971K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "x"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z33665",
"Z33669"
],
"Z8K4": [
"Z14",
"Z20996",
"Z33666",
"Z34764"
],
"Z8K5": "Z20971"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "inverse hyperbolic tangent "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "tangente hyperbolique inverse "
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"arctanh",
"atanh",
"artanh"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "result in radians"
}
]
}
}
15y9ezapev5q39lnpgx9b1akhfw3ay9
272232
272231
2026-05-04T16:38:37Z
YoshiRulz
10156
Removed Z33666 from the approved list of implementations
272232
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20971"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z20971K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "x"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z33665",
"Z33669"
],
"Z8K4": [
"Z14",
"Z20996",
"Z34764"
],
"Z8K5": "Z20971"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "inverse hyperbolic tangent "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "tangente hyperbolique inverse "
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"arctanh",
"atanh",
"artanh"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "result in radians"
}
]
}
}
h0zzrz5e1xnii54lllfebu716paypav
Z20974
0
45781
272233
147621
2026-05-04T16:38:45Z
YoshiRulz
10156
Added Z33670 to the approved list of test cases
272233
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20974"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z20974K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "x"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z33670"
],
"Z8K4": [
"Z14",
"Z20999"
],
"Z8K5": "Z20974"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "inverse hyperbolic cosecant "
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"arccsch"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
b8huiuoyg5v8haklsy60knymkfyg270
272234
272233
2026-05-04T16:38:47Z
YoshiRulz
10156
Added Z33667 to the approved list of implementations
272234
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z20974"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z20974K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "x"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z33670"
],
"Z8K4": [
"Z14",
"Z20999",
"Z33667"
],
"Z8K5": "Z20974"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "inverse hyperbolic cosecant "
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"arccsch"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6zrvf4t5td1kmfd5wvwtts3semhu1c4
Z21001
0
45808
272236
265716
2026-05-04T16:41:13Z
YoshiRulz
10156
Added Z34765 to the approved list of implementations
272236
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21001"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21001K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "x"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "x"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z31691",
"Z31692"
],
"Z8K4": [
"Z14",
"Z21015",
"Z34765"
],
"Z8K5": "Z21001"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "float64 exponentiation base e"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "fonction exponentielle"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"exp"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"exp"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qw058riuqn84a1lmrohbxls9hjctme4
Z21013
0
45820
272240
236958
2026-05-04T16:50:18Z
YoshiRulz
10156
Added Z34767 to the approved list of implementations
272240
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21013"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21013K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "degrees"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "x"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "Sudut dalam derajat"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z28008",
"Z30494"
],
"Z8K4": [
"Z14",
"Z30135",
"Z30493",
"Z21027",
"Z30495",
"Z34767"
],
"Z8K5": "Z21013"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "degrees to radians (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": " degrés en radians"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "konversi derajat ke radian (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"degrees to radians",
"angle from degrees to radians",
"angle in radians"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1078",
"Z31K2": [
"Z6",
"derajat ke radian, sudut dalam radian"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "convertir des degrés en radians"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "convert an angle from degrees to radians"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "konversi sudut dalam derajat menjadi radian"
}
]
}
}
0h8mbilpkhs207w0bhr7m97xedh6gmh
Z21032
0
45839
272243
211446
2026-05-04T16:54:13Z
YoshiRulz
10156
Added Z22081 to the approved list of test cases
272243
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21032"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21032K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "multiplicand"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "premier nombre"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "terkali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "primo numero"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21032K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "multiplier"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "second nombre"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "pengali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "secondo numero"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z21784",
"Z22080",
"Z22082",
"Z22081"
],
"Z8K4": [
"Z14",
"Z21689",
"Z21035"
],
"Z8K5": "Z21032"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "multiply (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "multiplier des nombres à virgule flottante"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "kali (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "moltiplica (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"*",
"multiply two float64s",
"multiplication",
"times"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"prodotto (float64)",
"moltiplicazione (float64)",
"per (float64)"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
n8tfvg7n0c270ryqvkr67i5z5n583uz
272244
272243
2026-05-04T16:54:14Z
YoshiRulz
10156
Added Z34768 to the approved list of implementations
272244
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21032"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21032K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "multiplicand"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "premier nombre"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "terkali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "primo numero"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21032K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "multiplier"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "second nombre"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "pengali"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "secondo numero"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z21784",
"Z22080",
"Z22082",
"Z22081"
],
"Z8K4": [
"Z14",
"Z21689",
"Z21035",
"Z34768"
],
"Z8K5": "Z21032"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "multiply (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "multiplier des nombres à virgule flottante"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "kali (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "moltiplica (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"*",
"multiply two float64s",
"multiplication",
"times"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"prodotto (float64)",
"moltiplicazione (float64)",
"per (float64)"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
j0s1hs6xcphkf1nkx28uc4kipmltadx
Z21033
0
45840
272246
237017
2026-05-04T16:55:36Z
YoshiRulz
10156
Added Z34769 to the approved list of implementations
272246
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21033"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21033K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "x"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "premier nombre"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Divident"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "প্রথম দশমিক সংখ্যা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "x"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "x"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21033K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "y"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "second nombre"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Divisor"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "দ্বিতীয় দশমিক সংখ্যা"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "y"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "y"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z22083",
"Z22085"
],
"Z8K4": [
"Z14",
"Z21691",
"Z21036",
"Z34769"
],
"Z8K5": "Z21033"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "divide (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "diviser des nombres à virgule flottante"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Float64-Divison"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "বিভাজন (দশমিক সংখ্যা)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "dividi (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "bagi (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"/",
"float64 division",
"divide",
"divide one floating point number by another",
"divide float64s",
"division"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"/"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"divisione",
"rapporto",
"quoto",
"quoziente"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nwiiy7a6q564wiaidgwcdmsa79p0lxu
Z21041
0
45848
272248
220252
2026-05-04T17:02:12Z
YoshiRulz
10156
Added Z34770 to the approved list of implementations
272248
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21041"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21041K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "x"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "x"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "numero"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z21531",
"Z21532",
"Z21729",
"Z21728"
],
"Z8K4": [
"Z14",
"Z21730",
"Z21042",
"Z34770"
],
"Z8K5": "Z21041"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "absolute value (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "valeur absolue d'un nombre à virgule flottante"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "পরম মান (ফ্লোট)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1078",
"Z11K2": "nilai mutlak (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "valore assoluto (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"fabs"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1011",
"Z31K2": [
"Z6",
"ফ্লোট সংখ্যার পরম মান"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"modulo"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
frmcyhg3jf03qpva0ibasxq6g6mvahj
Z21132
0
46096
272258
228321
2026-05-04T17:18:28Z
YoshiRulz
10156
Added Z34771 to the approved list of implementations
272258
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21132"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z21132K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "function"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "fonction"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z21132K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "arguments"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "arguments"
}
]
}
}
],
"Z8K2": "Z7",
"Z8K3": [
"Z20",
"Z21134"
],
"Z8K4": [
"Z14",
"Z29355",
"Z34771"
],
"Z8K5": "Z21132"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "(!) vararg apply"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "(!) appliquer"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4ccnpgrbtvo60bqc3gq7p6cul5nfla1
Talk:Z21245
1
46582
272263
151720
2026-05-04T17:33:56Z
YoshiRulz
10156
Add to category
272263
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
== Possibly including tolerance band? ==
I just wanted to put a note here that, in the future, maybe this function could be changed to output a range of possible resistivities instead of only its center, like outputting a minimum and maximum. A new function to output this range could also be created instead. [[User:Moon motif|Moon motif]] ([[User talk:Moon motif|talk]]) 03:00, 1 January 2025 (UTC)
:We should really have a (x) range type. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 03:03, 1 January 2025 (UTC)
ef98ku5vuvqiglpzwo368xj5chax51f
Z21278
0
46850
272267
153367
2026-05-04T17:49:03Z
YoshiRulz
10156
Added Z34772 to the approved list of test cases
272267
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21278"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z21278K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "side length"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z21278K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number of sides"
}
]
}
}
],
"Z8K2": "Z19677",
"Z8K3": [
"Z20",
"Z21280",
"Z21281",
"Z34772"
],
"Z8K4": [
"Z14",
"Z21279"
],
"Z8K5": "Z21278"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "area of a regular polygon"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"regular-polygon-area"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Given the length of a side and the number of sides, computes the area of a regular polygon."
}
]
}
}
0am0j4uqlfzz9zbk84gxep66m53csh3
Z21312
0
47030
272270
154190
2026-05-04T17:51:23Z
YoshiRulz
10156
Added Z21313, Z21315, Z21318 and Z21319 to the approved list of test cases
272270
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21312"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z21312K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number of failures"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z21312K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "probability of success"
}
]
}
}
],
"Z8K2": "Z19677",
"Z8K3": [
"Z20",
"Z21313",
"Z21315",
"Z21318",
"Z21319"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z21312"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Geometric probability mass function"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"geometric pmf"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Given the probability of success and a number of failed trials, outputs the probability of seeing exactly many failures before success."
}
]
}
}
9sut4bgc6c7nr40lrtzg62d2trteagl
272271
272270
2026-05-04T17:51:24Z
YoshiRulz
10156
Added Z21353 and Z21354 to the approved list of implementations
272271
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21312"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z21312K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number of failures"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z21312K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "probability of success"
}
]
}
}
],
"Z8K2": "Z19677",
"Z8K3": [
"Z20",
"Z21313",
"Z21315",
"Z21318",
"Z21319"
],
"Z8K4": [
"Z14",
"Z21353",
"Z21354"
],
"Z8K5": "Z21312"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Geometric probability mass function"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"geometric pmf"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Given the probability of success and a number of failed trials, outputs the probability of seeing exactly many failures before success."
}
]
}
}
3mbys8hi2ku1nzftolcbdzhjuyuod4c
Z21334
0
47055
272273
154405
2026-05-04T17:55:59Z
YoshiRulz
10156
Added Z34774 to the approved list of implementations
272273
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21334"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21334K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "side a"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "côté a"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21334K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "side b"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "côté b"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21334K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "side c"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "côté c"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z21338"
],
"Z8K4": [
"Z14",
"Z21337",
"Z21335",
"Z34774"
],
"Z8K5": "Z21334"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Heron's formula"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "formule de Héron"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Hero's formula"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Area of a triangle in terms of the three side lengths (a, b, c)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "calcule l'aire d'un triangle via la longueur des côtés (a, b et c)"
}
]
}
}
kce3mytjbp89ksohlddq9mxmt0eudh7
Wikifunctions:Tests
4
47149
272406
154489
2026-05-05T06:49:40Z
Arlo Barnes
1231
/* And finally */ new section
272406
wikitext
text/x-wiki
{{essay}}
On Wikifunctions, you should create a good number of test cases functions. Tests make sure that your function works and show that to other users, serves as a good guide for other implementations, and also serve as examples to show how your function works.
==Assurance of reliability==
Test cases primarily serve to ensure reliability. A good set of test cases should include edge cases and unexpected things that may fail your implementation. This can make sure that your implementation is optimal and will work for all possible direct applications and also applications in other compositions. When test cases are connected, you can also preview them while editing them, which allows you to check your changes before saving, which makes it easier to catch bugs.
==Helpful for the creation of more implementations==
Wikifunctions benefits when more implementations exist for a function. This means that result may be able to be delivered faster, and so that other users can use these implementations in their own code easily. Test cases allow others to test their implementations (as above), and gives them a good example of how their implementation should work (see below). A particularly good set of implementations should also check for edge cases likely to appear even in languages or solutions that the function is not currently implemented in. This allows bugs to be spotted before even being introduced.
==Examples for users==
For some functions, precisely they do is simply impossible to fit in the name or description, a good set of passing test cases tells users what this function can accept and what it will do to it. This also facilitates the creation of more test cases. If a user can understand what exactly a function is doing, they may be able to test for a certain edge case. Examples in the form of test cases, especially with specific labels, can let the user learn by example, instead of by theoretical language.
== What does a good set of test cases look like? ==
What constitutes a good set of test cases generally depends on the function. However, there is a rough guideline for what a good set of test cases generally look like. First, quantity is usually preferable. This does not mean that an addition function needs 20 test cases, but that all functions should generally have a few, and [[User:Feeglgeef/Broad|broad]] functions usually require even more. Secondly, you should always test edge cases. This includes, but is not limited to: 0, the empty string, strings of characters of other alphabets, Infinity on floats, 300000 AD on dates, etc. Edge cases should remain what a reasonable user may consider inputting. Over the top edge cases that ''only'' occur when you are looking for them should not be included. Finally, include test cases that test the most common usages for the user. These provide limited help with actual testing, but provide assurance that everything is working and serve as great examples.
== And finally ==
Make sure that your test is actually testing what needs to be ascertained; {{z+|Z13009}} passes, but not because the function operates on the input as advertised.
==Functions with good test suites==
* [[Z20756]]
* [[Z20000]]
* [[Z13539]]
* [[Z19583]]
* There are many more, and this is just short list
1pbra3461us7kuc3z9xy7qfsslhduw4
Z21366
0
47156
272276
154613
2026-05-04T18:08:23Z
YoshiRulz
10156
Added Z34775 to the approved list of implementations
272276
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21366"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z21366K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "string"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z21368",
"Z21369",
"Z21370"
],
"Z8K4": [
"Z14",
"Z21367",
"Z34775"
],
"Z8K5": "Z21366"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Lowercase first word"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"lcfirst"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Lowercases the first word in a string"
}
]
}
}
hs2e05u2eyrgepjlm2dzdf9kjs1mch4
Z21430
0
47292
272278
265926
2026-05-04T18:14:32Z
YoshiRulz
10156
Added Z34776 to the approved list of implementations
272278
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21430"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z21430K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "leading binary bit"
}
]
}
}
],
"Z8K2": "Z16659",
"Z8K3": [
"Z20",
"Z21432",
"Z21433",
"Z21434"
],
"Z8K4": [
"Z14",
"Z21431",
"Z34776"
],
"Z8K5": "Z21430"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "convert leading binary bit to float64 sign"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "converts a string of \"0\" to positive, and a string of \"1\" to negative"
}
]
}
}
hgyihb47cgbtbch9qyodlqdr1yzbtnh
Z21577
0
47651
272287
171454
2026-05-04T18:23:45Z
YoshiRulz
10156
Added Z34777 to the approved list of implementations
272287
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21577"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6006",
"Z17K2": "Z21577K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sense"
}
]
}
}
],
"Z8K2": "Z6091",
"Z8K3": [
"Z20",
"Z21579"
],
"Z8K4": [
"Z14",
"Z21578",
"Z34777"
],
"Z8K5": "Z21577"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item reference from sense "
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"QID from Lexeme sense",
"Lexeme sense to QID",
"sense to QID",
"Sense to QID",
"Lexeme sense to item reference",
"QID of sense",
"QID of lexeme sense"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns the Wikidata item associated (via P5137) with the lexeme sense"
}
]
}
}
7yhsvvo1syhfpt7tbr3g6izu8f973p4
Z21714
0
47839
272294
185395
2026-05-04T18:29:56Z
YoshiRulz
10156
Removed Z21718 from the approved list of test cases
272294
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21714"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z21714K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "value"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "valeur"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "valore"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z21716",
"Z21717"
],
"Z8K4": [
"Z14",
"Z24513",
"Z21715"
],
"Z8K5": "Z21714"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is negative rational number"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "est-ce un nombre rationnel négatif ?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "è numero razionale negativo"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"è razionale negativo"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si la valeur donnée est un nombre rationnel négatif, sinon \"faux\""
}
]
}
}
bbq78oge0kdiexg2fxvkx8aypt7eluz
Z21721
0
47846
272297
157697
2026-05-04T18:34:20Z
YoshiRulz
10156
Added Z34778 to the approved list of implementations
272297
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21721"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z19677",
"Z17K2": "Z21721K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "value"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "valeur"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z21723",
"Z21724",
"Z21725"
],
"Z8K4": [
"Z14",
"Z21722",
"Z34778"
],
"Z8K5": "Z21721"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is non-negative rational number"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "est-ce un nombre rationnel non négatif ?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si la valeur est un nombre rationnel non négatif, sinon \"faux\""
}
]
}
}
ksuehxfejq84j9k6ldfrwiusr84g8yy
Z21739
0
47865
272302
265614
2026-05-04T18:53:43Z
YoshiRulz
10156
Added Z32318 to the approved list of implementations
272302
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21739"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z21739K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "word"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "mot"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "শব্দ"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z21754",
"Z21755",
"Z21858",
"Z21859",
"Z21884",
"Z21885",
"Z21882",
"Z21876",
"Z21877",
"Z23760",
"Z31053",
"Z31054",
"Z31055",
"Z31058",
"Z31056",
"Z31057",
"Z31059",
"Z31060",
"Z31061",
"Z31062",
"Z31063",
"Z31064",
"Z32988",
"Z33493",
"Z31068",
"Z31069",
"Z31070",
"Z31071",
"Z31072",
"Z31073",
"Z31074",
"Z31075"
],
"Z8K4": [
"Z14",
"Z21875",
"Z32318"
],
"Z8K5": "Z21739"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "an or a? (English)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "« an » ou « a » en anglais ?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "an নাকি a (ইংরেজি)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Indefinite article based on subsequent term",
"a or an?"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "indique si le mot en anglais est précédé par « an » ou « a », exemple « an onion » mais « a carrot »"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "কোনো একটি ইংরেজি শব্দের আগে \"a\" হবে নাকি \"an\" তা নির্ধারন করবে। "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Based on an English word or phrase, returns whether \"a\" or \"an\" should be the indefinite article."
}
]
}
}
a6pqof0wtclnwy9bfe0x4a9koj0ibxc
272303
272302
2026-05-04T18:54:11Z
YoshiRulz
10156
Removed Z21875 from the approved list of implementations
272303
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21739"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z21739K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "word"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "mot"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "শব্দ"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z21754",
"Z21755",
"Z21858",
"Z21859",
"Z21884",
"Z21885",
"Z21882",
"Z21876",
"Z21877",
"Z23760",
"Z31053",
"Z31054",
"Z31055",
"Z31058",
"Z31056",
"Z31057",
"Z31059",
"Z31060",
"Z31061",
"Z31062",
"Z31063",
"Z31064",
"Z32988",
"Z33493",
"Z31068",
"Z31069",
"Z31070",
"Z31071",
"Z31072",
"Z31073",
"Z31074",
"Z31075"
],
"Z8K4": [
"Z14",
"Z32318"
],
"Z8K5": "Z21739"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "an or a? (English)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "« an » ou « a » en anglais ?"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "an নাকি a (ইংরেজি)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"Indefinite article based on subsequent term",
"a or an?"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "indique si le mot en anglais est précédé par « an » ou « a », exemple « an onion » mais « a carrot »"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "কোনো একটি ইংরেজি শব্দের আগে \"a\" হবে নাকি \"an\" তা নির্ধারন করবে। "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Based on an English word or phrase, returns whether \"a\" or \"an\" should be the indefinite article."
}
]
}
}
s1okghy6yyi7s77k3aaut167xxy4rus
Z21740
0
47867
272308
161429
2026-05-04T19:16:13Z
YoshiRulz
10156
Move this to the inner function too
272308
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21740"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32314",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z32314(Z32314K1):\n\texceptions = [\"hour\", \"uni\", \"eu\"]\n\tZ32314K1 = Z32314K1.lower()\n\tan = Z32314K1.startswith((\"a\", \"o\", \"e\", \"i\", \"u\"))\n\tfor i in exceptions:\n\t\tif Z32314K1.startswith(i):\n\t\t\tan = not an\n\t\t\tbreak #shouldn't double flag\n\treturn an"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "an or a?, python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "« an » ou « a » en anglais ?, en Python (1)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
27zb42bfk84ugdgmh947aauhsq6g63d
Talk:Z21617
1
48059
272291
163977
2026-05-04T18:25:34Z
YoshiRulz
10156
Add to category
272291
wikitext
text/x-wiki
[[Category:French]]
[[Category:Functions_with_only_code_implementations]]
== Comments ==
Hi {{u|MolecularPilot}} and thanks a lot for creating this function!
Here is some suggestions to improve this function :
* reword the label to something like "1st group French conjugation"
* return an error for known irregular verbs ending in -er (at least "aller" which is the most common)
* take into account the "small" irregularities:
** for verbs ending in -ger and -cer (like "manger" and "lancer", "nous mangeons" and "nous lançons" for euphonic reasons, 'g' and 'c' becomes 'ge' and 'ç' before a 'a' or a 'o')
** for other more complicated verbs, like those ending in -eter et -eler (not sure the exact rule here)
* add tests (especially for the irregularities)
* not sure how to deal with the orthography (is it pre- or post-1990 orthography? in almost all cases, it's the same but not always)
Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 14:43, 17 January 2025 (UTC)
apz9h5uao7ilxe49vtyz0twr21u2igr
Z21848
0
48209
272331
159457
2026-05-04T20:01:45Z
YoshiRulz
10156
Added Z34789 to the approved list of implementations
272331
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21848"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21848K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "a"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "a"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21848K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "b"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "b"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z21848K3",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "c"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "c"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z20838"
},
"Z8K3": [
"Z20",
"Z21850",
"Z21861"
],
"Z8K4": [
"Z14",
"Z21849",
"Z34789"
],
"Z8K5": "Z21848"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Quadratic equation solver (float64)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "solveur d'équation quadratique (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"quadratic"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "This function approximates the real solutions for quadratic equations."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "la fonction se rapproche des solutions des équations quadratiques"
}
]
}
}
bg3n735qkmb8qu3svz1bai5eav80t8z
Z21850
0
48211
272328
159447
2026-05-04T19:57:16Z
YoshiRulz
10156
Swap out comparison function to use epsilon
272328
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21850"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z21848",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z21848",
"Z21848K1": {
"Z1K1": "Z7",
"Z7K1": "Z20915",
"Z20915K1": "1"
},
"Z21848K2": {
"Z1K1": "Z7",
"Z7K1": "Z20915",
"Z20915K1": "-1"
},
"Z21848K3": {
"Z1K1": "Z7",
"Z7K1": "Z20915",
"Z20915K1": "-1"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z31093",
"Z31093K2": [
"Z20838",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "2783377641436328"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "1063155655502160"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
],
"Z31093K3": {
"Z1K1": "Z7",
"Z7K1": "Z21028",
"Z21028K1": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z21028K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "4"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "2251799813685248"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "x^2 - x - 1 → phi, -(1 - phi)"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "x^2 - x - 1 → phi, -(1 - phi)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
683wwp01vzfd6kfztujktztam87oh0i
Z21875
0
48269
272305
265613
2026-05-04T19:10:29Z
YoshiRulz
10156
Poach this for the inner function, now returns bool
272305
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z21875"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z32314",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z32314(Z32314K1):\n\tword = Z32314K1.split(\" \")[0]\n\timport re\n\t\n\tU_PATTERN = re.compile(r\"^u[bcdfghjklmpqrstvwxyz][aeiou]\")\n\tCASE_SENSITIVE_EXCEPTIONS = {\n\t\t\"Ewe\": True\n\t}\n\tEXCEPTIONS_DICT = {\n\t\tword.lower(): False for word in [ \"NASA\", \"once\", \"one\", \"onesie\", \"Uniat\", \"Uniate\", \"uniaxial\", \"unibody\", \"unibrow\", \"unicameral\", \"UNICEF\", \"unicellular\", \"unicorn\", \"unicycle\", \"unidimensional\", \"unidirectional\", \"unification\", \"unified\", \"unifoliate\", \"unifoliolate\", \"uniform\", \"uniformity\", \"unilateral\", \"unilateralism\", \"unilineal\", \"unilinear\", \"unilingual\", \"unilocular\", \"uninucleate\", \"union\", \"unionism\", \"unionist\", \"unionization\", \"unionized\", \"uniparental\", \"unipolar\", \"unique\", \"unisex\", \"unisexual\", \"unison\", \"unit\", \"unitage\", \"unitard\", \"united\", \"uniter\", \"unitive\", \"unitrust\", \"unity\", \"univalent\", \"univalve\", \"univariate\", \"univerbation\", \"universal\", \"universalism\", \"universalistic\", \"universality\", \"universe\", \"university\", \"univocal\"]\n\t}\n\tEXCEPTIONS_DICT.update({\n\t\tword.lower(): True for word in [\n\t\t\t\"heir\", \"heirloom\", \"herb\", \"heuristic\", \"honest\", \"honestly\", \"honesty\", \"honor\", \"honorarium\", \"honorary\", \"honour\", \"hour\", \"hourly\"\n\t\t]\n\t})\n\tINITIALISM_LETTERS = {\"A\", \"E\", \"F\", \"H\", \"I\", \"L\", \"M\", \"N\", \"O\", \"R\", \"S\", \"X\"}\n\tREGULAR_VOWELS = {\"a\", \"e\", \"i\", \"o\"}\n\tCONSONANTS = set(\"bcdfghjklmnpqrstvwxyz\")\n\n\t# 1: If the word is an empty string, that means it doesn't start with a vowel\n\tif not word:\n\t\treturn False\n\n\t# 2: If the word is a case-sensitive exception, return the match\n\tif word in CASE_SENSITIVE_EXCEPTIONS:\n\t\treturn CASE_SENSITIVE_EXCEPTIONS[word]\n\n\tword_lower = word.lower()\n\n\t# 3: If the word is an exception, return the match\n\tif word_lower in EXCEPTIONS_DICT:\n\t\treturn EXCEPTIONS_DICT[word_lower]\n\n\tfirst_letter = word[0]\n\tfirst_letter_lower = first_letter.lower()\n\n\t# 4: If the word is a number, return what the result would be for its ordinal word(s)\n\tif first_letter == \"8\" or ((word.startswith(\"11\") or word.startswith(\"18\")) and len(word) not in [3, 4]):\n\t\treturn True\n\n\t# 5: If the word is 1 letter, it is likely a letter name\n\tif len(word) == 1:\n\t\treturn first_letter.upper() in INITIALISM_LETTERS\n\t\t\n\t# 6: If the word starts with 2 or more capital letters, it is likely an initialism\n\t#! NOTE: this mishandles acronyms\n\tif first_letter.isupper() and word[1].isupper():\n\t\treturn first_letter.upper() in INITIALISM_LETTERS\n\t\t\n\t# 7: If the word is 3 or more letters long and starts with a capital letter and a period, it is likely an initialism\t\n\tif first_letter.isupper() and len(word) \u003E= 3 and word[1] == \".\":\n\t\treturn first_letter.upper() in INITIALISM_LETTERS\n\n\t# 8: If the word starts with a U, handle it\n\tif first_letter_lower == \"u\":\n\t\treturn not U_PATTERN.match(word_lower)\n\n\t# 9: If the word starts with an eu or ew, handle it\n\tif len(word) \u003E= 3 and (word_lower.startswith(\"eu\") or word_lower.startswith(\"ew\")):\n\t\tif word_lower[2] in CONSONANTS or word_lower == \"ewe\":\n\t\t\treturn False\n\n\t# 10: If the word starts with one of the 4 other vowels, return it\n\tif first_letter_lower in REGULAR_VOWELS:\n\t\treturn True\n\n\treturn False"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Indefinite article from subsequent word, python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "« an » ou « a » en anglais ?, en Python (2)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
34ligkmqhlmcaj9986gt51wv92cfk3s
Talk:Z21682
1
48667
272295
161499
2026-05-04T18:30:18Z
YoshiRulz
10156
Add to category
272295
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
== Additional Digit separators ==
What kind of additional digit separators are from your point of view relevant. As I remember I read about a apostrophe "'" as a separator used in some countries. I looked at the section about digit separators in this [https://en.wikipedia.org/wiki/Decimal_separator#Digit_grouping English Wikipedia] article and there are additional ones to "," and "." listed. From my point of view this examples shows difficulties in being general. It is not possible to cover all possible use cases with one function. This could lead to misinterpretation as in some cases there are Spaces within the number groups. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:42, 29 January 2025 (UTC)
:Yes, I want to remove all separators. So, for example [[Z21997]] works. But the trick is to preserve any radix characters (decimal marks), which is why "." and "," are somewhat special. If you're aware of more characters that are used in the place of a decimal point, let me know, we can try to address them too. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 21:57, 29 January 2025 (UTC)
9x0ov4guipzcvy0cmqyg91gmhx214pm
Talk:Z21599
1
49327
272290
163976
2026-05-04T18:25:02Z
YoshiRulz
10156
Add to category
272290
wikitext
text/x-wiki
[[Category:French]]
[[Category:Functions_with_only_code_implementations]]
banfxsndrkxcg5jvwljula2rn9a94qe
Talk:Z21624
1
49328
272292
163978
2026-05-04T18:25:38Z
YoshiRulz
10156
Add to category
272292
wikitext
text/x-wiki
[[Category:French]]
[[Category:Functions_with_only_code_implementations]]
banfxsndrkxcg5jvwljula2rn9a94qe
Talk:Z21632
1
49329
272293
163979
2026-05-04T18:25:42Z
YoshiRulz
10156
Add to category
272293
wikitext
text/x-wiki
[[Category:French]]
[[Category:Functions_with_only_code_implementations]]
banfxsndrkxcg5jvwljula2rn9a94qe
Z22321
0
49419
272219
164529
2026-05-04T16:18:51Z
YoshiRulz
10156
Disambiguate en label
272219
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z22321"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20902",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22318",
"Z22318K1": {
"Z1K1": "Z7",
"Z7K1": "Z20854",
"Z20854K1": {
"Z1K1": "Z18",
"Z18K1": "Z20902K1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "square root of rational, f64 composition"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "racine carrée, en Composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
mdcsd75bpj7eqh597iqb1lgiijjglqd
Z24900
0
57976
272201
190868
2026-05-04T16:11:01Z
YoshiRulz
10156
Fix typing
272201
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z24900"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20744",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z17111",
"Z17111K1": {
"Z1K1": "Z7",
"Z7K1": "Z22844",
"Z22844K1": {
"Z1K1": "Z18",
"Z18K1": "Z20744K2"
}
},
"Z17111K2": {
"Z1K1": "Z7",
"Z7K1": "Z22844",
"Z22844K1": {
"Z1K1": "Z18",
"Z18K1": "Z20744K1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subtract the julian day numbers"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6p79z0br8bf5jjo5k4wr4jpdsvs9t2g
Talk:Z20788
1
57977
272208
190903
2026-05-04T16:13:30Z
YoshiRulz
10156
Add to category
272208
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
== Should we follow ISO 8601? ==
I think it would be better to use the ISO 6801 standard (YYYY-MM-DD). Not only it is an officially recognised standard, but it is way less likely to misinterpretations (the current d/m/y format could be erroneusly interpreted by people used to the m/d/y format, for example) [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:47, 2 June 2025 (UTC)
:Yes, that is also my preference. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:51, 2 June 2025 (UTC)
7l7bnxqx11aoxrb9pwtye05jvvku9b1
Z26712
0
62078
272329
261688
2026-05-04T19:58:52Z
Hogü-456
617
Removed Z26714 from the approved list of implementations
272329
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z26712"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z26712K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Entität"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subject"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z26712K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Klasse"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "class"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z26713",
"Z26715",
"Z26716",
"Z32403",
"Z32405"
],
"Z8K4": [
"Z14",
"Z32398"
],
"Z8K5": "Z26712"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Deutscher Instanziierungssatz ohne Artikel"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "German instantiating sentence without article"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "# gendered nouns"
}
]
}
}
0r6lnpucr7pck4sz4ubfswb8h3feetb
Wikifunctions:Human languages/Z1002
4
67229
272385
234132
2026-05-05T05:56:48Z
Arlo Barnes
1231
/* Functions */ move from [[WF:RF]]
272385
wikitext
text/x-wiki
{{draft}}
[[File:English language distribution.svg|thumb]]
'''English''' ([[Z1002]], code <code>en</code>) is a West Germanic language which is used as a global lingua franca.
{{z+|Z1002}}
== Functions ==
{{Main|Wikifunctions:Catalogue/Natural language operations/English}}
=== Variants ===
Several variants of English are supported, including:
* {{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]] (a language game derived from English)
* {{Z+|Z1124}} (en-x-simple) — [[../Z1124]]
* {{z+|Z11390}} Verb -> agent noun, e.g. "dance"->"dancer"
* Join English morphemes (extends {{z+|Z13254}} to cases like re + en + able + er + s → re-enablers. {{z+|Z13254}} will correctly join re-enable + ers or re- + enablers, but re + enablers → “renablers” (incorrect). {{z+|Z13275}} tests the Reduce function to produce “detoxification” from a list of four morphemes (orchestrator limit exceeded with five). I doubt we’ll want to derive “toxify” from “toxic”, however.
* Derive lemmas from a form. This is envisaged as the converse of Join English morphemes. The focus would be identifying the base form (the lexeme’s lemma) rather than further segmenting the lemma. For example, “underlay” should return “underlie” (for which it is the past participle) and the noun “underlay” (for which it is the lemma) and (perhaps) the verb “underlay”, which might be the tendency of an unproductive hen or the activity of a carpet-fitter. As this is a purely functional converse, every string will have itself as a possible lemma.
* Generate [[:w:Numeral_prefix|Numerical prefixes]] of various kinds from a natural number input.
* {{z+|Z19499}}
* Intro for geographical feature: Returns a intro sentence for a geographical feature.
** Example 1: The '''Centre for Fine Arts''' is an '''arts center''' on '''Coudenberg - Koudenberg''' in '''Mont des Arts - Kunstberg, City of Brussels''', '''Belgium'''
*** Wikidata label = Centre for Fine Arts
*** {{Property|P31}} = {{Q|Q2190251}}
*** {{Property|P706}} = {{Q|Q13451667}}
*** {{Property|P276}} = {{Q|Q115180808}}
*** {{Property|P131}} = {{Q|Q239}}
*** {{Property|P17}} = {{Q|Q31}}
**Example 2: '''Olympus Mons''' is a '''mons''' on '''Mars''' on '''Tharsis''', '''Amazonis quadrangle''' and '''Tharsis quadrangle'''.
***Wikidata label = Olympus Mons
***{{Property|P31}} = {{Q|Q429088}}
***{{Property|P376}} = {{Q|Q111}}
***{{Property|P706}} = {{Q|Q2170645}}
***{{Property|P276}} = {{Q|Q3054547}}, {{Q|Q3054525}}
**Example 3: '''Princess Elisabeth Antarctica''' is a '''Antarctic research station''' on '''Utsteinen Nunatak''', '''Antarctic Treaty area''', '''Antartica'''
***Wikidata label = Princess Elisabeth Antarctica
***{{Property|P31}} = {{Q|Q749622}}
***{{Property|P706}} = {{Q|Q7754959}}
***{{Property|P131}} = {{Q|Q21590062}}
***{{Property|P17}} = ''none''
***{{Property|P30}} = {{Q|Q51}}
[[category:English| ]]
rtf9os7xnptw51ppzyklnwtccmtkwq1
Z30460
0
70271
272354
259804
2026-05-04T20:54:59Z
Hogü-456
617
272354
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30460"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6091",
"Z17K2": "Z30460K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "item reference"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "reference na položku"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z30460K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "jazyk"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z6095"
},
"Z8K3": [
"Z20",
"Z30461"
],
"Z8K4": [
"Z14",
"Z30467"
],
"Z8K5": "Z30460"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "find lexeme refs for a Wikidata item via P5137"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "najít lexémy odkazující položku Wikidat přes P5137"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Lexembezug zu Wikidata-Datenobjekt über P5137"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"find lexeme references for a Wikidata item via P5137"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns list of lexemes if any"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1062",
"Z11K2": "vrátí seznam referencí na lexémy Wikidat v zadaném jazyce, které přesně odpovídají (P5137) uvedené položce Wikidat"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Gibt die Lexeme in der angegebenen Sprache zurück, welche einen Bezug zum Wikidata-Datenobjekt über P5137 Datenobjekt für diesen Sinn haben"
}
]
}
}
opbw0vrjami863dmm6jt9141zj6q5b6
Z30865
0
71331
272333
241288
2026-05-04T20:13:25Z
YoshiRulz
10156
Clarify en label
272333
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30865"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z30865K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30866",
"Z30909"
],
"Z8K4": [
"Z14",
"Z30867"
],
"Z8K5": "Z30865"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding (object equality)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
j11bq925tj99x8sgyq4czm1jve6iaxb
272337
272333
2026-05-04T20:16:47Z
YoshiRulz
10156
Removed Z30867 from the approved list of implementations
272337
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30865"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z30865K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30866",
"Z30909"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z30865"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding (object equality)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ai97mx83fnr8814cv8msr80wx7h009w
272340
272337
2026-05-04T20:18:12Z
YoshiRulz
10156
Added Z34791 to the approved list of implementations
272340
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30865"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z30865K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30866",
"Z30909"
],
"Z8K4": [
"Z14",
"Z34791"
],
"Z8K5": "Z30865"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding (object equality)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nckmc88qga8sq90gikl5v8e5oz5ouzs
272342
272340
2026-05-04T20:39:58Z
YoshiRulz
10156
Removed Z34791 from the approved list of implementations
272342
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30865"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z30865K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30866",
"Z30909"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z30865"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding (object equality)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ai97mx83fnr8814cv8msr80wx7h009w
272343
272342
2026-05-04T20:40:01Z
YoshiRulz
10156
Added Z34791 to the approved list of implementations
272343
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30865"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z30865K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30866",
"Z30909"
],
"Z8K4": [
"Z14",
"Z34791"
],
"Z8K5": "Z30865"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding (object equality)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nckmc88qga8sq90gikl5v8e5oz5ouzs
272344
272343
2026-05-04T20:40:44Z
YoshiRulz
10156
Removed Z30866 from the approved list of test cases
272344
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30865"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z30865K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30909"
],
"Z8K4": [
"Z14",
"Z34791"
],
"Z8K5": "Z30865"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding (object equality)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
58lho6ylkcwhinrign7ragu5ho83ekw
272347
272344
2026-05-04T20:42:25Z
YoshiRulz
10156
Removed Z30909 from the approved list of test cases
272347
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30865"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z30865K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z34791"
],
"Z8K5": "Z30865"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding (object equality)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
95grhmkeo6mcra1foi0l15cw5y2evdc
Z30866
0
71332
272345
237943
2026-05-04T20:41:36Z
YoshiRulz
10156
Move to inner function
272345
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30866"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34790",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": {
"Z1K1": "Z7",
"Z7K1": "Z22717",
"Z22717K1": "AAAABBBCCDAA"
},
"Z34790K2": "Z22683"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
{
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z6"
},
{
"Z1K1": "Z7",
"Z7K1": "Z30414",
"Z30414K1": {
"Z1K1": "Z13518",
"Z13518K1": "4"
},
"Z30414K2": {
"Z1K1": "Z86",
"Z86K1": {
"Z1K1": "Z13518",
"Z13518K1": "65"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z30414",
"Z30414K1": {
"Z1K1": "Z13518",
"Z13518K1": "3"
},
"Z30414K2": {
"Z1K1": "Z86",
"Z86K1": {
"Z1K1": "Z13518",
"Z13518K1": "66"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z30414",
"Z30414K1": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z30414K2": {
"Z1K1": "Z86",
"Z86K1": {
"Z1K1": "Z13518",
"Z13518K1": "67"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z30414",
"Z30414K1": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z30414K2": {
"Z1K1": "Z86",
"Z86K1": {
"Z1K1": "Z13518",
"Z13518K1": "68"
}
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z30414",
"Z30414K1": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z30414K2": {
"Z1K1": "Z86",
"Z86K1": {
"Z1K1": "Z13518",
"Z13518K1": "65"
}
}
}
],
"Z889K3": "Z19586"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "RLE(\"AAAABBBCCDAA\") == \"4A3B2C1D2A\""
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4xibpz5mm5le885mtnyy9hisfn7kmmo
Z30867
0
71333
272338
241287
2026-05-04T20:17:50Z
YoshiRulz
10156
Move to inner function
272338
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30867"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34790",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z813",
"Z813K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
},
"Z802K2": [
{
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
],
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z810",
"Z810K1": {
"Z1K1": "Z7",
"Z7K1": "Z30414",
"Z30414K1": {
"Z1K1": "Z7",
"Z7K1": "Z31032",
"Z31032K1": {
"Z1K1": "Z7",
"Z7K1": "Z812",
"Z812K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
},
"Z31032K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
},
"Z31032K3": {
"Z1K1": "Z18",
"Z18K1": "Z34790K2"
}
},
"Z30414K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
}
},
"Z810K2": {
"Z1K1": "Z7",
"Z7K1": "Z30865",
"Z30865K1": {
"Z1K1": "Z7",
"Z7K1": "Z13369",
"Z13369K1": {
"Z1K1": "Z7",
"Z7K1": "Z17895",
"Z17895K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
},
"Z13369K2": {
"Z1K1": "Z7",
"Z7K1": "Z31032",
"Z31032K1": {
"Z1K1": "Z7",
"Z7K1": "Z812",
"Z812K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
},
"Z31032K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
},
"Z31032K3": {
"Z1K1": "Z18",
"Z18K1": "Z34790K2"
}
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding, recursive composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6rn4g45av9n3rzrutyjozutocec3vn5
272341
272338
2026-05-04T20:39:07Z
YoshiRulz
10156
Swap out function used for the recursive call
272341
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30867"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34790",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z813",
"Z813K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
},
"Z802K2": [
{
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
],
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z810",
"Z810K1": {
"Z1K1": "Z7",
"Z7K1": "Z30414",
"Z30414K1": {
"Z1K1": "Z7",
"Z7K1": "Z31032",
"Z31032K1": {
"Z1K1": "Z7",
"Z7K1": "Z812",
"Z812K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
},
"Z31032K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
},
"Z31032K3": {
"Z1K1": "Z18",
"Z18K1": "Z34790K2"
}
},
"Z30414K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
}
}
},
"Z810K2": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": {
"Z1K1": "Z7",
"Z7K1": "Z13369",
"Z13369K1": {
"Z1K1": "Z7",
"Z7K1": "Z17895",
"Z17895K1": {
"Z1K1": "Z18",
"Z18K1": "Z34790K1"
}
},
"Z13369K2": {
"Z1K1": "Z7",
"Z7K1": "Z31032",
"Z31032K1": {
"Z1K1": "Z7",
"Z7K1": "Z812",
"Z812K1": {
"Z1K1": "Z18",
"Z18K1": "Z34790K1"
}
},
"Z31032K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z18",
"Z18K1": "Z34790K1"
}
},
"Z31032K3": {
"Z1K1": "Z18",
"Z18K1": "Z34790K2"
}
}
},
"Z34790K2": {
"Z1K1": "Z18",
"Z18K1": "Z34790K2"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding, recursive composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4uodnfc1ik89juo8llob9m50x08zmtv
272351
272341
2026-05-04T20:44:55Z
YoshiRulz
10156
Fix malformed argument references
272351
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30867"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34790",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z813",
"Z813K1": {
"Z1K1": "Z18",
"Z18K1": "Z34790K1"
}
},
"Z802K2": [
{
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
],
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z810",
"Z810K1": {
"Z1K1": "Z7",
"Z7K1": "Z30414",
"Z30414K1": {
"Z1K1": "Z7",
"Z7K1": "Z31032",
"Z31032K1": {
"Z1K1": "Z7",
"Z7K1": "Z812",
"Z812K1": {
"Z1K1": "Z18",
"Z18K1": "Z34790K1"
}
},
"Z31032K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z18",
"Z18K1": "Z34790K1"
}
},
"Z31032K3": {
"Z1K1": "Z18",
"Z18K1": "Z34790K2"
}
},
"Z30414K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z18",
"Z18K1": "Z34790K1"
}
}
},
"Z810K2": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": {
"Z1K1": "Z7",
"Z7K1": "Z13369",
"Z13369K1": {
"Z1K1": "Z7",
"Z7K1": "Z17895",
"Z17895K1": {
"Z1K1": "Z18",
"Z18K1": "Z34790K1"
}
},
"Z13369K2": {
"Z1K1": "Z7",
"Z7K1": "Z31032",
"Z31032K1": {
"Z1K1": "Z7",
"Z7K1": "Z812",
"Z812K1": {
"Z1K1": "Z18",
"Z18K1": "Z34790K1"
}
},
"Z31032K2": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z18",
"Z18K1": "Z34790K1"
}
},
"Z31032K3": {
"Z1K1": "Z18",
"Z18K1": "Z34790K2"
}
}
},
"Z34790K2": {
"Z1K1": "Z18",
"Z18K1": "Z34790K2"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding, recursive composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
dogp87dzmf6he6t2ip58l5kj87dbl83
Z30909
0
71658
272348
238844
2026-05-04T20:43:06Z
YoshiRulz
10156
Move to inner function
272348
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z30909"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34790",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": [
"Z40",
{
"Z1K1": "Z40",
"Z40K1": "Z41"
},
{
"Z1K1": "Z40",
"Z40K1": "Z42"
},
{
"Z1K1": "Z40",
"Z40K1": "Z42"
}
],
"Z34790K2": "Z844"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
{
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z40"
},
{
"Z1K1": "Z7",
"Z7K1": "Z30414",
"Z30414K1": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z30414K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z30414",
"Z30414K1": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"Z30414K2": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
],
"Z889K3": "Z19586"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "RLE([ T, F, F ]) == [ (1, T), (2, F) ]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ts1sv1bi9ez701gbue9uo525cecqamd
Z31038
0
72373
272357
241156
2026-05-04T21:04:24Z
YoshiRulz
10156
Pass comparison function to RLE
272357
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z31038"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z31032",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": {
"Z1K1": "Z18",
"Z18K1": "Z31032K3"
},
"K1": {
"Z1K1": "Z7",
"Z7K1": "Z822",
"Z822K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": {
"Z1K1": "Z18",
"Z18K1": "Z31032K1"
},
"Z34790K2": {
"Z1K1": "Z18",
"Z18K1": "Z31032K3"
}
}
}
},
"K2": {
"Z1K1": "Z18",
"Z18K1": "Z31032K2"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z13578",
"Z13578K1": {
"Z1K1": "Z7",
"Z7K1": "Z821",
"Z821K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": {
"Z1K1": "Z18",
"Z18K1": "Z31032K1"
},
"Z34790K2": {
"Z1K1": "Z18",
"Z18K1": "Z31032K3"
}
}
}
}
},
"Z802K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "index of first mismatch, RLE composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lezmfnjky7ygpx77qkgaasf1e4ooh3x
272358
272357
2026-05-04T21:09:10Z
YoshiRulz
10156
Leave a note
272358
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z31038"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z31032",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": {
"Z1K1": "Z18",
"Z18K1": "Z31032K3"
},
"K1": {
"Z1K1": "Z7",
"Z7K1": "Z822",
"Z822K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": {
"Z1K1": "Z18",
"Z18K1": "Z31032K1"
},
"Z34790K2": {
"Z1K1": "Z18",
"Z18K1": "Z31032K3"
}
}
}
},
"K2": {
"Z1K1": "Z18",
"Z18K1": "Z31032K2"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z13578",
"Z13578K1": {
"Z1K1": "Z7",
"Z7K1": "Z821",
"Z821K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": {
"Z1K1": "Z18",
"Z18K1": "Z31032K1"
},
"Z34790K2": {
"Z1K1": "Z18",
"Z18K1": "Z31032K3"
}
}
}
}
},
"Z802K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "index of first mismatch, RLE composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "ugh the comparison function in the endsWith example isn't usable as RLE's equality function, it needs to be a partial application endsWith(\"ary\")"
}
]
}
}
cj6l539cbqkbb6n96jls4ft0wsc8wot
User:YoshiRulz/Functions that are maybe done
2
73450
272361
271899
2026-05-04T21:14:36Z
YoshiRulz
10156
Add Z19170
272361
wikitext
text/x-wiki
{{phab|T412955}}
<br clear="all" /><hr>
=== {{Z|28217}} ===
tests timing out; connected impl. anyway
* {{Z|28218}}—[https://www.wikifunctions.org/wiki/Z28787?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z28787%22%2C%22Z28787K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13397%22%2C%22Z13397K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22978%22%2C%22Z22978K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6821%22%2C%22Z6821K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q19317%22%7D%7D%2C%22Z22978K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P527%22%7D%7D%2C%22Z13397K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z28755%22%2C%22Z28755K1%22%3A%7B%22Z1K1%22%3A%22Z20159%22%2C%22Z20159K1%22%3A%7B%22Z1K1%22%3A%22Z17813%22%2C%22Z17813K1%22%3A%22Z17814%22%7D%2C%22Z20159K2%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%221966%22%7D%7D%2C%22Z28755K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z873%22%2C%22Z873K1%22%3A%22Z28773%22%2C%22Z873K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z873%22%2C%22Z873K1%22%3A%22Z19308%22%2C%22Z873K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z22839%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z29694%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30172%22%2C%22Z30172K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30248%22%2C%22Z30248K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22978%22%2C%22Z22978K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6821%22%2C%22Z6821K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q19317%22%7D%7D%2C%22Z22978K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P527%22%7D%7D%2C%22Z30248K2%22%3A%5B%22Z6030%22%2C%7B%22Z1K1%22%3A%22Z6030%22%2C%22Z6030K1%22%3A%22Z6036%22%7D%5D%2C%22Z30248K3%22%3A%5B%22Z60%22%5D%2C%22Z30248K4%22%3A%5B%22Z6092%22%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P1346%22%7D%5D%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z23723%22%7D%7D%7D%7D%7D%7D%2C%22Z28787K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P1346%22%7D%7D full call]
** [https://www.wikifunctions.org/wiki/Z28755?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z28755%22%2C%22Z28755K1%22%3A%7B%22Z1K1%22%3A%22Z20159%22%2C%22Z20159K1%22%3A%7B%22Z1K1%22%3A%22Z17813%22%2C%22Z17813K1%22%3A%22Z17814%22%7D%2C%22Z20159K2%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%221966%22%7D%7D%2C%22Z28755K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z873%22%2C%22Z873K1%22%3A%22Z28773%22%2C%22Z873K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z873%22%2C%22Z873K1%22%3A%22Z19308%22%2C%22Z873K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z22839%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z29694%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30172%22%2C%22Z30172K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30248%22%2C%22Z30248K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22978%22%2C%22Z22978K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6821%22%2C%22Z6821K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q19317%22%7D%7D%2C%22Z22978K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P527%22%7D%7D%2C%22Z30248K2%22%3A%5B%22Z6030%22%2C%7B%22Z1K1%22%3A%22Z6030%22%2C%22Z6030K1%22%3A%22Z6036%22%7D%5D%2C%22Z30248K3%22%3A%5B%22Z60%22%5D%2C%22Z30248K4%22%3A%5B%22Z6092%22%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P1346%22%7D%5D%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z23723%22%7D%7D%7D%7D%7D index]
*** [https://www.wikifunctions.org/wiki/Z13464?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z22839%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z29694%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30172%22%2C%22Z30172K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30248%22%2C%22Z30248K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22978%22%2C%22Z22978K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6821%22%2C%22Z6821K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q19317%22%7D%7D%2C%22Z22978K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P527%22%7D%7D%2C%22Z30248K2%22%3A%5B%22Z6030%22%2C%7B%22Z1K1%22%3A%22Z6030%22%2C%22Z6030K1%22%3A%22Z6036%22%7D%5D%2C%22Z30248K3%22%3A%5B%22Z60%22%5D%2C%22Z30248K4%22%3A%5B%22Z6092%22%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P1346%22%7D%5D%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z23723%22%7D%7D singular P585s]
**** [https://www.wikifunctions.org/wiki/Z30248?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30248%22%2C%22Z30248K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22978%22%2C%22Z22978K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6821%22%2C%22Z6821K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q19317%22%7D%7D%2C%22Z22978K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P527%22%7D%7D%2C%22Z30248K2%22%3A%5B%22Z6030%22%2C%7B%22Z1K1%22%3A%22Z6030%22%2C%22Z6030K1%22%3A%22Z6036%22%7D%5D%2C%22Z30248K3%22%3A%5B%22Z60%22%5D%2C%22Z30248K4%22%3A%5B%22Z6092%22%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P1346%22%7D%5D%7D items]
* {{Z|31140}}—[https://www.wikifunctions.org/wiki/Z28787?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z28787%22%2C%22Z28787K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13397%22%2C%22Z13397K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22978%22%2C%22Z22978K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6821%22%2C%22Z6821K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q1317446%22%7D%7D%2C%22Z22978K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P527%22%7D%7D%2C%22Z13397K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z28755%22%2C%22Z28755K1%22%3A%7B%22Z1K1%22%3A%22Z20159%22%2C%22Z20159K1%22%3A%7B%22Z1K1%22%3A%22Z17813%22%2C%22Z17813K1%22%3A%22Z17814%22%7D%2C%22Z20159K2%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%221995%22%7D%7D%2C%22Z28755K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z873%22%2C%22Z873K1%22%3A%22Z28773%22%2C%22Z873K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z873%22%2C%22Z873K1%22%3A%22Z19308%22%2C%22Z873K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z22839%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z29694%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30172%22%2C%22Z30172K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30248%22%2C%22Z30248K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22978%22%2C%22Z22978K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6821%22%2C%22Z6821K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q1317446%22%7D%7D%2C%22Z22978K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P527%22%7D%7D%2C%22Z30248K2%22%3A%5B%22Z6030%22%2C%7B%22Z1K1%22%3A%22Z6030%22%2C%22Z6030K1%22%3A%22Z6036%22%7D%5D%2C%22Z30248K3%22%3A%5B%22Z60%22%5D%2C%22Z30248K4%22%3A%5B%22Z6092%22%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P1346%22%7D%5D%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z23723%22%7D%7D%7D%7D%7D%7D%2C%22Z28787K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P1346%22%7D%7D full call]
** [https://www.wikifunctions.org/wiki/Z28755?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z28755%22%2C%22Z28755K1%22%3A%7B%22Z1K1%22%3A%22Z20159%22%2C%22Z20159K1%22%3A%7B%22Z1K1%22%3A%22Z17813%22%2C%22Z17813K1%22%3A%22Z17814%22%7D%2C%22Z20159K2%22%3A%7B%22Z1K1%22%3A%22Z13518%22%2C%22Z13518K1%22%3A%221995%22%7D%7D%2C%22Z28755K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z873%22%2C%22Z873K1%22%3A%22Z28773%22%2C%22Z873K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z873%22%2C%22Z873K1%22%3A%22Z19308%22%2C%22Z873K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z22839%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z29694%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30172%22%2C%22Z30172K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30248%22%2C%22Z30248K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22978%22%2C%22Z22978K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6821%22%2C%22Z6821K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q1317446%22%7D%7D%2C%22Z22978K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P527%22%7D%7D%2C%22Z30248K2%22%3A%5B%22Z6030%22%2C%7B%22Z1K1%22%3A%22Z6030%22%2C%22Z6030K1%22%3A%22Z6036%22%7D%5D%2C%22Z30248K3%22%3A%5B%22Z60%22%5D%2C%22Z30248K4%22%3A%5B%22Z6092%22%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P1346%22%7D%5D%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z23723%22%7D%7D%7D%7D%7D index]
*** [https://www.wikifunctions.org/wiki/Z13464?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z22839%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z13464%22%2C%22Z13464K1%22%3A%22Z29694%22%2C%22Z13464K2%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30172%22%2C%22Z30172K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30248%22%2C%22Z30248K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22978%22%2C%22Z22978K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6821%22%2C%22Z6821K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q1317446%22%7D%7D%2C%22Z22978K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P527%22%7D%7D%2C%22Z30248K2%22%3A%5B%22Z6030%22%2C%7B%22Z1K1%22%3A%22Z6030%22%2C%22Z6030K1%22%3A%22Z6036%22%7D%5D%2C%22Z30248K3%22%3A%5B%22Z60%22%5D%2C%22Z30248K4%22%3A%5B%22Z6092%22%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P1346%22%7D%5D%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%7D%2C%22Z13464K3%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z23723%22%7D%7D singular P585s]
**** [https://www.wikifunctions.org/wiki/Z30248?call=%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z30248%22%2C%22Z30248K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z22978%22%2C%22Z22978K1%22%3A%7B%22Z1K1%22%3A%22Z7%22%2C%22Z7K1%22%3A%22Z6821%22%2C%22Z6821K1%22%3A%7B%22Z1K1%22%3A%22Z6091%22%2C%22Z6091K1%22%3A%22Q1317446%22%7D%7D%2C%22Z22978K2%22%3A%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P527%22%7D%7D%2C%22Z30248K2%22%3A%5B%22Z6030%22%2C%7B%22Z1K1%22%3A%22Z6030%22%2C%22Z6030K1%22%3A%22Z6036%22%7D%5D%2C%22Z30248K3%22%3A%5B%22Z60%22%5D%2C%22Z30248K4%22%3A%5B%22Z6092%22%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P585%22%7D%2C%7B%22Z1K1%22%3A%22Z6092%22%2C%22Z6092K1%22%3A%22P1346%22%7D%5D%7D items]
=== {{Z|30931}} ===
tests timing out
* {{Z|30932}}
* {{Z|30933}}
* {{Z|30942}}
* {{Z|30947}} passing; trivial
=== {{Z|25052}} ===
test timing out
* {{Z|25053}}
=== {{Z|25054}} ===
test timing out
* {{Z|25055}} passing
* {{Z|25056}}
=== {{Z|29953}} ===
tests timing out
* {{Z|29954}}
* {{Z|29955}} expected failure
* {{Z|29956}}
=== {{Z|29784}} ===
tests timing out
* {{Z|30088}}
* {{Z|30915}}
=== {{Z|30175}} ===
tests timing out
* {{Z|30188}}
* {{Z|30913}}
* {{Z|30958}} passing
=== {{Z|30157}} ===
test timing out
* {{Z|30165}}
* {{Z|30908}} passing; trivial
=== {{Z|30217}} ===
tests timing out
* {{Z|30230}}
* {{Z|30231}}
=== {{Z|27610}} ===
test timing out
* {{Z|27611}}
=== {{Z|30471}} ===
no good tests; {{Z|30853}} would make it easier
=== {{Z|31019}} ===
tests timing out
* {{Z|31022}}
* {{Z|31023}} passing
* {{Z|31024}}
* {{Z|31025}} passing
=== {{Z|31041}} ===
test timing out
* {{Z|31043}}
* {{Z|31044}} passing
=== {{Z|10956}} ===
test timing out, connected anyway
* {{Z|10959}}
* {{Z|10961}} passing
* {{Z|19167}} passing
=== {{Z|10944}} ===
tests timing out, connected anyway
* {{Z|10946}}
* {{Z|10947}}
* {{Z|10948}}
* {{Z|10949}}
* {{Z|10950}}
* {{Z|10951}}
* {{Z|10969}}
=== {{Z|30153}} ===
test timing out
* {{Z|31708}}
=== {{Z|19243}} ===
tests timing out, connected anyway
* {{Z|19251}}
* {{Z|19395}}
* {{Z|21612}}
* {{Z|22814}}
=== {{Z|19170}} ===
tests timing out for RLE impl., connected anyway
* {{Z|19171}}
* {{Z|19172}}
* {{Z|19173}}
* {{Z|19174}}
* {{Z|19176}}
chmic2x3wlx8ohilxj2mdlv171u98lq
Talk:Z21187
1
74433
272260
247318
2026-05-04T17:29:37Z
YoshiRulz
10156
Add to category
272260
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
== 21187 is prime ==
trivia [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 06:09, 29 January 2026 (UTC)
eghkh69cfjt2knf0yf65g6uothq18i7
Category:Functions with only code implementations
14
77021
272408
256696
2026-05-05T06:53:22Z
Arlo Barnes
1231
implementations cat
272408
wikitext
text/x-wiki
{{phab|T404897}}
{{lang|en|Functions should be added here if they have connected Implementations in one or more programming languages, but no working Implementations-by-composition (and no built-in Implementation).}}
[[category:functions]]
[[category:implementations|⚠]]
ekp8lo18a3359fctunp12xjy2qsjp1e
Z32314
0
78509
272306
258845
2026-05-04T19:10:55Z
YoshiRulz
10156
Added Z21875 to the approved list of implementations
272306
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32314"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z32314K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "text"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z32316",
"Z32317"
],
"Z8K4": [
"Z14",
"Z32315",
"Z21875"
],
"Z8K5": "Z32314"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is word or phrase starting with vowel in English"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "see also Z21739 which returns a string."
}
]
}
}
bsxyuwaujewb67vvbfxczukg33kv50q
272307
272306
2026-05-04T19:12:39Z
YoshiRulz
10156
Removed Z32315 from the approved list of implementations
272307
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32314"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z32314K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "text"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z32316",
"Z32317"
],
"Z8K4": [
"Z14",
"Z21875"
],
"Z8K5": "Z32314"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is word or phrase starting with vowel in English"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "see also Z21739 which returns a string."
}
]
}
}
ij7ny387ywhe64hza6a61lgihy03o3u
Z32316
0
78511
272299
258826
2026-05-04T18:52:23Z
YoshiRulz
10156
Add en label
272299
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32316"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32314",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32314",
"Z32314K1": "honest"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"honest\" -\u003E T"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
rrmr36hm1ef5a0aih8wm7tzfyrhwyd5
Z32317
0
78512
272300
258827
2026-05-04T18:52:34Z
YoshiRulz
10156
Add en label
272300
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32317"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32314",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32314",
"Z32314K1": "unique"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z42"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"unique\" -\u003E F"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
e502k54b2596qoile3ompq1hogupm9d
Z32765
0
79162
272374
261006
2026-05-05T04:55:01Z
DMartin (WMF)
24
272374
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z32765"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32757",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32757",
"Z32757K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"hello",
"world"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1113",
"Z31K2": [
"Z6",
"g'day",
"mate"
]
}
],
"Z32757K2": "Z1199"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z32758",
"Z32758K2": {
"Z1K1": "Z31",
"Z31K1": "Z1199",
"Z31K2": [
"Z6"
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "empty stringset returned when language not listed"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
d9gzfs67nof3d8jomr8ro5b4op8t7s4
Talk:Z21587
1
79686
272288
263089
2026-05-04T18:24:56Z
YoshiRulz
10156
Add to category
272288
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
== Weird connected test ==
This function is a bit weird: if you examine the current version of its JSON source, you'll find that it's connected to a "test" that is not a test at all, but a function. See https://phabricator.wikimedia.org/T420733. I'm intentionally not editing it in case someone wants to debug it. [[User:Amire80|Amir E. Aharoni]] ([[User talk:Amire80|talk]]) 01:21, 4 April 2026 (UTC)
a6qujugcc3uhb7e51yai4ko94d6e6rn
Wikifunctions:Project chat/Archive/2026/04
4
80104
272372
272117
2026-05-05T03:08:05Z
SpBot
978
archiving 2 sections from [[Wikifunctions:Project chat]] (after section [[Wikifunctions:Project chat/Archive/2026/04#Wikifunctions_&_Abstract_Wikipedia_Newsletter_#243_is_out:_Community_proposals_for_capturing_meaning|Wikifunctions_&_Abstract_Wikipedia_Newsletter_#243_is_out:_Community_proposals_for_capturing_meaning]])
272372
wikitext
text/x-wiki
{{Talkarchive}}
== Wikifunctions & Abstract Wikipedia Newsletter #242 is out: Request for Discussion: Syntactic tables ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-02|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we introduce a proposal for Natural Language Generation, we introduce a page for function suggestions from Abstract Wikipedia, we inform you that there will be a 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/1776101400 April 13, 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]]) 13:37, 3 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 -->
:<small>This section was archived on a request by: [[User:Mdktb|Mdktb]] ([[User talk:Mdktb|talk]]) 17:13, 10 April 2026 (UTC)</small>
== Special:CreateObject doesn't let me create a typed list ==
Hello. I tried to create a typed list with all English varieties on Wikifunctions, to create consistency between different configs, but [[Special:CreateObject]] doesn't show typed list as an option for creating. Is this a bug or an intentional restriction? [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:24, 2 April 2026 (UTC)
:@[[User:ChaoticVermillion|ChaoticVermillion]]: A typed list is an instance of a function call, which is prohibited as a persisted Object. Maybe you want an enum? See [[Wikifunctions:Type proposals]] for the process for creating such a thing. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 12:01, 2 April 2026 (UTC)
::I don't want any sort of enum for this, I just want a list of English varieties (English, American English, Australian English, etc.) as an object that I can put in configs. I tried making an object as a function call, but apparently I have to be a member of the staff to do it. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 12:07, 2 April 2026 (UTC)
:::I’ve started this with {{Z|Z33034}}. I’m guessing you were trying to create an object of type {{Z|Z7}} rather than an object whose type is a [[Z7]]. There’s a subtle but important difference. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:29, 2 April 2026 (UTC)
::::How do you create a object whose type is a [[Z7]] then? I can't see any option to do this. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 12:32, 2 April 2026 (UTC)
:::::When you are creating an object you must specify its type. By default, the UI expects you to provide a reference to the type, so you can just type in the selector box and click the type you want. For an object like a typed list, the type is specified as a function call, so you click the menu dots beside “type” and choose “function call” instead of “reference”. The selector now allows you to search for functions that can return a type object. You start entering “typed list” and select it in the normal way. Then the UI will allow you to specify the argument to the function call, which is the type shared by all elements in the list. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:12, 2 April 2026 (UTC)
== Unable to use the Z32643 function. ==
I'm trying to use the [[Z32643]] (Article-less multi instantiating fragment) function to edit an article in Abstract Wikipedia, but it looks like it's missing connected implementations, and it looks like i don't have the permissions to connect the function with the implementation and use it in ab.wiki.
Since i'm not familiar with Wikifunctions, i would like to get help for this specific problem.
Thanks. --[[User:Mattiz6276|Mattiz6276]] ([[User talk:Mattiz6276|talk]]) 13:50, 2 April 2026 (UTC)
:@[[User:Mattiz6276|Mattiz6276]]: Hey there, it looks like that's a work-in-progress by @[[User:MetalBreaksAndBends|MetalBreaksAndBends]]. There's only a fall-back implementation, Z32652, which fails its own test for a second item. I can connect the items together but it might not work as you expect? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 14:06, 2 April 2026 (UTC)
::Maybe… I don’t think functions without implementations should be appearing on AW so I have amended the label to avoid giving the impression that this function is available. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:23, 2 April 2026 (UTC)
== Being able to use edit summaries ==
I have wanted to use edit summaries a few times when connecting or disconnecting implementations or tests, and I have found that the only way to do that is to use the [[:User:%D7%9E%D7%A7%D7%A3/wikilambda_editsource.js|wikilambda editsource]] tool. I feel like it would be a lot more convenient to be able to make these edit summaries without having to use that tool. [[User:ChaoticVermillion|ChaoticVermillion]] ([[User talk:ChaoticVermillion|talk]]) 08:40, 3 April 2026 (UTC)
== Definite forms ==
[[Talk:Z32162|I've noticed an incomplete implementation and would like to work on fixing it, but need advice.]] [[User:Ijon|Ijon]] ([[User talk:Ijon|talk]]) 21:05, 3 April 2026 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #243 is out: Community proposals for capturing meaning ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-10|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we report on three community proposals on syntactic approaches, we introduce a new Type (Complex numbers), we report on current hiccups on Abstract Wikipedia, we share more information about a 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/1776101400 April 13, 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]]) 15:35, 10 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 -->
:<small>This section was archived on a request by: [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:12, 3 May 2026 (UTC)</small>
== Wikifunctions & Abstract Wikipedia Newsletter #244 is out: Milestones; Some major issues hopefully resolved ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2026-04-16|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we celebrate 4000 functions on Wikifunctions and 1000 abstract articles on Abstract Wikipedia, we announce that we should have fixed some major issues with the websites, we inform you on our latest outreach activities, 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]]) 10:22, 17 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 -->
:<small>This section was archived on a request by: [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:12, 3 May 2026 (UTC)</small>
fhtdh0nhbvtf3pf6ephv4zudi5ytlxl
Z34678
0
82213
272423
271626
2026-05-05T11:09:37Z
Jsamwrites
938
272423
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34678"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z33024",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z13436",
"Z13436K1": "Z31676",
"Z13436K2": {
"Z1K1": "Z18",
"Z18K1": "Z33024K2"
},
"Z13436K3": {
"Z1K1": "Z18",
"Z18K1": "Z33024K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "label texts for Wikidata items, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
kz9zcu4pacbis6kil9y9firlb2ct9k2
272424
272423
2026-05-05T11:28:43Z
Jsamwrites
938
272424
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34678"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z33024",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z31676",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z33024K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z33024K2"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "label texts for Wikidata items, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4c3zmvqhg6wz9e8vc7tswvew31tib2i
Z34707
0
82282
272359
271864
2026-05-04T21:11:48Z
YoshiRulz
10156
Pass comparison function to RLE
272359
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34707"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z19170",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10174",
"Z10174K1": {
"Z1K1": "Z7",
"Z7K1": "Z24331",
"Z24331K1": {
"Z1K1": "Z18",
"Z18K1": "Z19170K1"
}
},
"Z10174K2": {
"Z1K1": "Z7",
"Z7K1": "Z14416",
"Z14416K1": {
"Z1K1": "Z7",
"Z7K1": "Z31032",
"Z31032K1": {
"Z1K1": "Z7",
"Z7K1": "Z873",
"Z873K1": "Z821",
"Z873K2": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": {
"Z1K1": "Z7",
"Z7K1": "Z22717",
"Z22717K1": {
"Z1K1": "Z18",
"Z18K1": "Z19170K1"
}
},
"Z34790K2": "Z22683"
}
},
"Z31032K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z31032K3": "Z13522"
},
"Z14416K2": {
"Z1K1": "Z7",
"Z7K1": "Z12681",
"Z12681K1": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": {
"Z1K1": "Z7",
"Z7K1": "Z22717",
"Z22717K1": {
"Z1K1": "Z18",
"Z18K1": "Z19170K1"
}
},
"Z34790K2": "Z22683"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "has double letter, RLE composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
b3v6g0o6mvv9m5ktxpo3mtm36xtbjcp
Wikifunctions talk:Status updates/2026-05-02
5
82333
272304
272035
2026-05-04T19:02:24Z
Hogü-456
617
/* What should we count for Abstract Wikipedia */ Reply
272304
wikitext
text/x-wiki
== What should we count for Abstract Wikipedia ==
In my opinion representative metrics for activity of Abstract Wikipedia are
* How many monthly active contributors are there on Abstract Wikipedia? (currently 113, going down a bit from the record at launch, where 163 was reached.)
* How many edits per month do we have on Abstract Wikipedia?
The number of articles or fragments is not representative, as the functions used will not always give a proper sentence, and certainly not for all languages, even if no technical error is shown. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 12:21, 3 May 2026 (UTC)
:I think there should be a count of articles fully rendering grouped by number of languages. With fully rendering I mean available implementations for all languages and also lexemes and forms of them for related items are available. So an article producing not an error and also not going to an fallback. To make sure the output makes sense I think a way to check the articles to be counted is needed. So far I am not sure what is the best way for it. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 19:02, 4 May 2026 (UTC)
== usability metric ==
Seeing how many prose articles on other wikis got ported from abstract articles could be a proxy for what value editors are getting out of the project. I don't know if this is feasible currently. [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 16:50, 3 May 2026 (UTC)
6zwy6x86pck5zr5picwonfcwpm053ht
272407
272304
2026-05-05T06:51:38Z
Arlo Barnes
1231
/* What should we count for Abstract Wikipedia */ Reply
272407
wikitext
text/x-wiki
== What should we count for Abstract Wikipedia ==
In my opinion representative metrics for activity of Abstract Wikipedia are
* How many monthly active contributors are there on Abstract Wikipedia? (currently 113, going down a bit from the record at launch, where 163 was reached.)
* How many edits per month do we have on Abstract Wikipedia?
The number of articles or fragments is not representative, as the functions used will not always give a proper sentence, and certainly not for all languages, even if no technical error is shown. [[User:HenkvD|HenkvD]] ([[User talk:HenkvD|talk]]) 12:21, 3 May 2026 (UTC)
:I think there should be a count of articles fully rendering grouped by number of languages. With fully rendering I mean available implementations for all languages and also lexemes and forms of them for related items are available. So an article producing not an error and also not going to an fallback. To make sure the output makes sense I think a way to check the articles to be counted is needed. So far I am not sure what is the best way for it. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 19:02, 4 May 2026 (UTC)
::[[WF:tests]] are of course useful but also can be misleading if the test cases are not sufficiently well-distributed over the sample space. [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 06:51, 5 May 2026 (UTC)
== usability metric ==
Seeing how many prose articles on other wikis got ported from abstract articles could be a proxy for what value editors are getting out of the project. I don't know if this is feasible currently. [[User:Arlo Barnes|Arlo Barnes]] ([[User talk:Arlo Barnes|talk]]) 16:50, 3 May 2026 (UTC)
2rt2bztag0ywoxdmdi2juvyctaqgvcs
Wikifunctions:Status updates/2026-05-02/de
4
82349
272412
272107
2026-05-05T10:03:44Z
Ameisenigel
44
Created page with "In den vergangenen zwei Wochen gab es mehrere Aktualisierungen zur Verbesserung der Benutzerfreundlichkeit und Verständlichkeit von der Abstrakten Wikipedia und Wikifunctions."
272412
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-04-25
| nextlabel = Nächstes Update
| next =
}}
<span id="Request_for_input:_what_should_we_count_for_Abstract_Wikipedia"></span>
=== Bitte um Anregungen: Was sollten wir für die Abstrakte Wikipedia zählen ===
Wir möchten die Entwicklung der Abstrakten Wikipedia sichtbar machen und bitten daher um Anregungen: Welche Kennzahlen zu Seiten in der Abstrakten Wikipedia hältst du für wichtig?
Hier sind ein paar Ideen für Kennzahlen, aber wir sind sicher, dass dir bessere einfallen werden:
* Wie viele Artikel gibt es in der Abstrakten Wikipedia? (Zum Zeitpunkt der Erstellung dieses Newsletters 1203, eine Zahl, die auf der Startseite der Abstrakten Wikipedia sichtbar veröffentlicht ist.)
* Wie viele monatlich aktive Beitragende gibt es in der Abstrakten Wikipedia? (Derzeit 113, ein leichter Rückgang gegenüber dem Rekordwert von 163 zum Start.)
* Wie viele Bearbeitungen pro Monat gibt es in der Abstrakten Wikipedia?
* Wie viele Fragmente gibt es? (Derzeit 3410) Wie viele Fragmente enthält ein Artikel durchschnittlich? (Derzeit etwa 2,8)
* Welche Fragmente werden am häufigsten verwendet? ({{Z|Z32123}} 1452 Mal, gefolgt von {{Z|Z27868}} 736 Mal und {{Z|Z29749}} 650 Mal)
* Wie viele Artikel in wie vielen Sprachen sind tatsächlich vollständig und fehlerfrei verfügbar?
* Wie viele davon existieren derzeit nicht in den jeweiligen Wikipedias?
* Wie viele Bytes an Ausgabetext werden dadurch erzeugt?
Wir sind jedoch überzeugt, dass dir weitere Vorschläge einfallen werden, und du hast vielleicht auch Gedanken darüber, welche dieser Kennzahlen man im Auge behalten sollte, um ein gesundes Wachstum zu erfassen.
Teile uns deine Meinung mit!
<span id="Recent_Changes_in_the_software"></span>
=== Letzte Änderungen an der Software ===
In den vergangenen zwei Wochen gab es mehrere Aktualisierungen zur Verbesserung der Benutzerfreundlichkeit und Verständlichkeit von der Abstrakten Wikipedia und Wikifunctions.
<div lang="en" dir="ltr" class="mw-content-ltr">
Search and discovery have been improved so contributors can more easily find and recognize content. In Abstract Wikipedia, search suggestions now display Wikidata entity thumbnails alongside results (when available), making it easier to visually identify entities ([[:phab:T423464|T423464]]). In addition, the label search algorithm has been updated to ensure that exact matches are always returned as the first result, addressing cases where known objects or functions were difficult to find ([[:phab:T424211|T424211]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also introduced a more user-friendly way for communities to configure recommended functions. Previously, suggested functions for embedded Wikifunctions and Abstract Wikipedia fragments were managed through JSON pages (MediaWiki:Wikilambda-suggested-functions.json and MediaWiki:Abstractwiki-suggested-functions.json). This has now been replaced with configuration via the CommunityConfiguration special page, making it easier for communities to manage these recommendations ([[:phab:T394410|T394410]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We also fixed several bugs and made some display improvements. We fixed a bug in the test results caching system where sometimes tests appeared as failing when they should have been passing ([[:phab:T422300|T422300]]). A bug in copy/paste functionality has been fixed, which sometimes caused issues when copying blocks with undefined references. Another fix ensures that when publishing function definition changes, connected implementations and tests are properly disconnected when required.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When it comes to improved displays; the composition formatting has been improved so that line breaks occur at word separators. ([[:phab:T421959|T421959]]). We also fixed a bug to ensure the Typed List label is fetched as part of the page initialization so that it's not displayed as a zid ([[:phab:T422094|T422094]]). And on Abstract Wikipedia we improved how content is displayed in the preview. The preview box no longer inserts unwelcome line spacing when fragments are defined as paragraphs (<nowiki><p></nowiki>), resulting in more accurate spacing ([[:phab:T424041|T424041]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have quoted the type in the filter box of the ListObjectsByType Special page, to add clarity in cases such as "All Objects of type 'Type' (Z4)" - [[Special:ListObjectsByType/Z4|see example]] ([[:phab:T377649|T377649]]), and the language selector now correctly displays the selected language name even for non mediawiki supported languages ([[:phab:T417211|T417211]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Updates about V2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have reverted one change related to the recent deployment of "Composition Language v2" (which was introduced in the [[Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|11 March newsletter]]). Prior to v2, arguments going to code implementations were generally fully resolved. Updates related to v2 changed that, so that arguments were only resolved at the top level; nested parts of arguments didn't necessarily get resolved. The reversion means that once again, arguments going to code implementations will be fully resolved.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This makes sense as a default, because once an argument gets passed to a code implementation, it's impossible to explicitly ask for the resolution of any part of it. However, there is also a competing principle that, in general, arguments are not guaranteed to present themselves as literals (or as references) all the time, so all implementations should ideally allow for both forms of arguments coming in, by using equality functions that can recognize when a reference and a literal are equivalent. Since this is currently difficult or impossible in code implementations, we decided this reversion is the best way to go for now.
</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] (moved a week due to the [[:mw:Special:MyLanguage/Wikimedia Hackathon 2026|Wikimedia Hackathon]]). 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 either write a function together or work on an Abstract Wikipedia article together (volunteer-led). 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: 81 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 81 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|Z33778}}
* {{Z|Z33780}}
* {{Z|Z33785}}
* {{Z|Z33788}}
* {{Z|Z33797}}
* {{Z|Z33808}}
* {{Z|Z33818}}
* {{Z|Z33823}}
* {{Z|Z33828}}
* {{Z|Z33831}}
* {{Z|Z33836}}
* {{Z|Z33842}}
* {{Z|Z33844}}
* {{Z|Z33848}}
* {{Z|Z33862}}
* {{Z|Z33876}}
* {{Z|Z33878}}
* {{Z|Z33880}}
* {{Z|Z33890}}
* {{Z|Z33895}}
* {{Z|Z33902}}
* {{Z|Z33933}}
* {{Z|Z33951}}
* {{Z|Z33955}}
* {{Z|Z33975}}
* {{Z|Z33977}}
* {{Z|Z33983}}
* {{Z|Z33986}}
* {{Z|Z33999}}
* {{Z|Z34008}}
* {{Z|Z34009}}
* {{Z|Z34039}}
* {{Z|Z34060}}
* {{Z|Z34070}}
* {{Z|Z34072}}
* {{Z|Z34077}}
* {{Z|Z34084}}
* {{Z|Z34096}}
* {{Z|Z34105}}
* {{Z|Z34124}}
* {{Z|Z34127}}
* {{Z|Z34132}}
* {{Z|Z34139}}
* {{Z|Z34178}}
* {{Z|Z34197}}
* {{Z|Z34200}}
* {{Z|Z34204}}
* {{Z|Z34209}}
* {{Z|Z34212}}
* {{Z|Z34218}}
* {{Z|Z34250}}
* {{Z|Z34253}}
* {{Z|Z34257}}
* {{Z|Z34263}}
* {{Z|Z34273}}
<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-02]]
87orhkjuhnw7omudtdg1jpnkwdbs64u
272414
272412
2026-05-05T10:06:22Z
Ameisenigel
44
Created page with "Die Such- und Entdeckungsfunktionen wurden verbessert, sodass Beitragende Inhalte leichter finden und erkennen können. In der Abstrakten Wikipedia werden nun neben den Suchergebnissen Vorschaubilder der Wikidata-Entitäten angezeigt (sofern verfügbar), was die visuelle Identifizierung von Entitäten erleichtert ($1). Darüber hinaus wurde der Algorithmus für die Suche von Bezeichnungen aktualisiert, um sicherzustellen, dass exakte Übereinstimmungen immer als erstes E..."
272414
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-04-25
| nextlabel = Nächstes Update
| next =
}}
<span id="Request_for_input:_what_should_we_count_for_Abstract_Wikipedia"></span>
=== Bitte um Anregungen: Was sollten wir für die Abstrakte Wikipedia zählen ===
Wir möchten die Entwicklung der Abstrakten Wikipedia sichtbar machen und bitten daher um Anregungen: Welche Kennzahlen zu Seiten in der Abstrakten Wikipedia hältst du für wichtig?
Hier sind ein paar Ideen für Kennzahlen, aber wir sind sicher, dass dir bessere einfallen werden:
* Wie viele Artikel gibt es in der Abstrakten Wikipedia? (Zum Zeitpunkt der Erstellung dieses Newsletters 1203, eine Zahl, die auf der Startseite der Abstrakten Wikipedia sichtbar veröffentlicht ist.)
* Wie viele monatlich aktive Beitragende gibt es in der Abstrakten Wikipedia? (Derzeit 113, ein leichter Rückgang gegenüber dem Rekordwert von 163 zum Start.)
* Wie viele Bearbeitungen pro Monat gibt es in der Abstrakten Wikipedia?
* Wie viele Fragmente gibt es? (Derzeit 3410) Wie viele Fragmente enthält ein Artikel durchschnittlich? (Derzeit etwa 2,8)
* Welche Fragmente werden am häufigsten verwendet? ({{Z|Z32123}} 1452 Mal, gefolgt von {{Z|Z27868}} 736 Mal und {{Z|Z29749}} 650 Mal)
* Wie viele Artikel in wie vielen Sprachen sind tatsächlich vollständig und fehlerfrei verfügbar?
* Wie viele davon existieren derzeit nicht in den jeweiligen Wikipedias?
* Wie viele Bytes an Ausgabetext werden dadurch erzeugt?
Wir sind jedoch überzeugt, dass dir weitere Vorschläge einfallen werden, und du hast vielleicht auch Gedanken darüber, welche dieser Kennzahlen man im Auge behalten sollte, um ein gesundes Wachstum zu erfassen.
Teile uns deine Meinung mit!
<span id="Recent_Changes_in_the_software"></span>
=== Letzte Änderungen an der Software ===
In den vergangenen zwei Wochen gab es mehrere Aktualisierungen zur Verbesserung der Benutzerfreundlichkeit und Verständlichkeit von der Abstrakten Wikipedia und Wikifunctions.
Die Such- und Entdeckungsfunktionen wurden verbessert, sodass Beitragende Inhalte leichter finden und erkennen können. In der Abstrakten Wikipedia werden nun neben den Suchergebnissen Vorschaubilder der Wikidata-Entitäten angezeigt (sofern verfügbar), was die visuelle Identifizierung von Entitäten erleichtert ([[:phab:T423464|T423464]]). Darüber hinaus wurde der Algorithmus für die Suche von Bezeichnungen aktualisiert, um sicherzustellen, dass exakte Übereinstimmungen immer als erstes Ergebnis angezeigt werden. Dies behebt Fälle, in denen bekannte Objekte oder Funktionen schwer zu finden waren ([[:phab:T424211|T424211]]).
<div lang="en" dir="ltr" class="mw-content-ltr">
We have also introduced a more user-friendly way for communities to configure recommended functions. Previously, suggested functions for embedded Wikifunctions and Abstract Wikipedia fragments were managed through JSON pages (MediaWiki:Wikilambda-suggested-functions.json and MediaWiki:Abstractwiki-suggested-functions.json). This has now been replaced with configuration via the CommunityConfiguration special page, making it easier for communities to manage these recommendations ([[:phab:T394410|T394410]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We also fixed several bugs and made some display improvements. We fixed a bug in the test results caching system where sometimes tests appeared as failing when they should have been passing ([[:phab:T422300|T422300]]). A bug in copy/paste functionality has been fixed, which sometimes caused issues when copying blocks with undefined references. Another fix ensures that when publishing function definition changes, connected implementations and tests are properly disconnected when required.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When it comes to improved displays; the composition formatting has been improved so that line breaks occur at word separators. ([[:phab:T421959|T421959]]). We also fixed a bug to ensure the Typed List label is fetched as part of the page initialization so that it's not displayed as a zid ([[:phab:T422094|T422094]]). And on Abstract Wikipedia we improved how content is displayed in the preview. The preview box no longer inserts unwelcome line spacing when fragments are defined as paragraphs (<nowiki><p></nowiki>), resulting in more accurate spacing ([[:phab:T424041|T424041]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have quoted the type in the filter box of the ListObjectsByType Special page, to add clarity in cases such as "All Objects of type 'Type' (Z4)" - [[Special:ListObjectsByType/Z4|see example]] ([[:phab:T377649|T377649]]), and the language selector now correctly displays the selected language name even for non mediawiki supported languages ([[:phab:T417211|T417211]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Updates about V2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have reverted one change related to the recent deployment of "Composition Language v2" (which was introduced in the [[Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|11 March newsletter]]). Prior to v2, arguments going to code implementations were generally fully resolved. Updates related to v2 changed that, so that arguments were only resolved at the top level; nested parts of arguments didn't necessarily get resolved. The reversion means that once again, arguments going to code implementations will be fully resolved.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This makes sense as a default, because once an argument gets passed to a code implementation, it's impossible to explicitly ask for the resolution of any part of it. However, there is also a competing principle that, in general, arguments are not guaranteed to present themselves as literals (or as references) all the time, so all implementations should ideally allow for both forms of arguments coming in, by using equality functions that can recognize when a reference and a literal are equivalent. Since this is currently difficult or impossible in code implementations, we decided this reversion is the best way to go for now.
</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] (moved a week due to the [[:mw:Special:MyLanguage/Wikimedia Hackathon 2026|Wikimedia Hackathon]]). 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 either write a function together or work on an Abstract Wikipedia article together (volunteer-led). 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: 81 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 81 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|Z33778}}
* {{Z|Z33780}}
* {{Z|Z33785}}
* {{Z|Z33788}}
* {{Z|Z33797}}
* {{Z|Z33808}}
* {{Z|Z33818}}
* {{Z|Z33823}}
* {{Z|Z33828}}
* {{Z|Z33831}}
* {{Z|Z33836}}
* {{Z|Z33842}}
* {{Z|Z33844}}
* {{Z|Z33848}}
* {{Z|Z33862}}
* {{Z|Z33876}}
* {{Z|Z33878}}
* {{Z|Z33880}}
* {{Z|Z33890}}
* {{Z|Z33895}}
* {{Z|Z33902}}
* {{Z|Z33933}}
* {{Z|Z33951}}
* {{Z|Z33955}}
* {{Z|Z33975}}
* {{Z|Z33977}}
* {{Z|Z33983}}
* {{Z|Z33986}}
* {{Z|Z33999}}
* {{Z|Z34008}}
* {{Z|Z34009}}
* {{Z|Z34039}}
* {{Z|Z34060}}
* {{Z|Z34070}}
* {{Z|Z34072}}
* {{Z|Z34077}}
* {{Z|Z34084}}
* {{Z|Z34096}}
* {{Z|Z34105}}
* {{Z|Z34124}}
* {{Z|Z34127}}
* {{Z|Z34132}}
* {{Z|Z34139}}
* {{Z|Z34178}}
* {{Z|Z34197}}
* {{Z|Z34200}}
* {{Z|Z34204}}
* {{Z|Z34209}}
* {{Z|Z34212}}
* {{Z|Z34218}}
* {{Z|Z34250}}
* {{Z|Z34253}}
* {{Z|Z34257}}
* {{Z|Z34263}}
* {{Z|Z34273}}
<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-02]]
7xutyt21n6gyfrnliibwdb0bh71dapb
272416
272414
2026-05-05T10:08:12Z
Ameisenigel
44
Created page with "Wir haben außerdem eine benutzerfreundlichere Methode für Communitys eingeführt, um empfohlene Funktionen zu konfigurieren. Bisher wurden die vorgeschlagenen Funktionen für eingebettete Fragmente von Wikifunctions und der Abstrakten Wikipedia über JSON-Seiten (MediaWiki:Wikilambda-suggested-functions.json und MediaWiki:Abstractwiki-suggested-functions.json) verwaltet. Dies wurde nun durch die Konfiguration über die Spezialseite Community-Konfiguration ersetzt, wodu..."
272416
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-04-25
| nextlabel = Nächstes Update
| next =
}}
<span id="Request_for_input:_what_should_we_count_for_Abstract_Wikipedia"></span>
=== Bitte um Anregungen: Was sollten wir für die Abstrakte Wikipedia zählen ===
Wir möchten die Entwicklung der Abstrakten Wikipedia sichtbar machen und bitten daher um Anregungen: Welche Kennzahlen zu Seiten in der Abstrakten Wikipedia hältst du für wichtig?
Hier sind ein paar Ideen für Kennzahlen, aber wir sind sicher, dass dir bessere einfallen werden:
* Wie viele Artikel gibt es in der Abstrakten Wikipedia? (Zum Zeitpunkt der Erstellung dieses Newsletters 1203, eine Zahl, die auf der Startseite der Abstrakten Wikipedia sichtbar veröffentlicht ist.)
* Wie viele monatlich aktive Beitragende gibt es in der Abstrakten Wikipedia? (Derzeit 113, ein leichter Rückgang gegenüber dem Rekordwert von 163 zum Start.)
* Wie viele Bearbeitungen pro Monat gibt es in der Abstrakten Wikipedia?
* Wie viele Fragmente gibt es? (Derzeit 3410) Wie viele Fragmente enthält ein Artikel durchschnittlich? (Derzeit etwa 2,8)
* Welche Fragmente werden am häufigsten verwendet? ({{Z|Z32123}} 1452 Mal, gefolgt von {{Z|Z27868}} 736 Mal und {{Z|Z29749}} 650 Mal)
* Wie viele Artikel in wie vielen Sprachen sind tatsächlich vollständig und fehlerfrei verfügbar?
* Wie viele davon existieren derzeit nicht in den jeweiligen Wikipedias?
* Wie viele Bytes an Ausgabetext werden dadurch erzeugt?
Wir sind jedoch überzeugt, dass dir weitere Vorschläge einfallen werden, und du hast vielleicht auch Gedanken darüber, welche dieser Kennzahlen man im Auge behalten sollte, um ein gesundes Wachstum zu erfassen.
Teile uns deine Meinung mit!
<span id="Recent_Changes_in_the_software"></span>
=== Letzte Änderungen an der Software ===
In den vergangenen zwei Wochen gab es mehrere Aktualisierungen zur Verbesserung der Benutzerfreundlichkeit und Verständlichkeit von der Abstrakten Wikipedia und Wikifunctions.
Die Such- und Entdeckungsfunktionen wurden verbessert, sodass Beitragende Inhalte leichter finden und erkennen können. In der Abstrakten Wikipedia werden nun neben den Suchergebnissen Vorschaubilder der Wikidata-Entitäten angezeigt (sofern verfügbar), was die visuelle Identifizierung von Entitäten erleichtert ([[:phab:T423464|T423464]]). Darüber hinaus wurde der Algorithmus für die Suche von Bezeichnungen aktualisiert, um sicherzustellen, dass exakte Übereinstimmungen immer als erstes Ergebnis angezeigt werden. Dies behebt Fälle, in denen bekannte Objekte oder Funktionen schwer zu finden waren ([[:phab:T424211|T424211]]).
Wir haben außerdem eine benutzerfreundlichere Methode für Communitys eingeführt, um empfohlene Funktionen zu konfigurieren. Bisher wurden die vorgeschlagenen Funktionen für eingebettete Fragmente von Wikifunctions und der Abstrakten Wikipedia über JSON-Seiten (MediaWiki:Wikilambda-suggested-functions.json und MediaWiki:Abstractwiki-suggested-functions.json) verwaltet. Dies wurde nun durch die Konfiguration über die Spezialseite Community-Konfiguration ersetzt, wodurch die Verwaltung dieser Empfehlungen für Communitys vereinfacht wird ([[:phab:T394410|T394410]]).
<div lang="en" dir="ltr" class="mw-content-ltr">
We also fixed several bugs and made some display improvements. We fixed a bug in the test results caching system where sometimes tests appeared as failing when they should have been passing ([[:phab:T422300|T422300]]). A bug in copy/paste functionality has been fixed, which sometimes caused issues when copying blocks with undefined references. Another fix ensures that when publishing function definition changes, connected implementations and tests are properly disconnected when required.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
When it comes to improved displays; the composition formatting has been improved so that line breaks occur at word separators. ([[:phab:T421959|T421959]]). We also fixed a bug to ensure the Typed List label is fetched as part of the page initialization so that it's not displayed as a zid ([[:phab:T422094|T422094]]). And on Abstract Wikipedia we improved how content is displayed in the preview. The preview box no longer inserts unwelcome line spacing when fragments are defined as paragraphs (<nowiki><p></nowiki>), resulting in more accurate spacing ([[:phab:T424041|T424041]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have quoted the type in the filter box of the ListObjectsByType Special page, to add clarity in cases such as "All Objects of type 'Type' (Z4)" - [[Special:ListObjectsByType/Z4|see example]] ([[:phab:T377649|T377649]]), and the language selector now correctly displays the selected language name even for non mediawiki supported languages ([[:phab:T417211|T417211]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Updates about V2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have reverted one change related to the recent deployment of "Composition Language v2" (which was introduced in the [[Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|11 March newsletter]]). Prior to v2, arguments going to code implementations were generally fully resolved. Updates related to v2 changed that, so that arguments were only resolved at the top level; nested parts of arguments didn't necessarily get resolved. The reversion means that once again, arguments going to code implementations will be fully resolved.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This makes sense as a default, because once an argument gets passed to a code implementation, it's impossible to explicitly ask for the resolution of any part of it. However, there is also a competing principle that, in general, arguments are not guaranteed to present themselves as literals (or as references) all the time, so all implementations should ideally allow for both forms of arguments coming in, by using equality functions that can recognize when a reference and a literal are equivalent. Since this is currently difficult or impossible in code implementations, we decided this reversion is the best way to go for now.
</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] (moved a week due to the [[:mw:Special:MyLanguage/Wikimedia Hackathon 2026|Wikimedia Hackathon]]). 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 either write a function together or work on an Abstract Wikipedia article together (volunteer-led). 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: 81 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 81 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|Z33778}}
* {{Z|Z33780}}
* {{Z|Z33785}}
* {{Z|Z33788}}
* {{Z|Z33797}}
* {{Z|Z33808}}
* {{Z|Z33818}}
* {{Z|Z33823}}
* {{Z|Z33828}}
* {{Z|Z33831}}
* {{Z|Z33836}}
* {{Z|Z33842}}
* {{Z|Z33844}}
* {{Z|Z33848}}
* {{Z|Z33862}}
* {{Z|Z33876}}
* {{Z|Z33878}}
* {{Z|Z33880}}
* {{Z|Z33890}}
* {{Z|Z33895}}
* {{Z|Z33902}}
* {{Z|Z33933}}
* {{Z|Z33951}}
* {{Z|Z33955}}
* {{Z|Z33975}}
* {{Z|Z33977}}
* {{Z|Z33983}}
* {{Z|Z33986}}
* {{Z|Z33999}}
* {{Z|Z34008}}
* {{Z|Z34009}}
* {{Z|Z34039}}
* {{Z|Z34060}}
* {{Z|Z34070}}
* {{Z|Z34072}}
* {{Z|Z34077}}
* {{Z|Z34084}}
* {{Z|Z34096}}
* {{Z|Z34105}}
* {{Z|Z34124}}
* {{Z|Z34127}}
* {{Z|Z34132}}
* {{Z|Z34139}}
* {{Z|Z34178}}
* {{Z|Z34197}}
* {{Z|Z34200}}
* {{Z|Z34204}}
* {{Z|Z34209}}
* {{Z|Z34212}}
* {{Z|Z34218}}
* {{Z|Z34250}}
* {{Z|Z34253}}
* {{Z|Z34257}}
* {{Z|Z34263}}
* {{Z|Z34273}}
<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-02]]
cmmcgekplenmoi92g3we7hyb4t5l4in
272418
272416
2026-05-05T10:09:55Z
Ameisenigel
44
Created page with "Wir haben außerdem mehrere Fehler behoben und die Darstellung verbessert. Ein Fehler im Testergebnis-Caching-System wurde behoben, der dazu führte, dass Tests fälschlicherweise als fehlgeschlagen angezeigt wurden ($1). Ein Fehler in der Kopier-/Einfügefunktion, der beim Kopieren von Blöcken mit undefinierten Referenzen gelegentlich Probleme verursachte, wurde ebenfalls behoben. Eine weitere Korrektur stellt sicher, dass beim Veröffentlichen von Funktionsdefinitions..."
272418
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-04-25
| nextlabel = Nächstes Update
| next =
}}
<span id="Request_for_input:_what_should_we_count_for_Abstract_Wikipedia"></span>
=== Bitte um Anregungen: Was sollten wir für die Abstrakte Wikipedia zählen ===
Wir möchten die Entwicklung der Abstrakten Wikipedia sichtbar machen und bitten daher um Anregungen: Welche Kennzahlen zu Seiten in der Abstrakten Wikipedia hältst du für wichtig?
Hier sind ein paar Ideen für Kennzahlen, aber wir sind sicher, dass dir bessere einfallen werden:
* Wie viele Artikel gibt es in der Abstrakten Wikipedia? (Zum Zeitpunkt der Erstellung dieses Newsletters 1203, eine Zahl, die auf der Startseite der Abstrakten Wikipedia sichtbar veröffentlicht ist.)
* Wie viele monatlich aktive Beitragende gibt es in der Abstrakten Wikipedia? (Derzeit 113, ein leichter Rückgang gegenüber dem Rekordwert von 163 zum Start.)
* Wie viele Bearbeitungen pro Monat gibt es in der Abstrakten Wikipedia?
* Wie viele Fragmente gibt es? (Derzeit 3410) Wie viele Fragmente enthält ein Artikel durchschnittlich? (Derzeit etwa 2,8)
* Welche Fragmente werden am häufigsten verwendet? ({{Z|Z32123}} 1452 Mal, gefolgt von {{Z|Z27868}} 736 Mal und {{Z|Z29749}} 650 Mal)
* Wie viele Artikel in wie vielen Sprachen sind tatsächlich vollständig und fehlerfrei verfügbar?
* Wie viele davon existieren derzeit nicht in den jeweiligen Wikipedias?
* Wie viele Bytes an Ausgabetext werden dadurch erzeugt?
Wir sind jedoch überzeugt, dass dir weitere Vorschläge einfallen werden, und du hast vielleicht auch Gedanken darüber, welche dieser Kennzahlen man im Auge behalten sollte, um ein gesundes Wachstum zu erfassen.
Teile uns deine Meinung mit!
<span id="Recent_Changes_in_the_software"></span>
=== Letzte Änderungen an der Software ===
In den vergangenen zwei Wochen gab es mehrere Aktualisierungen zur Verbesserung der Benutzerfreundlichkeit und Verständlichkeit von der Abstrakten Wikipedia und Wikifunctions.
Die Such- und Entdeckungsfunktionen wurden verbessert, sodass Beitragende Inhalte leichter finden und erkennen können. In der Abstrakten Wikipedia werden nun neben den Suchergebnissen Vorschaubilder der Wikidata-Entitäten angezeigt (sofern verfügbar), was die visuelle Identifizierung von Entitäten erleichtert ([[:phab:T423464|T423464]]). Darüber hinaus wurde der Algorithmus für die Suche von Bezeichnungen aktualisiert, um sicherzustellen, dass exakte Übereinstimmungen immer als erstes Ergebnis angezeigt werden. Dies behebt Fälle, in denen bekannte Objekte oder Funktionen schwer zu finden waren ([[:phab:T424211|T424211]]).
Wir haben außerdem eine benutzerfreundlichere Methode für Communitys eingeführt, um empfohlene Funktionen zu konfigurieren. Bisher wurden die vorgeschlagenen Funktionen für eingebettete Fragmente von Wikifunctions und der Abstrakten Wikipedia über JSON-Seiten (MediaWiki:Wikilambda-suggested-functions.json und MediaWiki:Abstractwiki-suggested-functions.json) verwaltet. Dies wurde nun durch die Konfiguration über die Spezialseite Community-Konfiguration ersetzt, wodurch die Verwaltung dieser Empfehlungen für Communitys vereinfacht wird ([[:phab:T394410|T394410]]).
Wir haben außerdem mehrere Fehler behoben und die Darstellung verbessert. Ein Fehler im Testergebnis-Caching-System wurde behoben, der dazu führte, dass Tests fälschlicherweise als fehlgeschlagen angezeigt wurden ([[:phab:T422300|T422300]]). Ein Fehler in der Kopier-/Einfügefunktion, der beim Kopieren von Blöcken mit undefinierten Referenzen gelegentlich Probleme verursachte, wurde ebenfalls behoben. Eine weitere Korrektur stellt sicher, dass beim Veröffentlichen von Funktionsdefinitionsänderungen verbundene Implementierungen und Tests bei Bedarf ordnungsgemäß getrennt werden.
<div lang="en" dir="ltr" class="mw-content-ltr">
When it comes to improved displays; the composition formatting has been improved so that line breaks occur at word separators. ([[:phab:T421959|T421959]]). We also fixed a bug to ensure the Typed List label is fetched as part of the page initialization so that it's not displayed as a zid ([[:phab:T422094|T422094]]). And on Abstract Wikipedia we improved how content is displayed in the preview. The preview box no longer inserts unwelcome line spacing when fragments are defined as paragraphs (<nowiki><p></nowiki>), resulting in more accurate spacing ([[:phab:T424041|T424041]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have quoted the type in the filter box of the ListObjectsByType Special page, to add clarity in cases such as "All Objects of type 'Type' (Z4)" - [[Special:ListObjectsByType/Z4|see example]] ([[:phab:T377649|T377649]]), and the language selector now correctly displays the selected language name even for non mediawiki supported languages ([[:phab:T417211|T417211]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Updates about V2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have reverted one change related to the recent deployment of "Composition Language v2" (which was introduced in the [[Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|11 March newsletter]]). Prior to v2, arguments going to code implementations were generally fully resolved. Updates related to v2 changed that, so that arguments were only resolved at the top level; nested parts of arguments didn't necessarily get resolved. The reversion means that once again, arguments going to code implementations will be fully resolved.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This makes sense as a default, because once an argument gets passed to a code implementation, it's impossible to explicitly ask for the resolution of any part of it. However, there is also a competing principle that, in general, arguments are not guaranteed to present themselves as literals (or as references) all the time, so all implementations should ideally allow for both forms of arguments coming in, by using equality functions that can recognize when a reference and a literal are equivalent. Since this is currently difficult or impossible in code implementations, we decided this reversion is the best way to go for now.
</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] (moved a week due to the [[:mw:Special:MyLanguage/Wikimedia Hackathon 2026|Wikimedia Hackathon]]). 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 either write a function together or work on an Abstract Wikipedia article together (volunteer-led). 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: 81 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 81 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|Z33778}}
* {{Z|Z33780}}
* {{Z|Z33785}}
* {{Z|Z33788}}
* {{Z|Z33797}}
* {{Z|Z33808}}
* {{Z|Z33818}}
* {{Z|Z33823}}
* {{Z|Z33828}}
* {{Z|Z33831}}
* {{Z|Z33836}}
* {{Z|Z33842}}
* {{Z|Z33844}}
* {{Z|Z33848}}
* {{Z|Z33862}}
* {{Z|Z33876}}
* {{Z|Z33878}}
* {{Z|Z33880}}
* {{Z|Z33890}}
* {{Z|Z33895}}
* {{Z|Z33902}}
* {{Z|Z33933}}
* {{Z|Z33951}}
* {{Z|Z33955}}
* {{Z|Z33975}}
* {{Z|Z33977}}
* {{Z|Z33983}}
* {{Z|Z33986}}
* {{Z|Z33999}}
* {{Z|Z34008}}
* {{Z|Z34009}}
* {{Z|Z34039}}
* {{Z|Z34060}}
* {{Z|Z34070}}
* {{Z|Z34072}}
* {{Z|Z34077}}
* {{Z|Z34084}}
* {{Z|Z34096}}
* {{Z|Z34105}}
* {{Z|Z34124}}
* {{Z|Z34127}}
* {{Z|Z34132}}
* {{Z|Z34139}}
* {{Z|Z34178}}
* {{Z|Z34197}}
* {{Z|Z34200}}
* {{Z|Z34204}}
* {{Z|Z34209}}
* {{Z|Z34212}}
* {{Z|Z34218}}
* {{Z|Z34250}}
* {{Z|Z34253}}
* {{Z|Z34257}}
* {{Z|Z34263}}
* {{Z|Z34273}}
<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-02]]
ayyw587o83qvavq7pvifyb540yc40ce
272420
272418
2026-05-05T10:12:11Z
Ameisenigel
44
Created page with "Im Hinblick auf die verbesserte Darstellung wurde die Formatierung bei Kompositionen optimiert, sodass Zeilenumbrüche nun an Worttrennern erfolgen ($1). Außerdem wurde ein Fehler behoben, um sicherzustellen, dass die Bezeichnung Typisierte Liste beim Seitenaufbau geladen und nicht als ZID angezeigt wird ($2). Und in der Abstrakten Wikipedia wurde die Inhaltsdarstellung in der Vorschau verbessert. Die Vorschau fügt nun keine unerwünschten Zeilenabstände mehr ein, wen..."
272420
wikitext
text/x-wiki
<languages/>
{{Wikifunctions updates
| prevlabel = Vorheriges Update
| prev = 2026-04-25
| nextlabel = Nächstes Update
| next =
}}
<span id="Request_for_input:_what_should_we_count_for_Abstract_Wikipedia"></span>
=== Bitte um Anregungen: Was sollten wir für die Abstrakte Wikipedia zählen ===
Wir möchten die Entwicklung der Abstrakten Wikipedia sichtbar machen und bitten daher um Anregungen: Welche Kennzahlen zu Seiten in der Abstrakten Wikipedia hältst du für wichtig?
Hier sind ein paar Ideen für Kennzahlen, aber wir sind sicher, dass dir bessere einfallen werden:
* Wie viele Artikel gibt es in der Abstrakten Wikipedia? (Zum Zeitpunkt der Erstellung dieses Newsletters 1203, eine Zahl, die auf der Startseite der Abstrakten Wikipedia sichtbar veröffentlicht ist.)
* Wie viele monatlich aktive Beitragende gibt es in der Abstrakten Wikipedia? (Derzeit 113, ein leichter Rückgang gegenüber dem Rekordwert von 163 zum Start.)
* Wie viele Bearbeitungen pro Monat gibt es in der Abstrakten Wikipedia?
* Wie viele Fragmente gibt es? (Derzeit 3410) Wie viele Fragmente enthält ein Artikel durchschnittlich? (Derzeit etwa 2,8)
* Welche Fragmente werden am häufigsten verwendet? ({{Z|Z32123}} 1452 Mal, gefolgt von {{Z|Z27868}} 736 Mal und {{Z|Z29749}} 650 Mal)
* Wie viele Artikel in wie vielen Sprachen sind tatsächlich vollständig und fehlerfrei verfügbar?
* Wie viele davon existieren derzeit nicht in den jeweiligen Wikipedias?
* Wie viele Bytes an Ausgabetext werden dadurch erzeugt?
Wir sind jedoch überzeugt, dass dir weitere Vorschläge einfallen werden, und du hast vielleicht auch Gedanken darüber, welche dieser Kennzahlen man im Auge behalten sollte, um ein gesundes Wachstum zu erfassen.
Teile uns deine Meinung mit!
<span id="Recent_Changes_in_the_software"></span>
=== Letzte Änderungen an der Software ===
In den vergangenen zwei Wochen gab es mehrere Aktualisierungen zur Verbesserung der Benutzerfreundlichkeit und Verständlichkeit von der Abstrakten Wikipedia und Wikifunctions.
Die Such- und Entdeckungsfunktionen wurden verbessert, sodass Beitragende Inhalte leichter finden und erkennen können. In der Abstrakten Wikipedia werden nun neben den Suchergebnissen Vorschaubilder der Wikidata-Entitäten angezeigt (sofern verfügbar), was die visuelle Identifizierung von Entitäten erleichtert ([[:phab:T423464|T423464]]). Darüber hinaus wurde der Algorithmus für die Suche von Bezeichnungen aktualisiert, um sicherzustellen, dass exakte Übereinstimmungen immer als erstes Ergebnis angezeigt werden. Dies behebt Fälle, in denen bekannte Objekte oder Funktionen schwer zu finden waren ([[:phab:T424211|T424211]]).
Wir haben außerdem eine benutzerfreundlichere Methode für Communitys eingeführt, um empfohlene Funktionen zu konfigurieren. Bisher wurden die vorgeschlagenen Funktionen für eingebettete Fragmente von Wikifunctions und der Abstrakten Wikipedia über JSON-Seiten (MediaWiki:Wikilambda-suggested-functions.json und MediaWiki:Abstractwiki-suggested-functions.json) verwaltet. Dies wurde nun durch die Konfiguration über die Spezialseite Community-Konfiguration ersetzt, wodurch die Verwaltung dieser Empfehlungen für Communitys vereinfacht wird ([[:phab:T394410|T394410]]).
Wir haben außerdem mehrere Fehler behoben und die Darstellung verbessert. Ein Fehler im Testergebnis-Caching-System wurde behoben, der dazu führte, dass Tests fälschlicherweise als fehlgeschlagen angezeigt wurden ([[:phab:T422300|T422300]]). Ein Fehler in der Kopier-/Einfügefunktion, der beim Kopieren von Blöcken mit undefinierten Referenzen gelegentlich Probleme verursachte, wurde ebenfalls behoben. Eine weitere Korrektur stellt sicher, dass beim Veröffentlichen von Funktionsdefinitionsänderungen verbundene Implementierungen und Tests bei Bedarf ordnungsgemäß getrennt werden.
Im Hinblick auf die verbesserte Darstellung wurde die Formatierung bei Kompositionen optimiert, sodass Zeilenumbrüche nun an Worttrennern erfolgen ([[:phab:T421959|T421959]]). Außerdem wurde ein Fehler behoben, um sicherzustellen, dass die Bezeichnung Typisierte Liste beim Seitenaufbau geladen und nicht als ZID angezeigt wird ([[:phab:T422094|T422094]]). Und in der Abstrakten Wikipedia wurde die Inhaltsdarstellung in der Vorschau verbessert. Die Vorschau fügt nun keine unerwünschten Zeilenabstände mehr ein, wenn Textfragmente als Absätze definiert werden (<nowiki><p></nowiki>), was zu einer präziseren Formatierung führt ([[:phab:T424041|T424041]]).
<div lang="en" dir="ltr" class="mw-content-ltr">
Finally, we have quoted the type in the filter box of the ListObjectsByType Special page, to add clarity in cases such as "All Objects of type 'Type' (Z4)" - [[Special:ListObjectsByType/Z4|see example]] ([[:phab:T377649|T377649]]), and the language selector now correctly displays the selected language name even for non mediawiki supported languages ([[:phab:T417211|T417211]]).
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
=== Updates about V2 ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
We have reverted one change related to the recent deployment of "Composition Language v2" (which was introduced in the [[Special:MyLanguage/Wikifunctions:Status updates/2026-03-11|11 March newsletter]]). Prior to v2, arguments going to code implementations were generally fully resolved. Updates related to v2 changed that, so that arguments were only resolved at the top level; nested parts of arguments didn't necessarily get resolved. The reversion means that once again, arguments going to code implementations will be fully resolved.
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This makes sense as a default, because once an argument gets passed to a code implementation, it's impossible to explicitly ask for the resolution of any part of it. However, there is also a competing principle that, in general, arguments are not guaranteed to present themselves as literals (or as references) all the time, so all implementations should ideally allow for both forms of arguments coming in, by using equality functions that can recognize when a reference and a literal are equivalent. Since this is currently difficult or impossible in code implementations, we decided this reversion is the best way to go for now.
</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] (moved a week due to the [[:mw:Special:MyLanguage/Wikimedia Hackathon 2026|Wikimedia Hackathon]]). 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 either write a function together or work on an Abstract Wikipedia article together (volunteer-led). 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: 81 new Functions ===
</div>
<div lang="en" dir="ltr" class="mw-content-ltr">
This week we had 81 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|Z33778}}
* {{Z|Z33780}}
* {{Z|Z33785}}
* {{Z|Z33788}}
* {{Z|Z33797}}
* {{Z|Z33808}}
* {{Z|Z33818}}
* {{Z|Z33823}}
* {{Z|Z33828}}
* {{Z|Z33831}}
* {{Z|Z33836}}
* {{Z|Z33842}}
* {{Z|Z33844}}
* {{Z|Z33848}}
* {{Z|Z33862}}
* {{Z|Z33876}}
* {{Z|Z33878}}
* {{Z|Z33880}}
* {{Z|Z33890}}
* {{Z|Z33895}}
* {{Z|Z33902}}
* {{Z|Z33933}}
* {{Z|Z33951}}
* {{Z|Z33955}}
* {{Z|Z33975}}
* {{Z|Z33977}}
* {{Z|Z33983}}
* {{Z|Z33986}}
* {{Z|Z33999}}
* {{Z|Z34008}}
* {{Z|Z34009}}
* {{Z|Z34039}}
* {{Z|Z34060}}
* {{Z|Z34070}}
* {{Z|Z34072}}
* {{Z|Z34077}}
* {{Z|Z34084}}
* {{Z|Z34096}}
* {{Z|Z34105}}
* {{Z|Z34124}}
* {{Z|Z34127}}
* {{Z|Z34132}}
* {{Z|Z34139}}
* {{Z|Z34178}}
* {{Z|Z34197}}
* {{Z|Z34200}}
* {{Z|Z34204}}
* {{Z|Z34209}}
* {{Z|Z34212}}
* {{Z|Z34218}}
* {{Z|Z34250}}
* {{Z|Z34253}}
* {{Z|Z34257}}
* {{Z|Z34263}}
* {{Z|Z34273}}
<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-02]]
e2rrr64aunirrv2is50v6t1krin22el
Z34745
0
82374
272140
2026-05-04T13:26:43Z
YoshiRulz
10156
Create implementation
272140
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34745"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20006",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z16667",
"Z16667K1": {
"Z1K1": "Z7",
"Z7K1": "Z19717",
"Z19717K1": {
"Z1K1": "Z18",
"Z18K1": "Z20006K1"
}
},
"Z16667K2": {
"Z1K1": "Z7",
"Z7K1": "Z19717",
"Z19717K1": {
"Z1K1": "Z18",
"Z18K1": "Z20006K2"
}
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z19753",
"Z19753K1": {
"Z1K1": "Z7",
"Z7K1": "Z21692",
"Z21692K1": {
"Z1K1": "Z18",
"Z18K1": "Z20006K1"
}
},
"Z19753K2": {
"Z1K1": "Z7",
"Z7K1": "Z21692",
"Z21692K1": {
"Z1K1": "Z18",
"Z18K1": "Z20006K2"
}
}
},
"Z802K2": {
"Z1K1": "Z18",
"Z18K1": "Z20006K1"
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z20006",
"Z20006K1": {
"Z1K1": "Z7",
"Z7K1": "Z19699",
"Z19699K1": {
"Z1K1": "Z18",
"Z18K1": "Z20006K1"
},
"Z19699K2": {
"Z1K1": "Z18",
"Z18K1": "Z20006K2"
}
},
"Z20006K2": {
"Z1K1": "Z18",
"Z18K1": "Z20006K2"
}
}
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z19694",
"Z19694K1": {
"Z1K1": "Z7",
"Z7K1": "Z20006",
"Z20006K1": {
"Z1K1": "Z18",
"Z18K1": "Z20006K1"
},
"Z20006K2": {
"Z1K1": "Z7",
"Z7K1": "Z19694",
"Z19694K1": {
"Z1K1": "Z18",
"Z18K1": "Z20006K2"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Rational modulo, recursive composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1opcz1v49ot8rsovtcsebbds2hpaqcl
Talk:Z20013
1
82375
272142
2026-05-04T13:27:20Z
YoshiRulz
10156
Add to category
272142
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34746
0
82376
272143
2026-05-04T13:29:42Z
YoshiRulz
10156
Create implementation
272143
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34746"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20020",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z27612",
"Z27612K1": {
"Z1K1": "Z18",
"Z18K1": "Z20020K1"
},
"Z27612K2": "Z19753"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sort list of Rationals ascending, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6s2hjq4ed5dix7nm12pn6kq6zjrmzb7
Talk:Z20020
1
82377
272144
2026-05-04T13:29:54Z
YoshiRulz
10156
Add to category
272144
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20024
1
82378
272145
2026-05-04T13:30:15Z
YoshiRulz
10156
Add to category
272145
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20132
1
82379
272146
2026-05-04T13:33:38Z
YoshiRulz
10156
Add to category
272146
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34747
0
82380
272147
2026-05-04T13:39:50Z
YoshiRulz
10156
Create implementation
272147
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34747"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20172",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z20166",
"Z20166K1": {
"Z1K1": "Z18",
"Z18K1": "Z20172K1"
},
"Z20166K2": {
"Z1K1": "Z20159",
"Z20159K1": {
"Z1K1": "Z17813",
"Z17813K1": "Z17815"
},
"Z20159K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
},
"Z802K2": {
"Z1K1": "Z20159",
"Z20159K1": "Z17814",
"Z20159K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z802K3": {
"Z1K1": "Z20159",
"Z20159K1": {
"Z1K1": "Z7",
"Z7K1": "Z20185",
"Z20185K1": {
"Z1K1": "Z18",
"Z18K1": "Z20172K1"
}
},
"Z20159K2": {
"Z1K1": "Z7",
"Z7K1": "Z13036",
"Z13036K1": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z25060",
"Z25060K1": {
"Z1K1": "Z18",
"Z18K1": "Z20172K1"
}
},
"Z802K2": "Z13582",
"Z802K3": "Z13578"
},
"Z13036K2": {
"Z1K1": "Z7",
"Z7K1": "Z20160",
"Z20160K1": {
"Z1K1": "Z18",
"Z18K1": "Z20172K1"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "following Gregorian year, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
mq8f59pjjwtc0miniz25v5vbelpfpzm
272148
272147
2026-05-04T13:41:33Z
YoshiRulz
10156
Fix era check
272148
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34747"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20172",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z20166",
"Z20166K1": {
"Z1K1": "Z18",
"Z18K1": "Z20172K1"
},
"Z20166K2": {
"Z1K1": "Z20159",
"Z20159K1": {
"Z1K1": "Z17813",
"Z17813K1": "Z17815"
},
"Z20159K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
},
"Z802K2": {
"Z1K1": "Z20159",
"Z20159K1": "Z17814",
"Z20159K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z802K3": {
"Z1K1": "Z20159",
"Z20159K1": {
"Z1K1": "Z7",
"Z7K1": "Z20185",
"Z20185K1": {
"Z1K1": "Z18",
"Z18K1": "Z20172K1"
}
},
"Z20159K2": {
"Z1K1": "Z7",
"Z7K1": "Z13036",
"Z13036K1": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z28875",
"Z28875K1": {
"Z1K1": "Z18",
"Z18K1": "Z20172K1"
}
},
"Z802K2": "Z13578",
"Z802K3": "Z13582"
},
"Z13036K2": {
"Z1K1": "Z7",
"Z7K1": "Z20160",
"Z20160K1": {
"Z1K1": "Z18",
"Z18K1": "Z20172K1"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "following Gregorian year, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pf8b1ntdvdu9h1h5ebdb01lbrffzvd8
Talk:Z20198
1
82381
272150
2026-05-04T13:42:46Z
YoshiRulz
10156
Add to category
272150
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34748
0
82382
272151
2026-05-04T13:45:54Z
YoshiRulz
10156
Create implementation
272151
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34748"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20219",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z17111",
"Z17111K1": {
"Z1K1": "Z7",
"Z7K1": "Z20257",
"Z20257K1": {
"Z1K1": "Z18",
"Z18K1": "Z20219K2"
}
},
"Z17111K2": {
"Z1K1": "Z7",
"Z7K1": "Z20257",
"Z20257K1": {
"Z1K1": "Z18",
"Z18K1": "Z20219K1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Gregorian year subtraction, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6jnntclp7sswten5hcka8085os1cyti
Talk:Z20285
1
82383
272153
2026-05-04T13:52:30Z
YoshiRulz
10156
Add to category
272153
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34749
0
82384
272154
2026-05-04T13:55:46Z
YoshiRulz
10156
Create implementation
272154
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34749"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20314",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z20166",
"Z20166K1": {
"Z1K1": "Z18",
"Z18K1": "Z20314K1"
},
"Z20166K2": {
"Z1K1": "Z20159",
"Z20159K1": {
"Z1K1": "Z17813",
"Z17813K1": "Z17814"
},
"Z20159K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
}
},
"Z802K2": {
"Z1K1": "Z20159",
"Z20159K1": "Z17815",
"Z20159K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z802K3": {
"Z1K1": "Z20159",
"Z20159K1": {
"Z1K1": "Z7",
"Z7K1": "Z20185",
"Z20185K1": {
"Z1K1": "Z18",
"Z18K1": "Z20314K1"
}
},
"Z20159K2": {
"Z1K1": "Z7",
"Z7K1": "Z13036",
"Z13036K1": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z28875",
"Z28875K1": {
"Z1K1": "Z18",
"Z18K1": "Z20314K1"
}
},
"Z802K2": "Z13582",
"Z802K3": "Z13578"
},
"Z13036K2": {
"Z1K1": "Z7",
"Z7K1": "Z20160",
"Z20160K1": {
"Z1K1": "Z18",
"Z18K1": "Z20314K1"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "preceding Gregorian year, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pw8bzmwf7avyjs4rr90hkbzhu43f1d6
Z34750
0
82385
272157
2026-05-04T14:04:38Z
YoshiRulz
10156
Create implementation
272157
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34750"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20323",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z19565",
"Z19565K1": {
"Z1K1": "Z7",
"Z7K1": "Z31547",
"Z31547K1": {
"Z1K1": "Z18",
"Z18K1": "Z20323K3"
}
},
"Z19565K2": {
"Z1K1": "Z7",
"Z7K1": "Z19953",
"Z19953K1": {
"Z1K1": "Z18",
"Z18K1": "Z20323K2"
},
"Z19953K2": {
"Z1K1": "Z7",
"Z7K1": "Z19711",
"Z19711K1": {
"Z1K1": "Z18",
"Z18K1": "Z20323K1"
}
}
},
"Z19565K3": {
"Z1K1": "Z7",
"Z7K1": "Z31554",
"Z31554K1": {
"Z1K1": "Z18",
"Z18K1": "Z20323K3"
}
},
"Z19565K4": {
"Z1K1": "Z7",
"Z7K1": "Z21071",
"Z21071K1": {
"Z1K1": "Z7",
"Z7K1": "Z21037",
"Z21037K1": {
"Z1K1": "Z7",
"Z7K1": "Z20854",
"Z20854K1": {
"Z1K1": "Z18",
"Z18K1": "Z20323K2"
}
},
"Z21037K2": {
"Z1K1": "Z7",
"Z7K1": "Z20854",
"Z20854K1": {
"Z1K1": "Z18",
"Z18K1": "Z20323K1"
}
}
}
},
"Z19565K5": {
"Z1K1": "Z7",
"Z7K1": "Z19953",
"Z19953K1": {
"Z1K1": "Z18",
"Z18K1": "Z20323K1"
},
"Z19953K2": {
"Z1K1": "Z18",
"Z18K1": "Z20323K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Triangle of Power operation, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4seshfnx1a8tfg1snp7lqlc3ef9c01h
Z34751
0
82386
272159
2026-05-04T14:24:32Z
YoshiRulz
10156
Create implementation
272159
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34751"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20357",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z13521",
"Z13521K1": {
"Z1K1": "Z7",
"Z7K1": "Z13397",
"Z13397K1": [
"Z13518",
{
"Z1K1": "Z13518",
"Z13518K1": "0"
},
{
"Z1K1": "Z13518",
"Z13518K1": "31"
},
{
"Z1K1": "Z13518",
"Z13518K1": "59"
},
{
"Z1K1": "Z13518",
"Z13518K1": "90"
},
{
"Z1K1": "Z13518",
"Z13518K1": "120"
},
{
"Z1K1": "Z13518",
"Z13518K1": "151"
},
{
"Z1K1": "Z13518",
"Z13518K1": "181"
},
{
"Z1K1": "Z13518",
"Z13518K1": "212"
},
{
"Z1K1": "Z13518",
"Z13518K1": "243"
},
{
"Z1K1": "Z13518",
"Z13518K1": "273"
},
{
"Z1K1": "Z13518",
"Z13518K1": "304"
},
{
"Z1K1": "Z13518",
"Z13518K1": "334"
}
],
"Z13397K2": {
"Z1K1": "Z7",
"Z7K1": "Z16230",
"Z16230K1": {
"Z1K1": "Z7",
"Z7K1": "Z20343",
"Z20343K1": {
"Z1K1": "Z18",
"Z18K1": "Z20357K1"
}
}
}
},
"Z13521K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z10174",
"Z10174K1": {
"Z1K1": "Z18",
"Z18K1": "Z20357K2"
},
"Z10174K2": {
"Z1K1": "Z7",
"Z7K1": "Z16648",
"Z16648K1": {
"Z1K1": "Z7",
"Z7K1": "Z20343",
"Z20343K1": {
"Z1K1": "Z18",
"Z18K1": "Z20357K1"
}
},
"Z16648K2": "Z16102"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z13578",
"Z13578K1": {
"Z1K1": "Z7",
"Z7K1": "Z20388",
"Z20388K1": {
"Z1K1": "Z18",
"Z18K1": "Z20357K1"
}
}
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z20388",
"Z20388K1": {
"Z1K1": "Z18",
"Z18K1": "Z20357K1"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Day of Roman year as nth of year, sum composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2vn9qpokxsuo0i2g56cvyqx4co49f46
Z34752
0
82387
272160
2026-05-04T14:25:49Z
YoshiRulz
10156
Create implementation
272160
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34752"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20357",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z13578",
"Z13578K1": {
"Z1K1": "Z7",
"Z7K1": "Z20733",
"Z20733K1": {
"Z1K1": "Z20342",
"Z20342K1": {
"Z1K1": "Z16098",
"Z16098K1": "Z16101"
},
"Z20342K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20733K2": {
"Z1K1": "Z18",
"Z18K1": "Z20357K1"
},
"Z20733K3": {
"Z1K1": "Z18",
"Z18K1": "Z20357K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Day of Roman year as nth of year, diff composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
f3ui42hz01ent8topagof67xhv3p0au
Talk:Z20362
1
82388
272162
2026-05-04T14:27:41Z
YoshiRulz
10156
Add to category
272162
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34753
0
82389
272163
2026-05-04T14:33:44Z
YoshiRulz
10156
Create implementation
272163
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34753"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20446",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z14494",
"Z14494K1": {
"Z1K1": "Z18",
"Z18K1": "Z20446K1"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "remove chars not valid for Z13518K1, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ga6r2ff05tx4b0fkvhxi91h898h82db
Talk:Z20446
1
82390
272165
2026-05-04T14:34:30Z
YoshiRulz
10156
/* Duplicate */ new section
272165
wikitext
text/x-wiki
== Duplicate ==
of [[Z14494]] [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 14:34, 4 May 2026 (UTC)
6w5je0ccj848iso0u4jasebi0a7imjo
Talk:Z20426
1
82391
272166
2026-05-04T14:37:58Z
YoshiRulz
10156
Add to category
272166
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34754
0
82392
272167
2026-05-04T14:39:33Z
YoshiRulz
10156
Create implementation
272167
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34754"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20430",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10174",
"Z10174K1": {
"Z1K1": "Z7",
"Z7K1": "Z20166",
"Z20166K1": {
"Z1K1": "Z7",
"Z7K1": "Z24948",
"Z24948K1": {
"Z1K1": "Z18",
"Z18K1": "Z20430K1"
}
},
"Z20166K2": {
"Z1K1": "Z7",
"Z7K1": "Z24948",
"Z24948K1": {
"Z1K1": "Z18",
"Z18K1": "Z20430K2"
}
}
},
"Z10174K2": {
"Z1K1": "Z7",
"Z7K1": "Z20348",
"Z20348K1": {
"Z1K1": "Z7",
"Z7K1": "Z24936",
"Z24936K1": {
"Z1K1": "Z18",
"Z18K1": "Z20430K1"
}
},
"Z20348K2": {
"Z1K1": "Z7",
"Z7K1": "Z24936",
"Z24936K1": {
"Z1K1": "Z18",
"Z18K1": "Z20430K2"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "same Gregorian calendar date, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7hoz9r76dez7bh9fcwl6n78ov4ae1m9
Talk:Z20449
1
82393
272169
2026-05-04T14:42:31Z
YoshiRulz
10156
Add to category
272169
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20465
1
82394
272170
2026-05-04T14:45:31Z
YoshiRulz
10156
Add to category
272170
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20467
1
82395
272171
2026-05-04T14:45:35Z
YoshiRulz
10156
Add to category
272171
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20468
1
82396
272172
2026-05-04T14:45:37Z
YoshiRulz
10156
Add to category
272172
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20469
1
82397
272173
2026-05-04T14:45:40Z
YoshiRulz
10156
Add to category
272173
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20511
1
82398
272174
2026-05-04T14:45:41Z
YoshiRulz
10156
Add to category
272174
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20573
1
82399
272175
2026-05-04T14:47:07Z
YoshiRulz
10156
Add to category
272175
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20617
1
82400
272177
2026-05-04T14:51:12Z
YoshiRulz
10156
Add to category
272177
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34755
0
82401
272178
2026-05-04T14:56:14Z
YoshiRulz
10156
Create implementation
272178
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34755"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20648",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z17101",
"Z17101K1": {
"Z1K1": "Z7",
"Z7K1": "Z27068",
"Z27068K1": {
"Z1K1": "Z7",
"Z7K1": "Z16316",
"Z16316K1": {
"Z1K1": "Z18",
"Z18K1": "Z20648K1"
}
},
"Z27068K2": "Z13578",
"Z27068K3": {
"Z1K1": "Z7",
"Z7K1": "Z20181",
"Z20181K1": {
"Z1K1": "Z18",
"Z18K1": "Z20648K2"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "num. days in Gregorian month in year, compositio"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0hkf3bh9v4f454apb9k38tbbabg8rhf
Z34756
0
82402
272180
2026-05-04T15:01:29Z
YoshiRulz
10156
Create implementation
272180
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34756"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20653",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z18",
"Z18K1": "Z20653K3"
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z13397",
"Z13397K1": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13397K2": {
"Z1K1": "Z7",
"Z7K1": "Z28755",
"Z28755K1": {
"Z1K1": "Z7",
"Z7K1": "Z19509",
"Z19509K1": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z11328",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
},
"Z28755K2": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z31026",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
}
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z28755",
"Z28755K1": {
"Z1K1": "Z7",
"Z7K1": "Z19509",
"Z19509K1": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z11328",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
},
"Z28755K2": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z11328",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "closest to given String from list, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
bye7sjf7t6r6hw8r5apc3fn1qr19xmj
272181
272180
2026-05-04T15:03:06Z
YoshiRulz
10156
Fix typo
272181
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34756"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20653",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z18",
"Z18K1": "Z20653K3"
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z13397",
"Z13397K1": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13397K2": {
"Z1K1": "Z7",
"Z7K1": "Z28755",
"Z28755K1": {
"Z1K1": "Z7",
"Z7K1": "Z19509",
"Z19509K1": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z11328",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
},
"Z28755K2": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z11328",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
}
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z28755",
"Z28755K1": {
"Z1K1": "Z7",
"Z7K1": "Z19509",
"Z19509K1": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z11328",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
},
"Z28755K2": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z11328",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "closest to given String from list, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
h103lgz6ju6p3fqy1tr50r38f4wv20w
272182
272181
2026-05-04T15:09:22Z
YoshiRulz
10156
Switch to Levenshstein metric and fix list typing
272182
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34756"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20653",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z18",
"Z18K1": "Z20653K3"
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z13397",
"Z13397K1": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13397K2": {
"Z1K1": "Z7",
"Z7K1": "Z28755",
"Z28755K1": {
"Z1K1": "Z7",
"Z7K1": "Z19509",
"Z19509K1": {
"Z1K1": "Z7",
"Z7K1": "Z18475",
"Z18475K1": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z10393",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
}
},
"Z28755K2": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z10393",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
}
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z28755",
"Z28755K1": {
"Z1K1": "Z7",
"Z7K1": "Z19509",
"Z19509K1": {
"Z1K1": "Z7",
"Z7K1": "Z18475",
"Z18475K1": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z10393",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
}
},
"Z28755K2": {
"Z1K1": "Z7",
"Z7K1": "Z13464",
"Z13464K1": "Z10393",
"Z13464K2": {
"Z1K1": "Z18",
"Z18K1": "Z20653K1"
},
"Z13464K3": {
"Z1K1": "Z18",
"Z18K1": "Z20653K2"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "closest to given String from list, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fe6cl087znf0yhmibrorkan7bs25a8f
User:亞洲區
2
82403
272185
2026-05-04T15:32:16Z
亞洲區
68153
Created page with "{{Bot|<?php // PHP 8+ // Usage: export TELEGRAM_BOT_TOKEN="123:ABC..." && php bot_polling.php $token = getenv('TELEGRAM_BOT_TOKEN') ?: exit("Please set TELEGRAM_BOT_TOKEN env var\n"); $apiBase = "https://api.telegram.org/bot{$token}"; $offset = 0; echo "Bot started (polling)...\n"; while (true) { $updates = apiRequest('getUpdates', ['offset' => $offset, 'timeout' => 30, 'limit' => 30]); if (!is_array($updates) || count($updates) === 0) { // no updates..."
272185
wikitext
text/x-wiki
{{Bot|<?php
// PHP 8+
// Usage: export TELEGRAM_BOT_TOKEN="123:ABC..." && php bot_polling.php
$token = getenv('TELEGRAM_BOT_TOKEN') ?: exit("Please set TELEGRAM_BOT_TOKEN env var\n");
$apiBase = "https://api.telegram.org/bot{$token}";
$offset = 0;
echo "Bot started (polling)...\n";
while (true) {
$updates = apiRequest('getUpdates', ['offset' => $offset, 'timeout' => 30, 'limit' => 30]);
if (!is_array($updates) || count($updates) === 0) {
// no updates
continue;
}
foreach ($updates as $u) {
if (!isset($u['update_id'])) continue;
$offset = $u['update_id'] + 1;
// handle message (ignore non-message updates for simplicity)
if (isset($u['message'])) {
$msg = $u['message'];
$chatId = $msg['chat']['id'];
$text = $msg['text'] ?? '';
// simple command parsing
if (str_starts_with($text, '/')) {
$parts = preg_split('/\s+/', $text, 2);
$cmd = strtolower($parts[0]);
$arg = $parts[1] ?? '';
match ($cmd) {
'/start' => apiRequest('sendMessage', ['chat_id' => $chatId, 'text' => "嗨!我是 PHP Bot。輸入 /help 查看功能。"]),
'/help' => apiRequest('sendMessage', ['chat_id' => $chatId, 'text' => "/start - 啟動\n/help - 幫助\n/echo <文字> - 回傳相同文字"]),
'/echo' => apiRequest('sendMessage', ['chat_id' => $chatId, 'text' => $arg ?: "請在 /echo 後面加文字,例如:/echo 哈囉"]),
default => apiRequest('sendMessage', ['chat_id' => $chatId, 'text' => "未知指令: {$cmd}\n輸入 /help 查看支援的指令。"]),
};
} else {
// echo back normal messages
if ($text !== '') {
apiRequest('sendMessage', ['chat_id' => $chatId, 'text' => "你說: " . $text]);
}
}
}
}
// small sleep to avoid busy looping (getUpdates has long polling but loop guard)
usleep(200_000);
}
/**
* Helper to call Telegram Bot API
*/
function apiRequest(string $method, array $params = []): mixed {
global $apiBase;
$url = "{$apiBase}/{$method}";
$ch = curl_init($url);
$payload = json_encode($params, JSON_UNESCAPED_UNICODE);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ['Content-Type: application/json']);
curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);
curl_setopt($ch, CURLOPT_TIMEOUT, 60);
$resp = curl_exec($ch);
if ($resp === false) {
error_log("CURL error: " . curl_error($ch));
curl_close($ch);
return null;
}
curl_close($ch);
$data = json_decode($resp, true);
if (!isset($data['ok']) || $data['ok'] !== true) {
error_log("Telegram API error: " . $resp);
return null;
}
return $data['result'] ?? null;
}|allow=all}}
{{Author|name=|birthyear=|deathyear=|firstletter=|wikipedia=|zh-classical-wikipedia=|wikiquote=|commons=|notes=|image=|country=|times=}}
{{PD|GFDL}}
tca331jupdv9ox7lq5icpdkgk20bb0v
Template:PD
10
82404
272186
2026-05-04T15:33:25Z
亞洲區
68153
新增
272186
wikitext
text/x-wiki
{{Google AI}}
ex305fo8u2u6e95i3nd898gxkxwl930
Template:Google AI
10
82405
272187
2026-05-04T15:36:28Z
亞洲區
68153
新增
272187
wikitext
text/x-wiki
{{鍾顓如|{{Navbox
| name = Google AI
| title = [[Google AI]]
| state = {{{state<includeonly>|autocollapse</includeonly>}}}
| bodyclass = hlist
| above =
* [[Google]]
* [[Google Brain]]
* [[Google DeepMind]]
| group1 = Computer <br>programs
| list1 = {{navbox|child
| group1 = AlphaGo
| list1 = {{navbox|child
| group1 = Versions
| list1 =
* [[AlphaGo]] (2015)
* [[Master (software)|Master]] (2016)
* [[AlphaGo Zero]] (2017)
* [[AlphaZero]] (2017)
* [[MuZero]] (2019)
| group2 = Competitions
| list2 =
* [[AlphaGo versus Fan Hui|Fan Hui]] (2015)
* [[AlphaGo versus Lee Sedol|Lee Sedol]] (2016)
* [[AlphaGo versus Ke Jie|Ke Jie]] (2017)
| group3 = In popular culture
| list3 =
* ''[[AlphaGo (film)|AlphaGo]]'' (2017)
* ''[[The MANIAC]]'' (2023)
}}
| group2 = Other
| list2 =
* [[AlphaFold]] (2018)
* [[AlphaStar (software)|AlphaStar]] (2019)
* [[AlphaDev]] (2023)
* [[AlphaGeometry]] (2024)
* [[AlphaGenome]] (2025)
}}
| group2 = Machine <br>learning
| list2 = {{navbox|child
| group1 = Neural networks
| list1 =
* [[Inception (deep learning architecture)|Inception]] (2014)
* [[WaveNet]] (2016)
* [[MobileNet]] (2017)
* [[Transformer (deep learning architecture)|Transformer]] (2017)
* [[EfficientNet]] (2019)
* [[Gato (DeepMind)|Gato]] (2022)
| group2 = Other
| list2 =
* [[Quantum Artificial Intelligence Lab]]
* [[TensorFlow]]
* [[Tensor Processing Unit]]
}}
| group3 = Generative <br>AI
| list3 = {{navbox|child
| group1 = Chatbots
| list1 =
* [[Google Assistant|Assistant]] (2016)
* [[Sparrow (chatbot)|Sparrow]] (2022)
* [[Google Gemini|Gemini]] (2023)
* [[Nano Banana]] (2025)
| group2 = Models
| list2 =
* [[BERT (language model)|BERT]] (2018)
* [[XLNet]] (2019)
* [[T5 (language model)|T5]] (2019)
* [[LaMDA]] (2021)
* [[Chinchilla (language model)|Chinchilla]] (2022)
* [[PaLM]] (2022)
* [[Imagen (text-to-image model)|Imagen]] (2023)
* [[Gemini (language model)|Gemini]] (2023)
* [[VideoPoet]] (2024)
* [[Gemma (language model)|Gemma]] (2024)
* [[Genie (AI model)|Genie]] (2024)
* [[Veo (text-to-video model)|Veo]] (2024)
| group3 = Other
| list3 =
* [[DreamBooth]] (2022)
* [[NotebookLM]] (2023)
* [[Google Vids|Vids]] (2024)
* [[Gemini Robotics]] (2025)
* [[Google Antigravity|Antigravity]] (2025)
}}
| group4 = See also
| list4 =
* "[[Attention Is All You Need]]"
* [[Future of Go Summit]]
* [[Generative pre-trained transformer]]
* [[Google Labs]]
* [[Google Pixel]]
* [[Google Workspace]]
* [[Robot Constitution]]
| below =
* {{icon|Category}} [[:Category:Google DeepMind|Category]]
* {{icon|Commons}} [[:commons:Category:DeepMind|Commons]]
}}
<noinclude>
{{Template documentation|content=
{{for|the maintenance tag|Template:AI-generated}}
{{Collapsible option}}
}}
[[Category:Artificial intelligence templates]]
[[Category:Google navigational boxes]]
{{navbox}}
</noinclude>|allow=all}}
0270g6o5dejk2epg8ytnvuot98o7edc
Template:鍾顓如
10
82406
272188
2026-05-04T15:37:51Z
亞洲區
68153
新增與內部連結
272188
wikitext
text/x-wiki
{{Bot|$url = "https://zh.wikipedia.org/wiki/PHP";
$ch = curl_init($url);
$headers = [
"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"Accept-Language: zh-TW,zh;q=0.9,en-US;q=0.8,en;q=0.7",
"Referer: https://www.google.com/"
];
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
// 執行循環任務時
foreach ($task_list as $task) {
execute_task($task);
// 隨機停止 3 到 10 秒,模擬人類閱讀與點擊的時間
$sleep_time = rand(3000000, 10000000);
usleep($sleep_time);
}|allow=all}}
3pe7gkuk8bx1kyegxx2fh57ber19pua
Z34757
0
82407
272189
2026-05-04T15:38:35Z
YoshiRulz
10156
Create implementation
272189
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34757"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20659",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22469",
"Z22469K1": {
"Z1K1": "Z7",
"Z7K1": "Z18475",
"Z18475K1": {
"Z1K1": "Z7",
"Z7K1": "Z14779",
"Z14779K1": "Z17120",
"Z14779K2": {
"Z1K1": "Z18",
"Z18K1": "Z20659K1"
},
"Z14779K3": {
"Z1K1": "Z18",
"Z18K1": "Z20659K2"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "dot product (Integer vectors), composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2wpb8rrreg9utpnabpqipmkxnyl7phz
Template:Author
10
82408
272191
2026-05-04T15:39:50Z
亞洲區
68153
新增與內部連結
272191
wikitext
text/x-wiki
{{鍾顓如|allow=all}}
9tyabq1s8pqevo5dlg5y9923sg2l4gl
Z34758
0
82409
272192
2026-05-04T15:44:42Z
YoshiRulz
10156
Create implementation
272192
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34758"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20662",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z24176",
"Z24176K1": {
"Z1K1": "Z7",
"Z7K1": "Z801",
"Z801K1": [
{
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
{
"Z1K1": "Z18",
"Z18K1": "Z20662K1"
},
{
"Z1K1": "Z18",
"Z18K1": "Z20662K2"
}
]
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "zip two lists, via-matrix composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
r2y4spqjjp9jexrmd9vrstb13t0mepu
Talk:Z20665
1
82410
272195
2026-05-04T15:51:14Z
YoshiRulz
10156
Add to category
272195
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20687
1
82411
272196
2026-05-04T15:56:10Z
YoshiRulz
10156
Add to category
272196
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20706
1
82412
272197
2026-05-04T15:59:14Z
YoshiRulz
10156
Add to category
272197
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20727
1
82413
272198
2026-05-04T16:01:54Z
YoshiRulz
10156
Add to category
272198
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20730
1
82414
272199
2026-05-04T16:01:58Z
YoshiRulz
10156
Add to category
272199
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20741
1
82415
272200
2026-05-04T16:05:12Z
YoshiRulz
10156
Add to category
272200
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20750
1
82416
272203
2026-05-04T16:12:07Z
YoshiRulz
10156
Add to category
272203
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20773
1
82417
272204
2026-05-04T16:13:14Z
YoshiRulz
10156
Add to category
272204
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20776
1
82418
272205
2026-05-04T16:13:17Z
YoshiRulz
10156
Add to category
272205
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20782
1
82419
272206
2026-05-04T16:13:19Z
YoshiRulz
10156
Add to category
272206
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20791
1
82420
272209
2026-05-04T16:14:04Z
YoshiRulz
10156
Add to category
272209
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20801
1
82421
272210
2026-05-04T16:14:07Z
YoshiRulz
10156
Add to category
272210
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20816
1
82422
272211
2026-05-04T16:14:09Z
YoshiRulz
10156
Add to category
272211
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20841
1
82423
272212
2026-05-04T16:14:47Z
YoshiRulz
10156
Add to category
272212
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20844
1
82424
272213
2026-05-04T16:14:49Z
YoshiRulz
10156
Add to category
272213
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20849
1
82425
272214
2026-05-04T16:14:51Z
YoshiRulz
10156
Add to category
272214
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20850
1
82426
272215
2026-05-04T16:14:54Z
YoshiRulz
10156
Add to category
272215
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z20854
1
82427
272216
2026-05-04T16:14:56Z
YoshiRulz
10156
Add to category
272216
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34759
0
82428
272217
2026-05-04T16:18:14Z
YoshiRulz
10156
Create implementation
272217
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34759"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20902",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z20854",
"Z20854K1": {
"Z1K1": "Z7",
"Z7K1": "Z24081",
"Z24081K1": {
"Z1K1": "Z18",
"Z18K1": "Z20902K1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "square root of rational to float64, Q composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8hd6wyupeeua601ejqkx2ceiu5r5odz
Talk:Z20915
1
82429
272220
2026-05-04T16:19:54Z
YoshiRulz
10156
Add to category
272220
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34760
0
82430
272222
2026-05-04T16:21:26Z
YoshiRulz
10156
Create implementation
272222
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34760"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20936",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z20854",
"Z20854K1": {
"Z1K1": "Z7",
"Z7K1": "Z21653",
"Z21653K1": {
"Z1K1": "Z18",
"Z18K1": "Z20936K1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Natural to float64, via-Rational composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
g8te707bmgia5938p4gnpwccsshdixp
Z34761
0
82431
272224
2026-05-04T16:22:44Z
YoshiRulz
10156
Create implementation
272224
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34761"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20940",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10216",
"Z10216K1": {
"Z1K1": "Z7",
"Z7K1": "Z20944",
"Z20944K1": {
"Z1K1": "Z18",
"Z18K1": "Z20940K1"
},
"Z20944K2": {
"Z1K1": "Z18",
"Z18K1": "Z20940K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "less than (float64), not geq composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
779twj9kau305crumplk4jmymkn4mh6
Z34762
0
82432
272226
2026-05-04T16:26:48Z
YoshiRulz
10156
Create implementation
272226
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34762"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20955",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22605",
"Z22605K1": {
"Z1K1": "Z7",
"Z7K1": "Z12473",
"Z12473K1": {
"Z1K1": "Z18",
"Z18K1": "Z20955K1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "secant (float64, radians), 1/cos composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
20ci167y6qgcpkxdu4gyrcax4hkwd2x
Z34763
0
82433
272228
2026-05-04T16:32:22Z
YoshiRulz
10156
Create implementation
272228
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34763"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20959",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z20960",
"Z20960K1": {
"Z1K1": "Z7",
"Z7K1": "Z22605",
"Z22605K1": {
"Z1K1": "Z18",
"Z18K1": "Z20959K1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "arctangent (float64, rad), acot(1/x) composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
h4h0x4ycrr5nntx19f33uakjucv810o
Z34764
0
82434
272230
2026-05-04T16:38:07Z
YoshiRulz
10156
Create implementation
272230
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34764"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z20971",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z20972",
"Z20972K1": {
"Z1K1": "Z7",
"Z7K1": "Z22605",
"Z22605K1": {
"Z1K1": "Z18",
"Z18K1": "Z20971K1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "artanh (float64, rad), arcoth(1/x) composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
mcr9ntuksynud3f2t4a5xv99nm3dk80
Z34765
0
82435
272235
2026-05-04T16:41:03Z
YoshiRulz
10156
Create implementation
272235
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34765"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21001",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z21028",
"Z21028K1": "Z20890",
"Z21028K2": {
"Z1K1": "Z18",
"Z18K1": "Z21001K1"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "float64 exponentiation base e, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
kfjxm0xun49m4z4228eozatuk1l3alv
Z34766
0
82436
272237
2026-05-04T16:42:16Z
YoshiRulz
10156
Create implementation
272237
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34766"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21006",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z21028",
"Z21028K1": {
"Z1K1": "Z18",
"Z18K1": "Z21006K1"
},
"Z21028K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "1501199875790165"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "float64 cube root, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
84kbkgha9li64lyzx3518z8qeu78g96
Talk:Z21009
1
82437
272238
2026-05-04T16:42:57Z
YoshiRulz
10156
Add to category
272238
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34767
0
82438
272239
2026-05-04T16:50:02Z
YoshiRulz
10156
Create implementation
272239
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34767"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21013",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "6"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "526969440738617"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z21032K2": {
"Z1K1": "Z18",
"Z18K1": "Z21013K1"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "degrees to radians (float64), composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
gjeg1hia3zy4w6zc34hl8xni1bqg7zx
Talk:Z21031
1
82439
272241
2026-05-04T16:52:00Z
YoshiRulz
10156
Add to category
272241
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34768
0
82440
272242
2026-05-04T16:53:46Z
YoshiRulz
10156
Create implementation
272242
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34768"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21032",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z18",
"Z18K1": "Z21032K1"
},
"Z21033K2": {
"Z1K1": "Z7",
"Z7K1": "Z22605",
"Z22605K1": {
"Z1K1": "Z18",
"Z18K1": "Z21032K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "float64 multiplication, x/(1/y) composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
sq82eetklxjlxtqal88u06qh735gdy9
Z34769
0
82441
272245
2026-05-04T16:55:27Z
YoshiRulz
10156
Create implementation
272245
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34769"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21033",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z18",
"Z18K1": "Z21033K1"
},
"Z21032K2": {
"Z1K1": "Z7",
"Z7K1": "Z22605",
"Z22605K1": {
"Z1K1": "Z18",
"Z18K1": "Z21033K2"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "float64 division, x*(1/y) composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8qojvffz04cixjt1vhyfiohe1ocf3ln
Z34770
0
82442
272247
2026-05-04T17:02:02Z
YoshiRulz
10156
Create implementation
272247
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34770"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21041",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z33615",
"Z33615K1": {
"Z1K1": "Z18",
"Z18K1": "Z21041K1"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z21775",
"Z21775K1": {
"Z1K1": "Z18",
"Z18K1": "Z21041K1"
}
},
"Z802K3": {
"Z1K1": "Z18",
"Z18K1": "Z21041K1"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "absolute value (float64), composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
2o4t4uvbgx766kaut5aj825okbo8s8w
Talk:Z21043
1
82443
272249
2026-05-04T17:07:01Z
YoshiRulz
10156
Add to category
272249
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21047
1
82444
272250
2026-05-04T17:07:51Z
YoshiRulz
10156
Add to category
272250
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21071
1
82445
272251
2026-05-04T17:07:54Z
YoshiRulz
10156
Add to category
272251
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21100
1
82446
272252
2026-05-04T17:08:02Z
YoshiRulz
10156
Add to category
272252
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21105
1
82447
272253
2026-05-04T17:09:55Z
YoshiRulz
10156
Add to category
272253
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21121
1
82448
272254
2026-05-04T17:11:13Z
YoshiRulz
10156
Add to category
272254
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34771
0
82449
272255
2026-05-04T17:14:04Z
YoshiRulz
10156
Create implementation
272255
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34771"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21132",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22074",
"Z22074K1": {
"Z1K1": "Z18",
"Z18K1": "Z21132K1"
},
"Z22074K2": {
"Z1K1": "Z7",
"Z7K1": "Z13366",
"Z13366K1": {
"Z1K1": "Z18",
"Z18K1": "Z21132K2"
},
"Z13366K2": {
"Z1K1": "Z7",
"Z7K1": "Z28222",
"Z28222K1": {
"Z1K1": "Z18",
"Z18K1": "Z21132K1"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "vararg apply, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nlyupkdfuq5kf77refezm30clloitz7
272256
272255
2026-05-04T17:17:37Z
YoshiRulz
10156
Resolve ZID
272256
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34771"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21132",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22074",
"Z22074K1": {
"Z1K1": "Z7",
"Z7K1": "Z30531",
"Z30531K1": {
"Z1K1": "Z18",
"Z18K1": "Z21132K1"
}
},
"Z22074K2": {
"Z1K1": "Z7",
"Z7K1": "Z13366",
"Z13366K1": {
"Z1K1": "Z18",
"Z18K1": "Z21132K2"
},
"Z13366K2": {
"Z1K1": "Z7",
"Z7K1": "Z28222",
"Z28222K1": {
"Z1K1": "Z18",
"Z18K1": "Z21132K1"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "vararg apply, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
66rpkbibsga7smkogtp5ltgsi5wmbyf
272257
272256
2026-05-04T17:18:25Z
YoshiRulz
10156
Also resolve for param count
272257
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34771"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21132",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z22074",
"Z22074K1": {
"Z1K1": "Z7",
"Z7K1": "Z30531",
"Z30531K1": {
"Z1K1": "Z18",
"Z18K1": "Z21132K1"
}
},
"Z22074K2": {
"Z1K1": "Z7",
"Z7K1": "Z13366",
"Z13366K1": {
"Z1K1": "Z18",
"Z18K1": "Z21132K2"
},
"Z13366K2": {
"Z1K1": "Z7",
"Z7K1": "Z28222",
"Z28222K1": {
"Z1K1": "Z7",
"Z7K1": "Z30531",
"Z30531K1": {
"Z1K1": "Z18",
"Z18K1": "Z21132K1"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "vararg apply, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
mgtbbytqce3ez95a41ajd3xoguur3it
Talk:Z21148
1
82450
272259
2026-05-04T17:25:44Z
YoshiRulz
10156
Add to category
272259
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21198
1
82451
272261
2026-05-04T17:30:27Z
YoshiRulz
10156
Add to category
272261
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21267
1
82452
272264
2026-05-04T17:34:34Z
YoshiRulz
10156
Add to category
272264
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34772
0
82453
272265
2026-05-04T17:48:40Z
YoshiRulz
10156
Create test
272265
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34772"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z21278",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z21278",
"Z21278K1": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "6"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z21278K2": {
"Z1K1": "Z13518",
"Z13518K1": "5"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z24506",
"Z24506K2": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "6194"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "100"
}
},
"Z24506K3": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "100"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ry5w4fc77gi3t5a1ctrhapxjwjwav8y
272268
272265
2026-05-04T17:49:54Z
YoshiRulz
10156
Add en alias
272268
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34772"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z21278",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z21278",
"Z21278K1": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "6"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z21278K2": {
"Z1K1": "Z13518",
"Z13518K1": "5"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z24506",
"Z24506K2": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "6194"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "100"
}
},
"Z24506K3": {
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "100"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "pentagon with sides of length 6 has area ~61.94"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ter149eh9kapu0z2zzsn7kuz7fme4if
Z34773
0
82454
272266
2026-05-04T17:48:55Z
YoshiRulz
10156
Create implementation
272266
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34773"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21278",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z23909",
"Z23909K1": [
"Z19677",
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "4"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z21653",
"Z21653K1": {
"Z1K1": "Z18",
"Z18K1": "Z21278K2"
}
},
{
"Z1K1": "Z18",
"Z18K1": "Z21278K1"
},
{
"Z1K1": "Z18",
"Z18K1": "Z21278K1"
},
{
"Z1K1": "Z7",
"Z7K1": "Z21071",
"Z21071K1": {
"Z1K1": "Z7",
"Z7K1": "Z16463",
"Z16463K1": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": "Z28766",
"Z21033K2": {
"Z1K1": "Z7",
"Z7K1": "Z20936",
"Z20936K1": {
"Z1K1": "Z18",
"Z18K1": "Z21278K2"
}
}
}
}
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "area of a regular polygon, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
aq00dtbscaa8qpwzdff35fgji58bva4
Talk:Z21278
1
82455
272269
2026-05-04T17:50:05Z
YoshiRulz
10156
Add to category
272269
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34774
0
82456
272272
2026-05-04T17:55:42Z
YoshiRulz
10156
Create implementation
272272
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34774"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21334",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z22318",
"Z22318K1": {
"Z1K1": "Z7",
"Z7K1": "Z21031",
"Z21031K1": {
"Z1K1": "Z7",
"Z7K1": "Z22592",
"Z22592K1": [
"Z20838",
{
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
{
"Z1K1": "Z18",
"Z18K1": "Z21334K1"
},
{
"Z1K1": "Z18",
"Z18K1": "Z21334K1"
},
{
"Z1K1": "Z18",
"Z18K1": "Z21334K2"
},
{
"Z1K1": "Z18",
"Z18K1": "Z21334K2"
}
]
},
"Z21031K2": {
"Z1K1": "Z7",
"Z7K1": "Z31135",
"Z31135K1": {
"Z1K1": "Z7",
"Z7K1": "Z21031",
"Z21031K1": {
"Z1K1": "Z7",
"Z7K1": "Z20849",
"Z20849K1": {
"Z1K1": "Z7",
"Z7K1": "Z31135",
"Z31135K1": {
"Z1K1": "Z18",
"Z18K1": "Z21334K1"
}
},
"Z20849K2": {
"Z1K1": "Z7",
"Z7K1": "Z31135",
"Z31135K1": {
"Z1K1": "Z18",
"Z18K1": "Z21334K2"
}
}
},
"Z21031K2": {
"Z1K1": "Z7",
"Z7K1": "Z31135",
"Z31135K1": {
"Z1K1": "Z18",
"Z18K1": "Z21334K3"
}
}
}
}
}
},
"Z21033K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "area of a triangle from side lengths, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
poa60ve4c2em5tnp7jzcqe3nn0lxmw6
Talk:Z21360
1
82457
272274
2026-05-04T18:04:10Z
YoshiRulz
10156
Add to category
272274
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34775
0
82458
272275
2026-05-04T18:08:01Z
YoshiRulz
10156
Create implementation
272275
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34775"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21366",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10000",
"Z10000K1": {
"Z1K1": "Z7",
"Z7K1": "Z10047",
"Z10047K1": {
"Z1K1": "Z7",
"Z7K1": "Z11410",
"Z11410K1": {
"Z1K1": "Z18",
"Z18K1": "Z21366K1"
},
"Z11410K2": "Z13128"
}
},
"Z10000K2": {
"Z1K1": "Z7",
"Z7K1": "Z11418",
"Z11418K1": {
"Z1K1": "Z18",
"Z18K1": "Z21366K1"
},
"Z11418K2": "Z13128"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lowercase first word, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
23y4qkrle3ye7m0gsfgwiqfch1op30a
Z34776
0
82459
272277
2026-05-04T18:14:19Z
YoshiRulz
10156
Create implementation
272277
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34776"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21430",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z19565",
"Z19565K1": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K1": {
"Z1K1": "Z18",
"Z18K1": "Z21430K1"
},
"Z866K2": "0"
},
"Z19565K2": "Z16660",
"Z19565K3": {
"Z1K1": "Z7",
"Z7K1": "Z866",
"Z866K1": {
"Z1K1": "Z18",
"Z18K1": "Z21430K1"
},
"Z866K2": "1"
},
"Z19565K4": "Z16662",
"Z19565K5": "Z16661"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "single bit String to Sign for float, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ksl8w2irhe0djb4aybqglwrdorx6c52
Talk:Z21486
1
82460
272279
2026-05-04T18:16:08Z
YoshiRulz
10156
Add to category
272279
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21503
1
82461
272280
2026-05-04T18:17:59Z
YoshiRulz
10156
Add to category
272280
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21514
1
82462
272281
2026-05-04T18:18:01Z
YoshiRulz
10156
Add to category
272281
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21539
1
82463
272282
2026-05-04T18:19:18Z
YoshiRulz
10156
Add to category
272282
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21554
1
82464
272283
2026-05-04T18:19:21Z
YoshiRulz
10156
Add to category
272283
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21562
1
82465
272284
2026-05-04T18:19:23Z
YoshiRulz
10156
Add to category
272284
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21572
1
82466
272285
2026-05-04T18:19:25Z
YoshiRulz
10156
Add to category
272285
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34777
0
82467
272286
2026-05-04T18:23:28Z
YoshiRulz
10156
Create implementation
272286
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34777"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21577",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z19308",
"Z19308K1": {
"Z1K1": "Z7",
"Z7K1": "Z811",
"Z811K1": {
"Z1K1": "Z7",
"Z7K1": "Z29688",
"Z29688K1": {
"Z1K1": "Z7",
"Z7K1": "Z23116",
"Z23116K1": {
"Z1K1": "Z18",
"Z18K1": "Z21577K1"
}
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Item reference by P5137 from Sense, composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hhjc20itscdmav4epfo3v26e3xb3itv
Talk:Z21593
1
82468
272289
2026-05-04T18:24:59Z
YoshiRulz
10156
Add to category
272289
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34778
0
82469
272296
2026-05-04T18:34:06Z
YoshiRulz
10156
Create implementation
272296
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34778"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21721",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z10216",
"Z10216K1": {
"Z1K1": "Z7",
"Z7K1": "Z21714",
"Z21714K1": {
"Z1K1": "Z18",
"Z18K1": "Z21721K1"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is Rational non-negative, not negative composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
k9dy8nj24di39t9djc77rbonvut53ii
Z34779
0
82470
272298
2026-05-04T18:35:52Z
YoshiRulz
10156
Create test
272298
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34779"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32314",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32314",
"Z32314K1": "11111"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"11111\" -\u003E T (via ordinal \"eleven thousand...\")"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
grqxz6rtk5q5lcctassmaeyfaq9m5p6
272301
272298
2026-05-04T18:53:27Z
YoshiRulz
10156
Leave a note
272301
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34779"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z32314",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z32314",
"Z32314K1": "11111"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "\"11111\" -\u003E T (via ordinal \"eleven thousand...\")"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "implied by test Z31075 for outer function"
}
]
}
}
lrfuu0nyp7d6qi2az0xelutf718x104
Talk:Z21796
1
82471
272309
2026-05-04T19:18:01Z
YoshiRulz
10156
Add to category
272309
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21814
1
82472
272310
2026-05-04T19:22:09Z
YoshiRulz
10156
Add to category
272310
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Talk:Z21842
1
82473
272311
2026-05-04T19:24:02Z
YoshiRulz
10156
Add to category
272311
wikitext
text/x-wiki
[[Category:Functions_with_only_code_implementations]]
423sug58fedukocikcui1tj3l1r5prt
Z34780
0
82474
272313
2026-05-04T19:42:02Z
YoshiRulz
10156
Create function
272313
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34780"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z34780K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34780"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "signum (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns -1.0, 0.0, or 1.0 for negative finite, zero, and positive finite values respectively"
}
]
}
}
p4ozu3avj4cxqvwu5aizehy27wliyob
272319
272313
2026-05-04T19:45:24Z
YoshiRulz
10156
Added Z34781, Z34782, Z34783, Z34784 and Z34785 to the approved list of test cases
272319
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34780"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z34780K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z34781",
"Z34782",
"Z34783",
"Z34784",
"Z34785"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34780"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "signum (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns -1.0, 0.0, or 1.0 for negative finite, zero, and positive finite values respectively"
}
]
}
}
9i5vmsqhdmvav0uazg4vdbsi68d11ai
272323
272319
2026-05-04T19:50:30Z
YoshiRulz
10156
Added Z34786 and Z34788 to the approved list of implementations
272323
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34780"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z20838",
"Z17K2": "Z34780K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "number"
}
]
}
}
],
"Z8K2": "Z20838",
"Z8K3": [
"Z20",
"Z34781",
"Z34782",
"Z34783",
"Z34784",
"Z34785"
],
"Z8K4": [
"Z14",
"Z34786",
"Z34788"
],
"Z8K5": "Z34780"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "signum (float64)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns -1.0, 0.0, or 1.0 for negative finite, zero, and positive finite values respectively"
}
]
}
}
j8247mr0g3ii3dj6xy44xdg36srosm4
Z34781
0
82475
272314
2026-05-04T19:42:48Z
YoshiRulz
10156
Create test
272314
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34781"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34780",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34780",
"Z34780K1": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1023"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20831"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20850",
"Z20850K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1023"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20829"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sgn(-0) = 0"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
b0tp48i36fl71ps1vp69anwsdezg4pq
Z34782
0
82476
272315
2026-05-04T19:43:05Z
YoshiRulz
10156
Create test
272315
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34782"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34780",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34780",
"Z34780K1": "Z20862"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20850",
"Z20850K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sgn(pi) = 1"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
7gd5xsv0tt2i20ub2v8w1f4rbeap9b9
Z34783
0
82477
272316
2026-05-04T19:43:40Z
YoshiRulz
10156
Create test
272316
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34783"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34780",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34780",
"Z34780K1": "Z26368"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20850",
"Z20850K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sgn(really big) = 1"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
l1zldmq4li0cbavzs52xe4st2b43hqn
Z34784
0
82478
272317
2026-05-04T19:44:02Z
YoshiRulz
10156
Create test
272317
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34784"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34780",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34780",
"Z34780K1": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "10"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "923589767331840"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20850",
"Z20850K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sgn(-1234) = -1"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
8kx9z5xzp42xkie7uuointl76n7rmxe
Z34785
0
82479
272318
2026-05-04T19:45:10Z
YoshiRulz
10156
Create test
272318
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34785"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34780",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34780",
"Z34780K1": {
"Z1K1": "Z7",
"Z7K1": "Z21028",
"Z21028K1": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z21028K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "5"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "1125899906842624"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z20850",
"Z20850K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sgn(2^-40) = 1"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
pdxh6yimtjcfby7bylnyb2phdrb6liq
Z34786
0
82480
272320
2026-05-04T19:46:31Z
YoshiRulz
10156
Create implementation
272320
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34786"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34780",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z22636",
"Z22636K1": {
"Z1K1": "Z18",
"Z18K1": "Z34780K1"
}
},
"Z802K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1023"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20829"
}
},
"Z802K3": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z18",
"Z18K1": "Z34780K1"
},
"Z21033K2": {
"Z1K1": "Z7",
"Z7K1": "Z21041",
"Z21041K1": {
"Z1K1": "Z18",
"Z18K1": "Z34780K1"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "signum (float64), dividing composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
mtldoroa7kkveydza5jv2xsn0j226vh
Z34787
0
82481
272321
2026-05-04T19:47:44Z
YoshiRulz
10156
Create implementation
272321
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34787"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34780",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z20937",
"Z20937K1": {
"Z1K1": "Z7",
"Z7K1": "Z17151",
"Z17151K1": {
"Z1K1": "Z7",
"Z7K1": "Z21136",
"Z21136K1": {
"Z1K1": "Z18",
"Z18K1": "Z34780K1"
}
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "signum (float64), sign as Integer composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
0ka2bpghlbqq6ua5q1pocalymmn17gl
Z34788
0
82482
272322
2026-05-04T19:50:17Z
YoshiRulz
10156
Create implementation
272322
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34788"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z34780",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z19565",
"Z19565K1": {
"Z1K1": "Z7",
"Z7K1": "Z22636",
"Z22636K1": {
"Z1K1": "Z18",
"Z18K1": "Z34780K1"
}
},
"Z19565K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1023"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20829"
}
},
"Z19565K3": {
"Z1K1": "Z7",
"Z7K1": "Z33615",
"Z33615K1": {
"Z1K1": "Z18",
"Z18K1": "Z34780K1"
}
},
"Z19565K4": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16662"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z19565K5": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16661"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "signum (float64), conditionals composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
449wmz0u39ouct9rujp07g3jqd0m68b
Z34789
0
82483
272325
2026-05-04T19:53:04Z
YoshiRulz
10156
Create implementation
272325
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34789"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21848",
"Z14K2": [
"Z20838",
{
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z21031",
"Z21031K1": {
"Z1K1": "Z7",
"Z7K1": "Z21775",
"Z21775K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21031K2": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z7",
"Z7K1": "Z34780",
"Z34780K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21032K2": {
"Z1K1": "Z7",
"Z7K1": "Z22318",
"Z22318K1": {
"Z1K1": "Z7",
"Z7K1": "Z21031",
"Z21031K1": {
"Z1K1": "Z7",
"Z7K1": "Z31135",
"Z31135K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21031K2": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z21032K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
},
"Z21032K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K3"
}
}
}
}
}
},
"Z21033K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
},
"Z21033K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K3"
},
"Z21033K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
},
"Z21033K2": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z21031",
"Z21031K1": {
"Z1K1": "Z7",
"Z7K1": "Z21775",
"Z21775K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21031K2": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z7",
"Z7K1": "Z34780",
"Z34780K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21032K2": {
"Z1K1": "Z7",
"Z7K1": "Z22318",
"Z22318K1": {
"Z1K1": "Z7",
"Z7K1": "Z21031",
"Z21031K1": {
"Z1K1": "Z7",
"Z7K1": "Z31135",
"Z31135K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21031K2": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z21032K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
},
"Z21032K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K3"
}
}
}
}
}
},
"Z21033K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
},
"Z21033K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
}
}
]
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "roots of quadratic equation (float64), composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qmon1aztrdlytb4ds641g2d9cy3bf80
272330
272325
2026-05-04T20:01:25Z
YoshiRulz
10156
Throw error when a is 0 instead of returning -Inf and NaN
272330
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34789"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z21848",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z802",
"Z802K1": {
"Z1K1": "Z7",
"Z7K1": "Z22636",
"Z22636K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
},
"Z802K2": {
"Z1K1": "Z7",
"Z7K1": "Z851",
"Z851K1": "Z516",
"Z851K2": [
"Z6",
"Z21848K1",
{
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
]
},
"Z802K3": [
"Z20838",
{
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z21031",
"Z21031K1": {
"Z1K1": "Z7",
"Z7K1": "Z21775",
"Z21775K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21031K2": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z7",
"Z7K1": "Z34780",
"Z34780K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21032K2": {
"Z1K1": "Z7",
"Z7K1": "Z22318",
"Z22318K1": {
"Z1K1": "Z7",
"Z7K1": "Z21031",
"Z21031K1": {
"Z1K1": "Z7",
"Z7K1": "Z31135",
"Z31135K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21031K2": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z21032K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
},
"Z21032K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K3"
}
}
}
}
}
},
"Z21033K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
},
"Z21033K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
},
{
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K3"
},
"Z21033K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
},
"Z21033K2": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z21033",
"Z21033K1": {
"Z1K1": "Z7",
"Z7K1": "Z21031",
"Z21031K1": {
"Z1K1": "Z7",
"Z7K1": "Z21775",
"Z21775K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21031K2": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z7",
"Z7K1": "Z34780",
"Z34780K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21032K2": {
"Z1K1": "Z7",
"Z7K1": "Z22318",
"Z22318K1": {
"Z1K1": "Z7",
"Z7K1": "Z21031",
"Z21031K1": {
"Z1K1": "Z7",
"Z7K1": "Z31135",
"Z31135K1": {
"Z1K1": "Z18",
"Z18K1": "Z21848K2"
}
},
"Z21031K2": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z7",
"Z7K1": "Z21032",
"Z21032K1": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
},
"Z21032K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
},
"Z21032K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K3"
}
}
}
}
}
},
"Z21033K2": {
"Z1K1": "Z20838",
"Z20838K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z20838K2": {
"Z1K1": "Z16683",
"Z16683K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z16683K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
"Z20838K3": {
"Z1K1": "Z13518",
"Z13518K1": "0"
},
"Z20838K4": {
"Z1K1": "Z20825",
"Z20825K1": "Z20837"
}
}
},
"Z21033K2": {
"Z1K1": "Z18",
"Z18K1": "Z21848K1"
}
}
}
]
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "roots of quadratic equation (float64), composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
iporrq2d5xjly84wnnboq0r07pyo20m
Talk:Z26712
1
82484
272326
2026-05-04T19:56:28Z
Hogü-456
617
/* Deriving gender from Item */ new section
272326
wikitext
text/x-wiki
== Deriving gender from Item ==
@[[User:Ameisenigel|Ameisenigel]] do you think it is possible to derive the gender from the item instead of the Lexeme as the generated sentence is about a human. It seems like it does not work so far yet. I tested it with {{Q|Q868}} and so far it idid not work properly. The article was eine and not ein. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 19:56, 4 May 2026 (UTC)
bcxp0gn38zac6cmdks0ahm8o3rr4l5n
272392
272326
2026-05-05T06:17:24Z
Ameisenigel
44
/* Deriving gender from Item */ Reply
272392
wikitext
text/x-wiki
== Deriving gender from Item ==
@[[User:Ameisenigel|Ameisenigel]] do you think it is possible to derive the gender from the item instead of the Lexeme as the generated sentence is about a human. It seems like it does not work so far yet. I tested it with {{Q|Q868}} and so far it idid not work properly. The article was eine and not ein. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 19:56, 4 May 2026 (UTC)
:This would require some kind of check if the item is about a human. I am not sure how this could be implemented, but it would be an improvement. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 06:17, 5 May 2026 (UTC)
pzdj5q2csprxyopiz3erlabk0re52he
Talk:Z32398
1
82485
272332
2026-05-04T20:11:57Z
Hogü-456
617
/* Selecting Lexeme based on gender of the item */ new section
272332
wikitext
text/x-wiki
== Selecting Lexeme based on gender of the item ==
@[[User:Ameisenigel|Ameisenigel]] @[[User:GrounderUK|GrounderUK]] I looked at the function implementation and it does not work well for humans. It depends on what Lexeme has been created first if the correct result is retrieved or not. It is using [[Z22696]] to get the Lexeme related to the item. If there are several ones for the genders then it takes still the first one. From my point of view it needs to take the one related to the gender of the first item if this is a human. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:11, 4 May 2026 (UTC)
pzs3vcc587yq2k6o4bh978ihvqvyv39
272400
272332
2026-05-05T06:35:47Z
Ameisenigel
44
/* Selecting Lexeme based on gender of the item */ Reply
272400
wikitext
text/x-wiki
== Selecting Lexeme based on gender of the item ==
@[[User:Ameisenigel|Ameisenigel]] @[[User:GrounderUK|GrounderUK]] I looked at the function implementation and it does not work well for humans. It depends on what Lexeme has been created first if the correct result is retrieved or not. It is using [[Z22696]] to get the Lexeme related to the item. If there are several ones for the genders then it takes still the first one. From my point of view it needs to take the one related to the gender of the first item if this is a human. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:11, 4 May 2026 (UTC)
:Do we have a (better) function for finding the appropriate lexeme? --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 06:35, 5 May 2026 (UTC)
2y3ofe4j3zbkhqors88vx4o7etmmkhm
Z34790
0
82486
272334
2026-05-04T20:14:53Z
YoshiRulz
10156
Create function
272334
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34790"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z34790K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34790"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
fm20ns3kkn97yowqwce6c5tg03sran0
272335
272334
2026-05-04T20:15:26Z
YoshiRulz
10156
Add equality function param
272335
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34790"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z34790K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z34790K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "equality function"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34790"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qogzzje32g4uhb1gmdc241ae3dg6mba
272339
272335
2026-05-04T20:18:02Z
YoshiRulz
10156
Added Z30867 to the approved list of implementations
272339
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34790"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z34790K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z34790K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "equality function"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14",
"Z30867"
],
"Z8K5": "Z34790"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
560k8xu81h9tqtmd34lxg052an56g4l
272346
272339
2026-05-04T20:41:52Z
YoshiRulz
10156
Added Z30866 to the approved list of test cases
272346
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34790"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z34790K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z34790K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "equality function"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30866"
],
"Z8K4": [
"Z14",
"Z30867"
],
"Z8K5": "Z34790"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
otrcsfcghte9e6zaf42qn3td0hhr9sf
272349
272346
2026-05-04T20:43:19Z
YoshiRulz
10156
Added Z30909 to the approved list of test cases
272349
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34790"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z34790K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z34790K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "equality function"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30866",
"Z30909"
],
"Z8K4": [
"Z14",
"Z30867"
],
"Z8K5": "Z34790"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hvjwyw2gfkmps3iopt12jribfv6cik5
272350
272349
2026-05-04T20:44:07Z
YoshiRulz
10156
Removed Z30867 from the approved list of implementations
272350
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34790"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z34790K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z34790K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "equality function"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30866",
"Z30909"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34790"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
r2618rvitl5qvo2iywsozc1i5347q85
272352
272350
2026-05-04T20:45:00Z
YoshiRulz
10156
Added Z30867 to the approved list of implementations
272352
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34790"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z34790K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z34790K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "equality function"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30866",
"Z30909"
],
"Z8K4": [
"Z14",
"Z30867"
],
"Z8K5": "Z34790"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
hvjwyw2gfkmps3iopt12jribfv6cik5
272356
272352
2026-05-04T20:57:14Z
YoshiRulz
10156
Added Z34792 to the approved list of test cases
272356
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34790"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z34790K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "sequence"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z34790K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "equality function"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z1"
}
},
"Z8K3": [
"Z20",
"Z30866",
"Z30909",
"Z34792"
],
"Z8K4": [
"Z14",
"Z30867"
],
"Z8K5": "Z34790"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"run-length encode",
"RLE"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
kt4wiexutq0hxfc6eonikm21yfo9dk1
Z34791
0
82487
272336
2026-05-04T20:16:13Z
YoshiRulz
10156
Create implementation
272336
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34791"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z30865",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": {
"Z1K1": "Z18",
"Z18K1": "Z30865K1"
},
"Z34790K2": "Z13052"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "run-length encoding (object equality), composition"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
nh4h6u2d05x2hch5nw4p3h1cyr6qhxw
Z34792
0
82488
272353
2026-05-04T20:54:01Z
YoshiRulz
10156
Create test
272353
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34792"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34790",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": [
"Z6",
"A",
"B",
"CC",
"D",
"E"
],
"Z34790K2": "Z11690"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
{
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z6"
},
{
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z6"
},
"K1": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"K2": "A"
},
{
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z6"
},
"K1": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"K2": "CC"
},
{
"Z1K1": {
"Z1K1": "Z7",
"Z7K1": "Z882",
"Z882K1": "Z13518",
"Z882K2": "Z6"
},
"K1": {
"Z1K1": "Z13518",
"Z13518K1": "2"
},
"K2": "D"
}
],
"Z889K3": "Z19586"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "RLE([...]) == [ (2,[...]), (1,[...]), (2,[...]) ]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
o1ppigrurum2hze0tok29cfx01kalac
272355
272353
2026-05-04T20:56:14Z
YoshiRulz
10156
Only check run lengths
272355
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34792"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34790",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z873",
"Z873K1": "Z821",
"Z873K2": {
"Z1K1": "Z7",
"Z7K1": "Z34790",
"Z34790K1": [
"Z6",
"A",
"B",
"CC",
"D",
"E"
],
"Z34790K2": "Z11690"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z13518",
{
"Z1K1": "Z13518",
"Z13518K1": "2"
},
{
"Z1K1": "Z13518",
"Z13518K1": "1"
},
{
"Z1K1": "Z13518",
"Z13518K1": "2"
}
],
"Z889K3": "Z13522"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "RLE([...]) == [ (2,[...]), (1,[...]), (2,[...]) ]"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
ckb10v0xauamw5tv0v2oowy3phfnqwh
Z34793
0
82489
272365
2026-05-04T21:53:19Z
YoshiRulz
10156
Create function
272365
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34793"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z34793K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z34793K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "equality function"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34793"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "most common element(s) in list"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
irig73w6frdzkdux5mm5bo8fng6xhvc
272369
272365
2026-05-04T22:02:56Z
YoshiRulz
10156
Added Z34794, Z34795 and Z34796 to the approved list of test cases
272369
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34793"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z34793K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "list"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z8",
"Z17K2": "Z34793K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "equality function"
}
]
}
}
],
"Z8K2": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z8K3": [
"Z20",
"Z34794",
"Z34795",
"Z34796"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34793"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "most common element(s) in list"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
6v0490wqt3jg97vutdt9nh3pcboxec3
Z34794
0
82490
272366
2026-05-04T22:02:31Z
YoshiRulz
10156
Create test
272366
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34794"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34793",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34793",
"Z34793K1": [
"Z6",
"A",
"B",
"A",
"A",
"B"
],
"Z34793K2": "Z866"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z6",
"A"
],
"Z889K3": "Z866"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "mode([ \"A\", \"B\", \"A\", \"A\", \"B\" ], equality)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1c597nf9vqgr88eek5mk9qdxscchesv
Z34795
0
82491
272367
2026-05-04T22:02:35Z
YoshiRulz
10156
Create test
272367
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34795"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34793",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34793",
"Z34793K1": [
"Z6",
"A",
"B",
"A",
"A",
"B",
"B"
],
"Z34793K2": "Z866"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z6",
"A",
"B"
],
"Z889K3": "Z866"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "mode([ \"A\", \"B\", \"A\", \"A\", \"B\", \"B\" ], equality)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
91upvkcqx2zymm1axb8z0mvv96g0p1m
Z34796
0
82492
272368
2026-05-04T22:02:40Z
YoshiRulz
10156
Create test
272368
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34796"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z34793",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z34793",
"Z34793K1": [
"Z6",
"A",
"BB",
"C",
"D",
"EE"
],
"Z34793K2": "Z11690"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z889",
"Z889K2": [
"Z6",
"A"
],
"Z889K3": "Z866"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "mode([ \"A\", \"BB\", \"C\", \"D\", \"EE\" ], same length)"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
95vk9skfqyu4jo30ifo9tm68qllfrcn
Wikifunctions:Human languages/Z1360
4
82493
272376
2026-05-05T05:44:02Z
Arlo Barnes
1231
move from [[WF:RF]]
272376
wikitext
text/x-wiki
{{Z+|Z1360}}
* inputs: natural number (new numeric type) and language Z-number; output: 'singular', 'dual', 'paucal', 'plural', etc. as string
*: {{doing}}: {{z+|Z15977}}
* {{z|Z26570}} but with a {{z|Z881}} of {{z|Z6091}} for the {{para|location}} input;<br/>such as in "{{q|Q122962941}} is an {{q|Q350604}} in {{em|{{q|Q801}} and {{q|Q39760}}}}"
m67wzenv6qv2r7qqiseyekdzwifiw82
Wikifunctions:Human languages/vgt
4
82494
272378
2026-05-05T05:47:54Z
Arlo Barnes
1231
move from [[WF:RF]]
272378
wikitext
text/x-wiki
=== vgt - Flemish Sign Language ===
* SignWriting encode [[User:JhowieNitnek|JhowieNitnek]] ([[User talk:JhowieNitnek|talk]]) 12:44, 18 January 2026 (UTC)
ixddx1jbvbjwdtunelomjccwt2ztca3
Wikifunctions:Human languages/Z1179
4
82495
272379
2026-05-05T05:49:03Z
Arlo Barnes
1231
move from [[WF:RF]]
272379
wikitext
text/x-wiki
{{z+|Z1179}}
* Tyap has six determiners/definite articles which determine the pronoun, number (1-5), etc. forms used.
** ka & wu (basically for singular nouns and adjectives with a few exceptions)
** hu & ji (for singular and plural nouns and adjectives)
** ba & na (mainly for plural nouns.
*** Determiners come after nouns.
*** When an adjective comes before a noun, the determiner used is that of the adjective. E.g., a̱sham (ka) - (the) beautiful, kyang (hu) - (the) thing = a̱sham kyang (ka) - (the) beautiful thing.
* Tyap has a non-uniform noun class system used for noun pluralization and conversion from one part of speech to another. E.g., a̱bwom (song) and bwom (to sing), a̱fufwuo (ears) and fufwuo (ear).
* Affixation: Prefixes exist but suffixes hardly are found.
k9r85z3vyqcum2cjmk4w353973vonnq
Wikifunctions:Human languages/Z1157
4
82496
272380
2026-05-05T05:50:37Z
Arlo Barnes
1231
move from [[WF:RF]]
272380
wikitext
text/x-wiki
{{z+|Z1157}}
* Cardinals
** Cardinal to number
** Number to cardinal
* Verbs
** [https://e-ans.ivdnt.org/topics/pid/ans0203lingtopic Conjugations]
* Morphology
** Diminutive to root word
*** Belgian diminutive to root word
** Root word to diminutive
*** Belgian root word to diminutive (-ke)
** Plural diminutive to root word
*** Belgian plural diminutive to root word
** Root word to plural diminutive
*** Belgian root word to plural diminutive (-kes)
iomu4cd4znlhlalt5zu1gxclawfr0dw
Wikifunctions:Human languages/Z1013
4
82497
272381
2026-05-05T05:52:24Z
Arlo Barnes
1231
move from [[WF:RF]]
272381
wikitext
text/x-wiki
{{z+|Z1013}}
A notated demo sentence ("Aishà taa jeefar dà kàren Indoo" ― "Aisha threw away Indo's dog") is available at http://intent.xigt.org
tao9gkab4wnt8p3qhv52843ifgq430j
Wikifunctions:Human languages/Z1004
4
82498
272382
2026-05-05T05:53:07Z
Arlo Barnes
1231
move from [[WF:RF]]
272382
wikitext
text/x-wiki
{{z+|Z1004}}
* {{z+|Z11590}} Masculine adjective -> feminine, e.g. "exact"->"exacte"
* Conjugated verb => Infinitive, e.g. "alla" => "aller", "mordit" => "mordre"
4u6dcf7pv7c3kdz522fj2pt9sqbha2z
Wikifunctions:Human languages/Z1314
4
82499
272384
2026-05-05T05:54:51Z
Arlo Barnes
1231
move from [[WF:RF]]
272384
wikitext
text/x-wiki
{{Z+|Z1314}}
* Basque language declension system in rather regular based on suffixes.
** Here a few examples for Basque declension:
*** {{z+|Z18541}}
*** {{z+|Z18670}}
**Before implementing all of them, we may propose an overall classification that eases both the implementation and the future usage of the functions. Here a first try based on bibliography from the [https://www.euskaltzaindia.eus/index.php?option=com_ebe&view=bilaketa&task=pdf&Itemid=1161&atala=deklinabide-taulak Basque Language Academy]:
***Personal pronouns: they can be treated as exceptions (e.g. "zuek -> zuei", etc.) together with proper noun declension, or as a separate case.
***Determiners: they can be treated as exceptions (e.g. "hau" -> "honek", etc) together with common noun declension, or as a separated case
***Grammatical cases:
****Absolutive ("Nor"): indefinite, singular and plural
****Ergative ("Nork"): indefinite, singular and plural
****Dative ("Nori"): indefinite, singular and plural
***Place and Time: we must distinguish animate (AN) and inanimate (IN)
****Inessive IN ("Non"): indefinite, singular and plural
****Inessive AN ("Norengan"): indefinite, singular and plural - It could be a composition of "Noren" + "-gan"
****Place and time ("Nongo"): indefinite, singular and plural
****Allative IN ("Nora"): indefinite, singular and plural
****Allative AN ("Norengana"): indefinite, singular and plural - It could be a composition of "Noren/Norengan" + "-gan/-a"
****Finished Allative AN ("Noraino"): indefinite, singular and plural - It could be a composition of "Nora" + "-ino"
****Finished Allative AN ("Norengainaino"): indefinite, singular and plural - It could be a composition of "Noregana" + "-ino"
****Right way Allative IN ("Noratz"): indefinite, singular and plural - It could be a composition of "Nora" + "-ntz"
****Right way Allative AN ("Norenganantz"): indefinite, singular and plural - It could be a composition of "Norengana" + "-ntz"
****Ablative IN ("Nondik"): indefinite, singular and plural
****Ablative AN ("Norengandik"): indefinite, singular and plural
***Rest of the cases:
****Partitive ("Zerik"): indefinite
****Possessive ("Noren"): indefinite, singular and plural
****Sociative ("Norekin"): indefinite, singular and plural
****Instrumental ("Zerez"): indefinite, singular and plural
****Motivative ("Zerengatik"): indefinite, singular and plural
****Destinative ("Norentzat"): indefinite, singular and plural - It could be a composition of "Noren" + "-tzat"
***Special case:
****Prolative ("Nortzat"): indefinite
***To take into consideration:
****Together with animate and inanimate classification, we should also consider if the noun is a proper noun ("izen berezia"). We can identify that automatically (e.g. check if written in Title case, but this may not be always possible like in the beginning of sentences), but a dedicated function may be preferred (or a boolean to the generic function saying it is a proper noun).
****The main distinction is between noun ending by vowel or consonant that can be easily computed
84r2yux0h765ucy8p7zuvsoozsbveie
Wikifunctions:Human languages/Z1430
4
82500
272386
2026-05-05T05:57:43Z
Arlo Barnes
1231
move from [[WF:RF]]
272386
wikitext
text/x-wiki
{{z+|Z1430}}
* tense * person * number for each verb
** tenses: present, past, ...?
** person: first, second, third
** number: singular, plural
** {{doing}} third person singular present
** second person singular preterite
20w7s0i0pkl8lcw00ummr8mceu93nh9
Wikifunctions:Human languages/Z1024
4
82501
272388
2026-05-05T06:01:03Z
Arlo Barnes
1231
move from [[WF:RF]]
272388
wikitext
text/x-wiki
{{z+|Z1024}}
[[w:cy:]], [[w:en:colloquial Welsh morphology]]
6hlbeae3qbjxa2hre9y4dpwo0lrg291
Wikifunctions:Human languages/Z1907
4
82502
272389
2026-05-05T06:01:45Z
Arlo Barnes
1231
move from [[WF:RF]]
272389
wikitext
text/x-wiki
{{z+|Z1907}}
* [[w:en:Brazilian Sign Language#Writing|SignWriting]]
* [[incubator:wp/bzs/AS1f502S22f00M513x521S1f502492x497S22f00488x480_AS15d22S22b04M514x527S22b04493x497S15d22487x473|sample text]]
qfmcmv5f9oordb75ho9k0bfg1awoyje
Wikifunctions:JavaScript implementations
4
82503
272394
2026-05-05T06:30:29Z
Arlo Barnes
1231
main and see also
272394
wikitext
text/x-wiki
{{main|WF:PROG}}{{see also|WF:PY}}
47mr9aas5a3h4zlox18wv4jdocxc26w
272399
272394
2026-05-05T06:34:41Z
Arlo Barnes
1231
shortcut
272399
wikitext
text/x-wiki
{{main|WF:PROG}}{{see also|WF:PY}}{{shortcut|[[WF:JS]]}}
lwq4lcf6xcxbt0s4bbepfmzlu2os9v6
272403
272399
2026-05-05T06:41:42Z
Arlo Barnes
1231
category
272403
wikitext
text/x-wiki
{{main|WF:PROG}}{{see also|WF:PY}}{{shortcut|[[WF:JS]]}}
[[category:JavaScript implementations| ]]
gjgcrtqnf3hgq1za2734w2knkpwmwgs
Wikifunctions:PY
4
82504
272396
2026-05-05T06:32:20Z
Arlo Barnes
1231
redirect
272396
wikitext
text/x-wiki
#redirect[[WF:Python implementations]]
jb5yapii0vp13mwiwtgx9klpqg8pj1c
Wikifunctions:JS
4
82505
272398
2026-05-05T06:34:20Z
Arlo Barnes
1231
redirect
272398
wikitext
text/x-wiki
#redirect[[WF:JavaScript implementations]]
sllrk3uau1n4225pon2ddb0hwphtlf8
Z34797
0
82506
272410
2026-05-05T07:26:58Z
Sun8908
9804
272410
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34797"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z34797K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "pinyin"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z34797"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is valid pinyin for single character"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1i8wltar5s9xko4jz2x5hx4yp51hchs
Translations:Wikifunctions:Status updates/2026-05-02/27/de
1198
82507
272411
2026-05-05T10:03:43Z
Ameisenigel
44
Created page with "In den vergangenen zwei Wochen gab es mehrere Aktualisierungen zur Verbesserung der Benutzerfreundlichkeit und Verständlichkeit von der Abstrakten Wikipedia und Wikifunctions."
272411
wikitext
text/x-wiki
In den vergangenen zwei Wochen gab es mehrere Aktualisierungen zur Verbesserung der Benutzerfreundlichkeit und Verständlichkeit von der Abstrakten Wikipedia und Wikifunctions.
g8j98n0m0ntsvapgy7a6jw5k24ugj9u
Translations:Wikifunctions:Status updates/2026-05-02/16/de
1198
82508
272413
2026-05-05T10:06:22Z
Ameisenigel
44
Created page with "Die Such- und Entdeckungsfunktionen wurden verbessert, sodass Beitragende Inhalte leichter finden und erkennen können. In der Abstrakten Wikipedia werden nun neben den Suchergebnissen Vorschaubilder der Wikidata-Entitäten angezeigt (sofern verfügbar), was die visuelle Identifizierung von Entitäten erleichtert ($1). Darüber hinaus wurde der Algorithmus für die Suche von Bezeichnungen aktualisiert, um sicherzustellen, dass exakte Übereinstimmungen immer als erstes E..."
272413
wikitext
text/x-wiki
Die Such- und Entdeckungsfunktionen wurden verbessert, sodass Beitragende Inhalte leichter finden und erkennen können. In der Abstrakten Wikipedia werden nun neben den Suchergebnissen Vorschaubilder der Wikidata-Entitäten angezeigt (sofern verfügbar), was die visuelle Identifizierung von Entitäten erleichtert ($1). Darüber hinaus wurde der Algorithmus für die Suche von Bezeichnungen aktualisiert, um sicherzustellen, dass exakte Übereinstimmungen immer als erstes Ergebnis angezeigt werden. Dies behebt Fälle, in denen bekannte Objekte oder Funktionen schwer zu finden waren ($2).
lm15dte85ls4i0p8inufsi3l9b8mkvh
Translations:Wikifunctions:Status updates/2026-05-02/17/de
1198
82509
272415
2026-05-05T10:08:11Z
Ameisenigel
44
Created page with "Wir haben außerdem eine benutzerfreundlichere Methode für Communitys eingeführt, um empfohlene Funktionen zu konfigurieren. Bisher wurden die vorgeschlagenen Funktionen für eingebettete Fragmente von Wikifunctions und der Abstrakten Wikipedia über JSON-Seiten (MediaWiki:Wikilambda-suggested-functions.json und MediaWiki:Abstractwiki-suggested-functions.json) verwaltet. Dies wurde nun durch die Konfiguration über die Spezialseite Community-Konfiguration ersetzt, wodu..."
272415
wikitext
text/x-wiki
Wir haben außerdem eine benutzerfreundlichere Methode für Communitys eingeführt, um empfohlene Funktionen zu konfigurieren. Bisher wurden die vorgeschlagenen Funktionen für eingebettete Fragmente von Wikifunctions und der Abstrakten Wikipedia über JSON-Seiten (MediaWiki:Wikilambda-suggested-functions.json und MediaWiki:Abstractwiki-suggested-functions.json) verwaltet. Dies wurde nun durch die Konfiguration über die Spezialseite Community-Konfiguration ersetzt, wodurch die Verwaltung dieser Empfehlungen für Communitys vereinfacht wird ($1).
7v3h4j9jqz26mujpa9ut5jl4n5rdp3q
Translations:Wikifunctions:Status updates/2026-05-02/18/de
1198
82510
272417
2026-05-05T10:09:54Z
Ameisenigel
44
Created page with "Wir haben außerdem mehrere Fehler behoben und die Darstellung verbessert. Ein Fehler im Testergebnis-Caching-System wurde behoben, der dazu führte, dass Tests fälschlicherweise als fehlgeschlagen angezeigt wurden ($1). Ein Fehler in der Kopier-/Einfügefunktion, der beim Kopieren von Blöcken mit undefinierten Referenzen gelegentlich Probleme verursachte, wurde ebenfalls behoben. Eine weitere Korrektur stellt sicher, dass beim Veröffentlichen von Funktionsdefinitions..."
272417
wikitext
text/x-wiki
Wir haben außerdem mehrere Fehler behoben und die Darstellung verbessert. Ein Fehler im Testergebnis-Caching-System wurde behoben, der dazu führte, dass Tests fälschlicherweise als fehlgeschlagen angezeigt wurden ($1). Ein Fehler in der Kopier-/Einfügefunktion, der beim Kopieren von Blöcken mit undefinierten Referenzen gelegentlich Probleme verursachte, wurde ebenfalls behoben. Eine weitere Korrektur stellt sicher, dass beim Veröffentlichen von Funktionsdefinitionsänderungen verbundene Implementierungen und Tests bei Bedarf ordnungsgemäß getrennt werden.
0kikoedoyg5mxlcxqplyqrc4jxcrdw9
Translations:Wikifunctions:Status updates/2026-05-02/19/de
1198
82511
272419
2026-05-05T10:12:10Z
Ameisenigel
44
Created page with "Im Hinblick auf die verbesserte Darstellung wurde die Formatierung bei Kompositionen optimiert, sodass Zeilenumbrüche nun an Worttrennern erfolgen ($1). Außerdem wurde ein Fehler behoben, um sicherzustellen, dass die Bezeichnung Typisierte Liste beim Seitenaufbau geladen und nicht als ZID angezeigt wird ($2). Und in der Abstrakten Wikipedia wurde die Inhaltsdarstellung in der Vorschau verbessert. Die Vorschau fügt nun keine unerwünschten Zeilenabstände mehr ein, wen..."
272419
wikitext
text/x-wiki
Im Hinblick auf die verbesserte Darstellung wurde die Formatierung bei Kompositionen optimiert, sodass Zeilenumbrüche nun an Worttrennern erfolgen ($1). Außerdem wurde ein Fehler behoben, um sicherzustellen, dass die Bezeichnung Typisierte Liste beim Seitenaufbau geladen und nicht als ZID angezeigt wird ($2). Und in der Abstrakten Wikipedia wurde die Inhaltsdarstellung in der Vorschau verbessert. Die Vorschau fügt nun keine unerwünschten Zeilenabstände mehr ein, wenn Textfragmente als Absätze definiert werden ($3), was zu einer präziseren Formatierung führt ($4).
ab5oyng5m3px929iisbb7pk3xo38nx9
Z34798
0
82512
272421
2026-05-05T10:56:13Z
Jsamwrites
938
272421
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34798"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z33024",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z33024(Z33024K1, Z33024K2):\n\treturn [Z31676(x, Z33024K2) for x in Z33024K1]"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "label texts for Wikidata items, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
kvo62y1565oya65rgyzv853jh1w2rji
272422
272421
2026-05-05T11:03:38Z
Jsamwrites
938
272422
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z34798"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z33024",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z33024(Z33024K1, Z33024K2):\n\treturn [Z31676(x, Z33024K2) for x in Z33024K1]"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "label texts for Wikidata items, python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Please not use right now https://www.wikifunctions.org/wiki/Wikifunctions:FAQ"
}
]
}
}
qxt810eq0xtt0xrxiq87ngz20c2c3bg