Wikifunctions
wikifunctionswiki
https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page
MediaWiki 1.45.0-wmf.4
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
Wikifunctions:Project chat
4
1184
192203
192039
2025-06-11T00:01:21Z
99of9
1622
/* proposed Read and Display functions for Day of Roman Year */ new section
192203
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
pfrsqnfinj1t5t31l7edligmsxwdnkv
192205
192203
2025-06-11T01:50:54Z
99of9
1622
/* proposed Read and Display functions for Unicode code point */ {{Section resolved|1=~~~~}}
192205
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:50, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
byykryz8w4bmviy8mwdirldi8dkejqm
192206
192205
2025-06-11T01:51:09Z
99of9
1622
/* Request for connecting implementations */ {{Section resolved|1=~~~~}}
192206
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:50, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
2rkb0souqh0yperop8pj0ti7ykk96v5
192207
192206
2025-06-11T01:51:46Z
99of9
1622
/* Just wonder, that fair use is allowed here or not? */ {{Section resolved|1=~~~~}}
192207
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:50, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
8s1o23w1chia51x47bdfc92qfo27rfq
192208
192207
2025-06-11T01:52:21Z
99of9
1622
/* Taxon rank function(s) */ {{Section resolved|1=~~~~}}
192208
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:52, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:50, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
ojncrpkfpu3xmxquq3hm8hrzz3xu02l
192209
192208
2025-06-11T01:56:04Z
99of9
1622
/* Smaller natural numbers */ {{Section resolved|1=~~~~}}
192209
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:56, 11 June 2025 (UTC)}}
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:52, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:50, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
e08rrjfb3hojhnuo4p1f5fod3xbccxu
192210
192209
2025-06-11T01:57:42Z
99of9
1622
/* Internal server error in running a composition */ this bug is now resolved
192210
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:57, 11 June 2025 (UTC)}}
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:56, 11 June 2025 (UTC)}}
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:52, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:50, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
3cli07ckhd8h0i8jde6gy9wtuu98dpp
192211
192210
2025-06-11T01:58:17Z
99of9
1622
/* Problems with a js implementation */ this bug is now resolved {{Section resolved|1=~~~~}}
192211
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:58, 11 June 2025 (UTC)}}
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:57, 11 June 2025 (UTC)}}
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:56, 11 June 2025 (UTC)}}
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:52, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:50, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
111nhz8typdvv08bh3y0j6ok06i5qmp
192213
192211
2025-06-11T02:02:59Z
99of9
1622
/* proposed Display function for Gregorian calendar month Type */ Reply
192213
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
:::::It looks like this is now working again. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:02, 11 June 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:58, 11 June 2025 (UTC)}}
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:57, 11 June 2025 (UTC)}}
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:56, 11 June 2025 (UTC)}}
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:52, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:50, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
6ito16ixg6gb06uemjyy1xsz3n7pxhi
192214
192213
2025-06-11T02:03:29Z
99of9
1622
/* proposed Display functions for Day of the week Type */ {{Section resolved|1=~~~~}}
192214
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:03, 11 June 2025 (UTC)}}
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
:::::It looks like this is now working again. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:02, 11 June 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:58, 11 June 2025 (UTC)}}
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:57, 11 June 2025 (UTC)}}
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:56, 11 June 2025 (UTC)}}
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:52, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:50, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
ho6pb7fy7omn3y7pkevrk7v5fdpzr3l
192216
192214
2025-06-11T03:08:07Z
SpBot
978
archive 1 section: 1 to [[Wikifunctions:Project chat/Archive/2025/05]] (after section [[Wikifunctions:Project chat/Archive/2025/05#Fold_and_reduce_swapped|Fold_and_reduce_swapped]]) - previous edit: [[:User:99of9|99of9]], 2025-06-11 02:03
192216
wikitext
text/x-wiki
{{shortcut|[[WF:CHAT]]}}
__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|{{Special:PrefixIndex/WF:Project chat/Archive/|stripprefix=1}}}}
== proposed Reader and Display functions for Byte Type ==
I suggest we use the following functions as a reader and display function for the Byte Type:
* {{Z|Z22866}}
* {{Z|Z22887}}
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:40, 27 February 2025 (UTC)
:How do you feel about displaying in three or more formats: hex, binary, decimal and (maybe) octal? Something like “F1 (hex), 11110001 (binary), 241 (decimal), 361 (octal)” or “F1 [16], 11110001 [2], 241 [10], 361 [8]”? [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:09, 2 March 2025 (UTC)
::They all seem too long IMO. Imagine how they would show up in rendered displays (e.g. on Tests). I agree that choosing a base has no right answer, but I think choosing any is still better than all. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 22:21, 2 March 2025 (UTC)
:::Ah, yes… you’re right, of course! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:24, 2 March 2025 (UTC)
:Can we proceed with this one? In particular the reader will be useful to accept a wider range of inputs. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:31, 26 March 2025 (UTC)
::{{ping|DVrandecic (WMF)}} I know you've been busy, and am sorry to be pushy, but you asked for this [[Wikifunctions:Status_updates/2025-02-26|about 6 weeks ago]], and I tried to get it done the next day. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:32, 14 April 2025 (UTC)
:::@[[User:DVrandecic (WMF)|DVrandecic (WMF)]] @[[User:Denny|Denny]] ping again. The bot wants to archive this section. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:46, 16 May 2025 (UTC)
::::@[[User:99of9|99of9]] Thank you so much for your patience! The read and write function have been now set on [[Z80|Byte]] as per your proposal. Everyone, feel free to test it, I tried it a bit and it works like a charm! Thank you for all the work. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 09:33, 16 May 2025 (UTC)
:::::Thanks for clearing some important backlog. It's great to have you back. If you have more capacity, I sent a reminder of a few trickier backlogs for you via @[[User:Sannita (WMF)|Sannita (WMF)]] at [https://t.me/Wikifunctions/25377]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:56, 21 May 2025 (UTC)
::::::Hi @[[User:99of9|99of9]]! I checked with Sannita, and I am trying to find the other topics you listed. One is about [[Wikifunctions:Project chat/Archive/2024/06#Revisiting community %22maintainer%22 rights|connecting tests to built-ins]], and the other two seem about the converter for floating point numbers. I haven't caught up on the chat yet, is there a place I can read up on the floating point issues (besides going through the chat, which I will do some day)? --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 14:46, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/24417 April 7th] “I've just been investigating Z21923 and am now confident that the float64 converters to code are not dealing with the special case of subnormal numbers. When the exponent is -1023 (just this specific value), the mantissa should not get the 1+ in line 47 of [[Z20875]]. Similar omission in the JS converter.
:::::::“Then in [[Z20885]] it looks like like 83 should not subtract the 0.5 for the specific case of the exp being -1023 (or actually -1022 at that stage, since it is decremented in the following line)” [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:30, 26 May 2025 (UTC)
::::::::Hi @[[User:DVrandecic (WMF)|DVrandecic (WMF)]], yes, thanks @[[User:GrounderUK|GrounderUK]] that's all I wrote about #3. If you need more info let me know, but I learned most of what I know from wiki. Most relevant here is [[:w:Double-precision_floating-point_format#Exponent_encoding]]. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:12, 26 May 2025 (UTC)
:::::::[https://t.me/Wikifunctions/22480 February 2nd] is #4: "I've realised that the question at the end of the [[Wikifunctions:Status_updates/2025-01-29|FOTW section]] I wrote is now more urgent. The question was "Should special values return with their other (usually disregarded) keys matching the values of the sign, mantissa and exponent in the IEEE 754 binary representations?". It's now urgent because the type reader is now hardcoding the representation of the special values in every test that involves them (e.g. [[Z22081]]). Perhaps obviously by posing the question, I favour returning values for all keys that match how they appear in the binary representations." This received some concurrence, and I haven't seen anyone against it. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:15, 26 May 2025 (UTC)
== Numeric type : Real number ? ==
In order to allow π to be supported in my previously suggested cartesian/polar conversion function, I note that a 'real' type needed to be supported.
A 'real' differs from a rational in that it it can take any supportable numerical value.
Obviously for Wikifunctions purposes a real has a floor and ceiling value for positive/negative infinity, and underflow infinity ( i.e too close to zero). Can someone assist me on converting this into a formal explanation?
I had this so for for real :
Constraint : <math> \pm \left| (\infty > x > 0) \right| </math>
Representation: "[0-9]*\.[0-9](\E((\+|\-)|)[0-9]*|)"
Pi would then be -
Function Name: Pi
Function type: Constant value - Real.
Constraint : 3.141... Unless in abstract there's a different way to define it.
Formal methods is not an area I thave that much experience with.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:37, 26 March 2025 (UTC)
:Defining a color for referenche elsehwere either as :
Representation:\#[0-9A-F]{6}. \* Hex String *\
Representaion: (\1\.\0|\0\.[1-9]+)\,{2}(\1\.\0|\0\.[1-9]+) \* 3 value float (0.0 < n 1.0 *\
:We don’t have a [[Wikifunctions:Type proposals|Type proposal]] for Real numbers yet. We can support arbitrarily precise approximations for an irrational number as a [[Z19677]] and we already have a float64 approximation for [[Z20862]], but someone should propose a Real number type (or, perhaps, an Irrational number type) if they have a clear idea of how it might work. I’m rather drawn to the idea of a separate Irrational number type, without thinking it through… [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 10:28, 26 March 2025 (UTC)
::One way it could work is to reprensent (comptable) real numbers by fonctions that take a precision and returns a rational number. <math>\pi<math> would be internally implementations of algorithms / formulas that computes it up to some arbutrary precision.
::The arithmetic basic opération like addition would be higher order fonctions that takes real numbers as arguments and returns themselves a real number, so a function that takes a precision and returns a rational number that approximates the sum up to that precision. (A number of bits, or a number of decimals) [[User:TomT0m|TomT0m]] ([[User talk:TomT0m|talk]]) 12:35, 21 April 2025 (UTC)
:::I've started a little way down this track. A good example is {{Z|Z23902}}, but with a rational return. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:47, 25 April 2025 (UTC)
:::@[[User:Dv103|Dv103]] made another very nice example of this at {{Z|Z24505}}, which I hope we can use as a general model. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 15:03, 5 May 2025 (UTC)
:::If I understand the proposal right, the proposal is not to create a type for real numbers, but rather functions that return a real number with an argument for the precision in one of the existing types. Is that right? That seems to take us pretty far.
:::To the best of my knowledge -- but I am not a mathematician -- the answer to the question of how to create a type for real numbers isn't obvious yet. See also [https://chadnauseam.com/coding/random/calculator-app this thread] and [https://dl.acm.org/doi/pdf/10.1145/3385412.3386037 this paper].
:::Having said that, and re-reading the thread and skimming the paper, it would involve two new types:
:::# a number with a precision. Since we need that for the Wikidata quantity type anyway, we should probably have one such type that will also work for the Wikidata quantity type.
:::# the type as described in the paper for even more goodness.
:::Just a thought. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:39, 16 May 2025 (UTC)
== Using functions on main page ==
Now that functions can be used on wikitext pages on wikifunctions.org, I think it would be a good idea to use at least a few of these functions on the main page. Additionally, while we are at it, it would be a good idea to update the welcome section with current goings-on. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 19:09, 16 April 2025 (UTC)
:Yes this is a good idea from my point of view. What functions do you want to publish there. I think for example a function to get difference between two dates would be interesting. Another thing is the information how many months Wikifunctions exists so far. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 21:07, 16 April 2025 (UTC)
:Although we can’t actually count the number of functions, I think we could replace the plaintext count with a function that formats the value of some Natural number object. Picking up on @[[User:Hogü-456|Hogü-456]]’s suggestion, we could have a Wikifunctions data object (a list destined to become a map), and select the required datum from there. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:51, 17 April 2025 (UTC)
::Is it possible to count the number of functions with a script. At [[Special:ListObjectsByType]] I have not found the total number of functions as the count is not related to the total number of objects of the selected type and instead to the objects displayed. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:53, 18 April 2025 (UTC)
:::Yes. I meant we can’t have a Wikifunctions function that counts them, but we could have a function that displays the count according to language and rounded appropriately. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 23:07, 18 April 2025 (UTC)
::@[[User:GrounderUK|GrounderUK]]: If you want us to provide a MediaWiki magic word that reports the number of Functions on the site, we can definitely build that — equivalent to <code><nowiki>{{NUMBEROFARTICLES}}</nowiki></code>. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 13:36, 24 April 2025 (UTC)
:::Yes, please! [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 16:07, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]], @[[User:Feeglgeef|Feeglgeef]]: Patch written; will hopefully get it reviewed over the weekend and shipped next week, or maybe that thereafter. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:19, 25 April 2025 (UTC)
:::::Ah, yes… and just those counts is also not a problem. No need to reply to my previous comment. Thank you for this (and everything you do). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:45, 25 April 2025 (UTC)
::::::{{ping|99of9|Feeglgeef|GrounderUK|Hogü-456}} With apologies for the delay, this is now live – you can see entries in [[Special:Statistics]], and summon them in wikitext via:
::::::* <code><nowiki>{{NUMBEROFOBJECTS}}</nowiki></code>, the total number of Objects ({{NUMBEROFOBJECTS}}),
::::::* <code><nowiki>{{NUMBEROFFUNCTIONS}}</nowiki></code>, the number of Functions ({{NUMBEROFFUNCTIONS}}),
::::::* <code><nowiki>{{NUMBEROFIMPLEMENTATIONS}}</nowiki></code>, the number of Implementations ({{NUMBEROFIMPLEMENTATIONS}}),
::::::* <code><nowiki>{{NUMBEROFTESTCASES}}</nowiki></code>, the number of Test cases ({{NUMBEROFTESTCASES}}),
::::::* <code><nowiki>{{NUMBEROFTYPES}}</nowiki></code>, the number of Types ({{NUMBEROFTYPES}}), and
::::::* <code><nowiki>{{NUMBEROFLANGUAGES}}</nowiki></code>, the number of (natural) languages ({{NUMBEROFLANGUAGES}}).
::::::Do we want to add these to [[Template:Main page]]? (Should this particular part of the conversation move to [[Wikifunctions talk:Main Page]]?) [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:20, 13 May 2025 (UTC)
:::::::Number of Functions in the current manual spot please. [[User:Feeglgeef|Feeglgeef]] ([[User talk:Feeglgeef|talk]]) 11:03, 14 May 2025 (UTC)
:::::::I have replaced our manual counter for the number of functions with <nowiki>{{NUMBEROFFUNCTIONS}}</nowiki>. --[[User:Ameisenigel|Ameisenigel]] ([[User talk:Ameisenigel|talk]]) 13:46, 14 May 2025 (UTC)
::::::::Thank you! --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 10:46, 16 May 2025 (UTC)
:::Should that be number of functions or number of functions excluding built-ins? The “…that anyone can edit” tag suggests the latter, but we could just deduct the (relatively stable) number of built-ins. Thanks for the offer… I think this is [[phab:T345477]] (or related). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 17:46, 24 April 2025 (UTC)
::::@[[User:GrounderUK|GrounderUK]]: Excluding pre-defined Objects is a real chore (and currently meaningless //e.g.// for Types or (natural) Languages, so for now I'm not offering it, but if really needed we can bear this in mind next time we re-build the DB table so it stores this information. Sorry to disappoint! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:20, 25 April 2025 (UTC)
:::::Not a problem. We were talking specifically about functions, though. A separate count per type is also not a problem, but a count of all objects on its own does not satisfy the specific use case. Thanks! [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 16:29, 25 April 2025 (UTC)
:::Yes please. Please also consider which other magic words can he used to supply us with contemporaneous data. Real data makes running functions much more interesting. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:04, 25 April 2025 (UTC)
::::@[[User:99of9|99of9]]: Perhaps something like "this wiki has been running for {…} years, since opening on 2023-08-01", using [[Z20756|Z20756/age]]? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:22, 25 April 2025 (UTC)
== proposed Display functions for Day of the week Type ==
I suggest we use the following functions as a display function for the Day of the week Type:
*{{Z+|Z24041}}
Types without display functions [[Help:Using_Wikifunctions#Output_type_not_supported|aren't supported]] when called from Wikipedias, so IMO it is a priority that we continue to connect display functions.
--[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:35, 19 April 2025 (UTC)
:'''Support''' That function works pretty well, thanks for your contributions 99of9! <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> 12:43, 19 April 2025 (UTC)
::You're welcome. Though most of the credit for the hard work done on this one goes to {{User|GrounderUK}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:53, 19 April 2025 (UTC)
:I have no problem with the function, but I do have reservations about setting an unfortunate precedent by relying on labels. I think the “officially correct” approach would be to go from the Wikifunctions object to the corresponding Wikidata item and from there to the item’s lexeme and the appropriate form/representation. Failures are possible, of course, and we have two fallback routes to consider, according to the language.
:First, for language varieties with a lot of overlap, like Australian English and (en) English, we should fall back to the more common variety. (Note that the function currently returns a blank for Australian English. I imagine that the general fallback for Australian English would be to British English before (en) English, with US-English as a last resort, but even this simple example leads us into treacherous waters.)
:Secondly, (also by language), whether we prefer labels to lexemes or a specific function, or (assuming defaults are excluded or handled when a specific function is the option) lexeme/label first then label/lexeme in specified language, or lexeme/label in any fallback language then label/lexeme in any fallback language… and then our default (fall-through) option.
:How might this work in practice? We could have a [[Z14294]] that would handle the second cases first. For example, English might be set to prefer labels whereas Italian might prefer lexemes (because « domenica » is feminine whereas other days are masculine, so we’d have « domenica prossima » (“next Sunday”) but « lunedì prossimo » (“next Monday”), per esempio). I guess we’d have separate functions for label then lexeme, lexeme only, lexeme then label, label only; the default function here might also be configured by language for a “native Wikifunctions” experience.
:However, configuration by language doesn’t allow the specified language to be switched (from “en-au” to “en”, for example). This suggests that language-switching should be handled separately in the configured functions. It might be a common function, but the sequence may differ according to whether you're looking for labels or lexemes. In any event, I suspect that "language" is better specified as a list, with an empty list defaulting to [[Z1360|"mul"]] (say) and falling through to the default specified in the configuration (or a "mul"-specific alternative). (And when I say “list”, I suppose it would have to be a string representation, for integration, so we might see something like “[Z60, "dag", "en", "mul"]”. I guess we can’t use a read or display function for a generic type, though, and perhaps that challenge is better considered under a separate heading.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 11:46, 20 April 2025 (UTC)
::Good thoughts. I think your proposed "officially correct" function would be worth writing (as would some of the variants you mention), and may indeed work even better for some languages. For language fallbacks, I think we can get separate functions to handle that without changing the input type of a display function. It will take some building, and will be more than a configuration by language, but I don't think it will be too much worse. Just as you were posting this, I was writing a crude language fallback map: {{Z|Z24097}} as a start! --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:10, 20 April 2025 (UTC)
:::Update: I've now adjusted the implementations to use the general language fallback if variants (like en-au) come up empty. And the test {{Z|Z24105}} now passes (with a long runtime). --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:42, 20 April 2025 (UTC)
:::Perhaps “crude” is a little harsh… but switching between “nn” and “no” then falling back to “sv” or “en” (according to personal preference) is the sort of scenario we might contemplate. One step at at time, though… so long as we don’t trip over one another’s feet! (You have a free run today, as far as I’m concerned! When I get started, I’m more interested in pursuing the lexeme route, but I want graceful fallback from [[Z6830]] outwards, and that means the option to switch languages if no lexeme is found, and (logically) a list of properties to work through too. Although such searches may have less of a performance overhead than item labels, I guess we’d only be able to manage a couple if we want to be able to default to labels afterwards.) [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 13:16, 20 April 2025 (UTC)
::::I'm not aiming for personal preference, because in my understanding display functions will generally apply to all users of a uselang. So I'm just aiming for the best (configurable) outcome for every language. For now I'll stick within the label space rather than the lexemes, but I agree it would be good to have a robust lexeme path available too. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:27, 20 April 2025 (UTC)
:::::You’re probably right, but I’m ''speculating'' that a personal preference and a project default could/should/would look the same at the function level. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 14:25, 20 April 2025 (UTC)
::Althouh we obviously want as much progress on lexemes as possible, I've realised that I don't agree it is "officially correct" for display functions. These are rendered output of single day values in a language, not lexically correct parts of a sentence. I think the intent is almost exactly coincident with the intent of a Wikidata label. [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:03, 21 April 2025 (UTC)
:::I take your point. Without [[phab:T366459]], the display function cannot display the Wikifunctions object label, and even assuming the counterfactual, I can see the sense in defaulting to the label for the corresponding Wikidata item. Presumably, this is how [[phab:T390558|“light-weight enumerations” (T390558)]] will operate, since there will be no persistent instances to which to attach labels. In any event, as I said before, “I have no problem with the function” and I am happy to withdraw my remark about the lexeme route being « “officially correct” ». (@[[User:DMartin (WMF)|DMartin (WMF)]] Any thoughts about displaying the string for a light-weight enumeration? Does the generic type get read and display functions?)
:::That having been said, the performance is a concern and I am getting a time-outs for Thursday in a language-fallback scenario like [[Z24106]]. I suggest we defer language-fallback until we can return multiple selected labels from a single visit to an item. I just used [[Z13436]] in [[Z24109]] to support [[Z24110]] but I think “label-list from item for language-list” will require a code implementation, in the absence of a [[phab: T390226|variadic filter function (T390226)]]. I’ll get started on that. [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 08:38, 21 April 2025 (UTC)
:::Update: I’ve created [[Z24118]], which seems to do the job. I’ve left it disconnected for now as I accidentally passed all the tests with my interim fallback. I think we can just plug in an additional function call for a single “general” language (like “en”) but we’d need to flatten the list if a function returns a list of languages (like my Scandinavian example). It all looks doable but it looks as though a simple variadic filter would not have done the job, downstream, because we need the results in language order (so that’s something else to think about). [[User:GrounderUK|GrounderUK]] ([[User talk:GrounderUK|talk]]) 12:15, 21 April 2025 (UTC)
::::Nice. I've made a harder test {{Z|Z24143}}, but also squeezed {{Z|Z24097}} into your list, so now your new composition passes and is fast enough. Scandinavian hierarchies still to come. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:29, 22 April 2025 (UTC)
:::::I've added {{Z|Z24329}}, which I'm confident does everything we need, because it ultimately relies on the complete flexibility of hardcoding fallback chains for every language in {{Z|Z24310}}. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:06, 30 April 2025 (UTC)
:@[[User:DVrandecic (WMF)]] I think this is ready to go. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 06:10, 8 May 2025 (UTC)
::@[[User:99of9|99of9]] thank you for your patience and your ping, I added {{Z|Z24041}} as a display function to {{Z|Z17402}}. Thanks to @[[User:GrounderUK|GrounderUK]] for the work! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 07:37, 18 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:03, 11 June 2025 (UTC)}}
== proposed Display function for Gregorian calendar month Type ==
I suggest we use {{Z|Z24086}} as a display function for the {{Z|Z16098}} Type. Similar to [[#proposed Display functions for Day of the week Type]], this display function calls for a Wikidata label of the object, and has elaborate and flexible handling of fallback languages if the editing language variant does not have a corresponding Wikidata label.
Types without display functions aren't supported when called from Wikipedias, so IMO it is a priority that we continue to connect display functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:13, 30 April 2025 (UTC)
:@[[User:99of9|99of9]]: Thank you! Done so! Again, thank you for your patience and for shepherding this change. --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 15:06, 18 May 2025 (UTC)
{{tracked|T394769}}
::For some reason now {{Z|Z24086}} doesn't work [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 16:45, 18 May 2025 (UTC)
:::Good pickup. I can't see anything wrong, and have tested the functions that the composition calls. Likely a bug? --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:09, 19 May 2025 (UTC)
::::Weird. It worked yesterday when I was testing it out. I'll let the team know. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 11:27, 19 May 2025 (UTC)
:::::It looks like this is now working again. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 02:02, 11 June 2025 (UTC)
== Problems with a js implementation ==
{{tracked|T394663}}
The implementation [[Z24188]] doesn't work (it fails a testcase), and I have no idea why. Is it a Wikifunctions bug or am I doing something wrong? [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 10:44, 2 May 2025 (UTC)
:I didn't see anything immediately wrong, and my attempt at [[Z24414]] also fails. There are a lot of issues with lists and timeout/errors at the moment, but it appears that my changes have triggered it to go into infinite running mode https://phabricator.wikimedia.org/T392905. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 13:13, 2 May 2025 (UTC)
::@[[User:Dv103|Dv103]] reported as [[:phab:T394663]] for investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:04, 19 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:58, 11 June 2025 (UTC)}}
== Internal server error in running a composition ==
I'm getting internal server errors in all testcases for {{Z|Z24456}}. Any idea why?<br>
Also, is there some way to translate those oblique long Z-jsons you get as actual output into a way more human-readable form, like how normal objects are viewed on Wikifunctions? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 15:00, 3 May 2025 (UTC)
:It's a problem that arises in {{Z|Z13397}} (see testcase {{Z|Z24458}}). I don't know why. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 15:50, 3 May 2025 (UTC)
::I filed a bug [[:phab:T394664]] for further investigation. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:10, 19 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:57, 11 June 2025 (UTC)}}
== Smaller natural numbers ==
I want to use some number codes to represent an enum of 17 possible values. I find converting to and fro BigInt—the JS representation of the natural number type—bothersome, especially when 17 is the maximum number I need. Is there a representation of numbers that's analogous to an int8 or uint8?
Speaking of which, is there a list of types somewhere? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:06, 3 May 2025 (UTC)
: Diving into things more: Is really every single number on Wikifunctions represented by a String? Parsing everything from and to ints seems quite inefficient and precluding some optimization. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 20:32, 3 May 2025 (UTC)
::The simple answer is yes, since every type expands to values of other types, with only strings and references being the terminal types. The more complete answer in at [[Wikifunctions:Function model]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:34, 3 May 2025 (UTC)
::: That indeed explains how it is—that there are no canonical numbers. I've tried searching for why it is, though, and haven't found anything. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:11, 3 May 2025 (UTC)
::::It was done for simplification. If there are no built-in numbers, there are no built-in mathematics, and it can reduce the number of built-ins considerably. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:11, 19 May 2025 (UTC)
::::: You don't need to introduce built-in mathematics when introducing numbers either. There's like 2 built-in implementations for String functions. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
::::::Yes, good point. I really wanted to keep the number of built-in types low, that's the main reason. And even for numbers we had quite a few decisions to make, so I think it is good we did that in the open and together through a type proposal. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:57, 22 May 2025 (UTC)
:There is no int8 type. The complete list of types is at [https://www.wikifunctions.org/w/index.php?title=Special:ListObjectsByType/Z4]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 21:37, 3 May 2025 (UTC)
:: Ooh, lovely! Is there a way to bump the "Wikifunctions pages" section to the top of [[Special:SpecialPages]]? I decided to look under "Lists of pages" and couldn't find that. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 22:06, 3 May 2025 (UTC)
::There's {{Z|80}} for u8. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 23:19, 3 May 2025 (UTC)
::: Thanks. I've checked that before, though. It is exactly the same as natural number and using it here would be semantically confusing. [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 01:32, 4 May 2025 (UTC)
:Enums should be represented as enums (e.g. such as [[Z16098]]) and not as numbers, ideally. Let me know what's blocking that. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:28, 19 May 2025 (UTC)
::I don't have the permissions to create types, so that's gonna take a long time if the (absence of) responses to [[Wikifunctions:Type proposals/Grapheme]] are anything to go by. Do you think I have a shot at getting functioneer? [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 17:03, 19 May 2025 (UTC)
:::Enums usually go pretty fast (unless we are waiting for the light-weight enumerations, some of the current proposals are blocked on that). Even as a functioneer, one doesn't have type creation rights, these are currently limited to staff (type creation is currently not a user-friendly process, we want to improve that before opening that up). Yes, I would assume you have a good chance at becoming functioneer. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 12:59, 22 May 2025 (UTC)
:::: Ah, makes sense. Thanks! [[User:Aaron Liu|Aaron Liu]] ([[User talk:Aaron Liu|talk]]) 13:32, 22 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:56, 11 June 2025 (UTC)}}
== Quick prototyping possible? ==
Generally, to see the output of a piece of code I'd like to write for Wikifunctions, I have to first create the function for it, then create an implementation, then connect that implementation if I want to see its output, even if it's not done. With compositions I can simply go to [[Special:RunFunction]] and test it there, but with code implementations there's not much I can do (to my knowledge, at least).
I've a relatively ambitious idea and I'd like to experiment with it before I try making a full-fledged function + implementation + tests for it. Is there any way I could do this in a way that doesn't require too much extraneous effort and ZObject creation? It's something that will require specific steps and I'd like to lay it out and test it before I fully commit to implementing it, but there doesn't seem to be an easy way for me to do that. — [[User:Theki|rae<sup>5e</sup>]] <[[User talk:Theki|talk]]> 16:59, 7 May 2025 (UTC)
:No, I think you have laid out most ways to do it for now. There is one small way that can improve it: the way I do it is that I usually create a small number of tests first, and then I can run and rerun the tests while coding the implementation before I publish the implementation. And then, only once the tests are good, I click on publish. Would that help a bit? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:15, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #201 is out: Abstract Wikipedia and the Wikimedia AI Strategy ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we discuss how Abstract Wikipedia ties in with the newly announced WMF's strategy for AI, we talk about the Wikimedia Hackathon and our community meetings, 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:27, 10 May 2025 (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=28661550 -->
:This is an interesting update. I have thinked a bit about usage of AI for Abstract Wikipedia and I am not sure how well it will work for small language versions. As far as I unterstand it is necessary to have enough data to train a model. It is important to check a text if it makes sense and not just translate it or generating content in a language a person can not speak. Instead of having no article I also like boilerplate templates. So a text with gaps for variable content depending on the specific subject. For simple use cases it is possible to make suggestions without a huge LLM in the background and instead with simple decision trees. So I think it is necessary to improve the data in Wikidata and add more statements to items. Usually larger articles in Wikipedia have more contents at what is listed in statements in the related Wikidata item. For the definition and necessary for the translation of the boilerplate templates people who can speak the local language the an abstract text should be converted to are required. So far I miss interaction of people of small Wikipedia language versions in Wikifunctions and it seems to me like a theoretical discussion and I hope there is enough awareness about irregular cases. Languages are in parts not easy to generate automatically. [[User:Hogü-456|Hogü-456]] ([[User talk:Hogü-456|talk]]) 20:25, 11 May 2025 (UTC)
:Why shouldn't the language model also translate (render) from the middle pane (abstract content) to readable prose?
:I uploaded a screenshot of the middle pane and fed it into Gemma 3, Google's latest open model, with the prompt:
::''Render the abstract knowledge representation displayed in the image into fluent expository Hebrew prose, suitable for an encyclopedia.''
:The result was:
::''.מרי קורי היא האדם היחיד שזכה בפרס נובל בשתי קטגוריות מדעיות שונות''
:Or, in English:
::''Marie Curie is the only person to have won the Nobel Prize in two different scientific categories.''
:This is achievable using open models ''today''. It will only get better as LLMs are trained on richer corpora, expanding their reach to a wider variety of human languages. Where will these capabilities be in a year, and where will Wikifunction's natural language generation capabilities be? [[User:ATDT|ATDT]] ([[User talk:ATDT|talk]]) 01:39, 12 May 2025 (UTC)
::Hi @[[User:ATDT|ATDT]], thanks for the question! There area a number of reasons:
::* this doesn't work well for many of our small languages, such as Dagbani. For the large languages it often works OK, but they are the ones that need it least.
::* there is no guarantee of the results being correct. This system could work with a "let's generate and then have humans check the results" approach, but the goal of Abstract Wikipedia is to be able to edit the abstract content and then publish immediately in all supported languages ''without'' having to check the output again.
::* if a generation is wrong, it is unclear how to fix it (unless we do it manually, but in that case we are at the same point as with just using machine translation right now).
::I would think that if we use a model for generating output, we'd always need a human in the loop who understands both the input and the output languages. And that's basically the 1:1 machine translation approach, not the Abstract Wikipedia approach, where we create with high fidelity the output in all participating languages without requiring a human in the loop in the generation step. --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:37, 19 May 2025 (UTC)
== Taxon rank function(s) ==
I understand that function suggestions usually go in [[:Wikifunctions:Suggest a function]], but I could use some feedback on this, especially since I'm unsure of what Wikifunctions is capable of currently...
I think it would be useful to have a function that, given a Wikidata item that is an instance of {{Q|Q427626}} (hereafter a taxon rank), e.g. {{Q|Q7432}}, {{Q|Q34740}}, {{Q|Q35409}}, etc., returns whether or not that taxon rank is situated at or below the rank of genus. That is, it would return true for genus, subgenus, species, subspecies, variety, and botany's series, subseries, section, and subsection, among a handful of other infraspecific ranks (or infrageneric ranks that I may be forgetting about). For efficiency, it may be worth it to hard-code a partial list of taxon ranks that are considered to be at the generic level or below, and as a fallback traverse the taxon rank hierarchy by looking at the values of {{Q|P361}}. Here's a pseudocode example.
function genericRankOrLower(taxonRank) {
const hardcodedGen = [
'Qxxxxx', //species
'Qxxxxx', //subgenus
'Qxxxxx' //genus
];
const hardcodedNonGen = [
'Qxxxxx', //family
'Qxxxxx', //order
'Qxxxxx', //class
'Qxxxxx', //phylum
'Qxxxxx' //kingdom
];
if (hardcodedGen.contains(taxonRank)) return true;
if (hardcodedNonGen.contains(taxonRank)) return false; // want to avoid expensive long traversals
let nextRank = WikidataLookup.GetFirst(item: taxonRank, property: P361);
if (nextRank != null) return genericRankOrLower(nextRank);
return false;
}
This would be useful because the names of taxa at the genus rank and lower should be italicized, but the names of taxa above the genus rank should not; e.g. the taxon name {{Q|Q13612717}} may be written as ''Eristalis stipator'' or ''Eristalis (Eoseristalis) stipator'' (the subgenus, in parentheses, is optional), while the family name {{Q|Q217905}} is written as Syrphidae. Wikispecies and the English Wikipedia have something that can help somewhat with this, [[:species:Template:Taxon italics]]/[[:en:Template:Taxon italics]], which will correctly italicize a taxon name (including cases where there are unitalicized portions, such as "var."). However, I don't believe they have a Wikidata-enabled template or module for determining if a taxon should be italicized.
In the actual use of this proposed function, there may need to be exceptions or special cases for e.g. viruses - I am unfamiliar with the italicization rules for virus names. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 20:02, 15 May 2025 (UTC)
:Sounds like a good function suggestion to me. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:34, 16 May 2025 (UTC)
::Thanks. I've added a suggestion at [[Wikifunctions:Suggest a function#Taxon functions]] - feel free to move it if necessary, as I'm not entirely sure where it fits best. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:30, 16 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:52, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #202 is out: Location of Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we invite you to our next online presentation, 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:56, 16 May 2025 (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=28661550 -->
== Just wonder, that fair use is allowed here or not? ==
Of course it doesn't seem allowed for files, as [[special:upload]] is disabled here, but how about functions or other text-like contents? Those may also be fair use-allowed on some certain projects (e.g. several Wikiquotes), [[m:Non-free_content#Other_projects]] only suggests "A new developing project, lack of discussions on this matter yet". Any inputs? --[[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 01:12, 18 May 2025 (UTC)
:Code contributions are licensed under Apache 2.0, and any contributions must be compatible with that license. [https://lib.asu.edu/news/research/fair-use-code Fair use and code] are a complicated combination, that can be crucial in some cases (for example for header declarations), but I don't think that would cover whole function implementations copied from sources that are not Apache 2.0 compatible. I am not a lawyer, and if we want a proper answer involving lawyers, we can work towards that. Why are you asking, what's the idea you're mulling over? --[[User:Denny|Denny]] ([[User talk:Denny|talk]]) 13:44, 19 May 2025 (UTC)
:@[[User:Liuxinyu970226|Liuxinyu970226]]: I see that [https://meta.wikimedia.org/w/index.php?diff=25452852&oldid=25438584&title=Non-free_content you are the one who added that claim] to the page on meta, nearly two years ago. I don't think it's correct; non-free content has never been allowed. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 16:18, 19 May 2025 (UTC)
::Somewhat modified, but looks still vague even for me... [[User:Liuxinyu970226|Liuxinyu970226]] ([[User talk:Liuxinyu970226|talk]]) 21:46, 19 May 2025 (UTC)
:::Thanks for [https://meta.wikimedia.org/w/index.php?diff=28754698&oldid=28747475&title=Non-free_content your edit]! [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 21:11, 21 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== Wikitext -> AST and vice versa ==
It may be useful to have functions for lexing/tokenizing and parsing Wikitext into an [[:en:Abstract syntax tree|AST]], and going from that AST back to Wikitext. It would vastly improve the power of functions in [[:Wikifunctions:Catalogue/String operations#Wikitext and Mediawiki string operations]]. I think this also meshes neatly with Abstract Wikipedia. If it's planned to have rich/styled output, dealing with an AST is much preferable to performing operations on Wikitext directly.
The downside of this is that it would be complicated and a lot of work to implement, and likely require the creation of a couple new types, at least. However, there already exist [[:mw:Alternative parsers|several Wikitext parsers]], so perhaps a parser (Parsoid?) could be provided as a built-in implementation? Though, this would still necessitate the creation of several types.
Would this be (a) feasible and (b) useful? --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 22:55, 19 May 2025 (UTC)
:Ah, I just read [[:Wikifunctions:Embedded function calls#Wikitext output]]. That would mean this wouldn't really be possible... though it may still be possible to implement an AST for HTML. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 23:23, 19 May 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #203 is out: Ongoing consultation about the Location for Abstract Content ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we invite you again to [[:m:Abstract Wikipedia/Location of Abstract Content|a consultation]] about where should the content of Abstract Wikipedia be stored, we present some updates about existing and new types, we remind you of our next online presentation, 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]]) 13:54, 23 May 2025 (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=28661550 -->
== Request for connecting implementations ==
Could a functioneer take a look at [[Z15362|Z15362/nth prime]] and [[Z24716|Z24716/bitwise NAND]] and consider revising the respective lists of connected implementations?
[[Z15362|Z15362/nth prime]]: I'd recommend connecting [[Z24783|Z24783/nth prime, caching primes]] and [[Z24784|Z24784/nth prime, caching primes, JS]], as these seem to be the fastest - they pass all the tests, whereas the others time out on at least one. It should also be noted that these two implementations use more memory than the other implementations, but it doesn't seem to have a particularly noticeable effect on the memory usage.
[[Z24716|Z24716/bitwise NAND]]: I'd like to see [[Z24780|Z24780/bitwise NAND, javascript]] connected. I understand that there's a potential performance benefit when multiple implementations used in a call share the same programming language (though this may not be the case at current), so it would be beneficial to have implementations in all supported programming languages, where possible.
Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 05:02, 24 May 2025 (UTC)
:All {{d}}. Thanks for the work! <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:02, 24 May 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:51, 11 June 2025 (UTC)}}
== proposed Read and Display functions for Unicode code point ==
I suggest we use the following functions as a read and display function for the Unicode code point Type:
* {{Z|Z23041}}
* {{Z|Z24823}}
The reader is intended to be as lenient as possible. If there are other possible input formats, feel free to extend it to include them.
The display uses U+FFFF notation. We have choice here. I picked this because it seems to be common and unambiguous. I'm happy to use another convention if others want it.
Feel free to add an implementation to either with a language configuration if you would like to convert to a different numeral script. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 03:01, 27 May 2025 (UTC)
:Thank you! Done as per [https://www.wikifunctions.org/wiki/Z86?uselang=en&diff=prev&oldid=189454 this edit]. Looks great!
:I was just hoping this week for having this type with a read and display function! This is awesome! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 12:01, 27 May 2025 (UTC)
::Your work on {{Z|Z24809}} reminded me to finish this off. Last time I'd worked on it I had done almost everything but had been uncertain about which display format to use. Coming back to it the answer seemed clear. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:37, 27 May 2025 (UTC)
:::@[[User:99of9|99of9]] Ha! It was exactly writing the tests for that function which made me wish there was this display and read function! --[[User:DVrandecic (WMF)|DVrandecic (WMF)]] ([[User talk:DVrandecic (WMF)|talk]]) 10:03, 2 June 2025 (UTC)
{{Section resolved|1=[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 01:50, 11 June 2025 (UTC)}}
== Wikifunctions & Abstract Wikipedia Newsletter #204 is out: Rolling out to five Wiktionaries; Calculating with today's date ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we talk about our latest deployment on five Wiktionaries, we showcase a couple of functions about dates, we remind you of ongoing discussions and upcoming presentations, 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/1748885400 June 2, 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]]) 14:38, 29 May 2025 (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=28780680 -->
== Solvers (and color spectrum reconstruction.) ==
I am posting here as I wasn't sure how to define it formally for requesting directly.
A specific spreadsheet used for reconstructing approximate 'reflectance' data from RGB triplets, uses the Generalized Reduced Gradient(GRG) solver from Excel. This doesn't exist in Libre Office.
That spreadsheet is linked from ( http://scottburns.us/reflectance-curves-from-srgb-10/.(Burns,2025) The author also links - http://scottburns.us/matlab-octave-and-python-source-code-for-refl-recon-chrom-adapt/ (I don't see a license indication, but the authors are approachable, and have licensed some of their online contributions under Creative Commons, and I've already suggested they look into writing a contribution for Wikiversity under Open Access.)
My understanding of what the GRG does is that for a range of input values, a function is setup for the results set, with the sum of the intermediate steps having to meet some 'goal'(in the linked use case a 'minimized' value, these intermediate calculations being used to generate a set of finalised 'results'.
In the use case for (Burns,2025), the results set obtained through the GRG approach, is further constrained. Namely that an XYZ color, obtained from applying CIE observer functions to the generated 'reflectance' data must match a pre determined input XYZ color, although obtained by applying a suitable conversion from an sRGB triplet).
Would it be possible for some kind of 'solver' function/algorithim to be considered for Wikifunctions, to allow for the kinds of approaches taken in Burns, to be developed or expanded upon?
I appreciate the specific use case is a bit niche, and implentations are possibly beyond me, but having 'solvers' would be useful I think.
As an aside, having Wikifunctions able to make use reconstructed 'refelctance' data for typical RGB triplets might prove useful long term, especially if the approach can be extended to approximate for any 'color' ( such as xyz spaces recently added in CSS and recent browsers). A different author (Ronald Van Winjen, 2025), also uses approximated reflectance curves to implement a 'pigment' style subtractive color mixing 'function' as Spectral.js (https://github.com/rvanwijnen/spectral.js).
(That code is under MIT license, and uses a faster but possibly less specfic approximation technique.)
My apologies if I sound a bit more formalised in places, and if opthers are able to improve the referencing , feel free.
[[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 08:59, 5 June 2025 (UTC)
:Many solvers use something like [[:w:Newton's method]]. We have a few functions that attempt something like this ([[Z24539]], [[Z24553]]) which you could have a look at to incorporate into your colour analysis field. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 05:04, 6 June 2025 (UTC)
: Actual coding is beyond my expertise, but I figured I'd put the suggestion down for future reference. In Excel what it's doing is 'guessing' for an entire set of vlaues and tweaking those at goes I think. The estimation method you linked is for a single value, not a constrained set I think. [[User:ShakespeareFan00|ShakespeareFan00]] ([[User talk:ShakespeareFan00|talk]]) 11:22, 6 June 2025 (UTC)
== Wikifunctions & Abstract Wikipedia Newsletter #205 is out: Where will Abstract Content go? ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we give you some updates on the discussion about where to store abstract content, we present you the recordings of our latest presentations and meetings, 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]]) 13:38, 9 June 2025 (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=28806388 -->
== A guide to easily implement a lenient Gregorian calendar date reader ==
I have created [[User:Dv103/Writing Gregorian calendar date readers|a guide]] on how to implement a specialisation of {{Z|Z20808}} for new languages (since for now it is specialised only for English, Italian and Dagbani, while all the other languages have to rely on the suboptimal [[Z23976|generic reader]]). I hope it is easy to understand (otherwise let me know). At the end I also added the instructions on how to implement a localised version of the function {{Z|Z24990}}, even if is not yet the {{Z|Z20342}} reading function. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 14:09, 9 June 2025 (UTC)
:This is fantastic - those implementations can be a bit intimidating! I hope we can set the read/display for Z20342 soon. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 14:59, 9 June 2025 (UTC)
== proposed Read and Display functions for Day of Roman Year ==
I suggest we use the following functions as a read and display function for the {{Z|Z20342}} Type:
* {{Z|Z24990}}
* {{Z|Z22941}}
The reader is intended to be as lenient as possible, but splits by language for specific month names and ambiguity. If there are other possible input formats, feel free to extend it to include them.
The display is configured by language. Choose the function appropriate to your language!
Thanks [[User:Dv103]] for all the work on the read functions. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 00:01, 11 June 2025 (UTC)
owr6eawol8jqexxghqqh6zrxd65uhmj
Z11151
0
15277
192184
117661
2025-06-10T16:28:22Z
WikiLambda system
3
Updated the implementation list
192184
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z11151"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z11151K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Text"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "טקסט"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "যে অক্ষরের উভপাশ থেকে কোনো বর্ণকে সরাতে হবে"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Texte"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Ederede"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "Zaren"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Text"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z6",
"Z17K2": "Z11151K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Wrapper"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "עוטף"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "যে বর্ণটিকে সরাতে হবে"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Enveloppe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ihe mkpuchi"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "Zaren"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Umhüllung"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z11153",
"Z11154",
"Z11155"
],
"Z8K4": [
"Z14",
"Z12311",
"Z11152"
],
"Z8K5": "Z11151"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "unwrap string"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "הסרת עוטף מחרוזת"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1616",
"Z11K2": "odstrani obod niza"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "অক্ষরসারিকে মোড়ক মুক্ত"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "désenvelopper une chaîne de caractère"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Wopute strinji"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "kwance igiya"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Umhüllung der Zeichenkette entfernen"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "removes text from start and end of string once only if both are present"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1616",
"Z11K2": "odstrani besedilo iz začetka in konca niza"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1186",
"Z11K2": "הסרת העוטף מעל הטקסט פעם בודדת, אם הוא מופיע הן בתחילתו והן בסופו"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "কোনো অক্ষরের প্রথম ও শেষ থেকে একই সমান বর্ণকে সরানো, যদি প্রথমে ও শেষে সেই বর্ণটি উপস্থিত থাকে"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "Supprime le texte du début et de la fin de la chaîne une seule fois si les deux sont présents"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Na-ewepụ ederede site na mmalite na njedebe eriri otu ugboro naanị ma ọ bụrụ na ha abụọ nọ"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1013",
"Z11K2": "Yana cire rubutu daga farko da ƙarshen kirtani sau ɗaya kawai idan duka suna nan"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "entfernt Text am Anfang und Ende einer Zeichenkette, wenn er an beiden Stellen vorhanden ist"
}
]
}
}
eqn6qfdohux9zlk4by1hkepz9ilf98h
Z12864
0
22361
192238
191029
2025-06-11T06:16:42Z
99of9
1622
nudge
192238
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z12864"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z12864K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "first list"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "erste Liste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "pierwsza lista"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ndepụta mbụ: Edepụtara ndepụta ( Ihe )"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "première liste"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": {
"Z1K1": "Z7",
"Z7K1": "Z881",
"Z881K1": "Z1"
},
"Z17K2": "Z12864K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "second list"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "zweite Liste"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "druga lista"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ndepụta nke abụọ: Edepụtara ndepụta ( Ihe )"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "seconde liste"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z12866",
"Z13395",
"Z18127",
"Z24730",
"Z24731"
],
"Z8K4": [
"Z14",
"Z13394",
"Z12865",
"Z13890"
],
"Z8K5": "Z12864"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "lists have equal length"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Listen sind gleich lang"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "czy listy mają tę samą długość"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ndepụta nwere nha nha ogologo"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "ces listes sont-elles de longueur égale ?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"length equal",
"equal length lists",
"are equal length",
"lists equal length",
"is equal length",
"equality (list length)",
"equal list lengths",
"is list equal length to another",
"are lists equal length",
"same length",
"lengths equal",
"= length lists",
"== (length)"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "true if the lists have an equal number of elements, false otherwise"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt wahr zurück, wenn die verglichenen Listen gleich viele Elemente enthalten"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1025",
"Z11K2": "Zwraca prawdę, jeśli listy mają tę samą długość"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "eziokwu ma ọ bụrụ na ndepụta ahụ nwere nha nha nke mmewere, ụgha ma ọ bụghị"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si les listes ont un nombre égal d'éléments, sinon \"faux\""
}
]
}
}
r3xlyee7jgkfhg7619g0gjx9mncfn1m
Z15651
0
28914
192186
164543
2025-06-10T17:43:23Z
Ameisenigel
44
de
192186
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15651"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z15651K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "n: Nọmba eke"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "n"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z15653",
"Z15655"
],
"Z8K4": [
"Z14",
"Z15652"
],
"Z8K5": "Z15651"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "nth Belphegor number"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "nth Belphegor nọmba"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "énième nombre de Belphégor"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "nte Belphegor-Zahl"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"A232449"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
1zvb5urhnjhj9bj850qt59hycxzis0u
Z15652
0
28915
192187
164545
2025-06-10T17:43:52Z
Ameisenigel
44
de
192187
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15652"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z15651",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z15651(Z15651K1):\n\treturn 10**(2*Z15651K1+4)+666*10**(Z15651K1+1)+1"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "nth Belphegor number, python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "énième nombre de Belphégor, en Python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "nte Belphegor-Zahl in Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
lvsuy9gfc59jhhwt1b8n8hv0xm9zi1k
Z15653
0
28916
192188
164547
2025-06-10T17:44:22Z
Ameisenigel
44
de
192188
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15653"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z15651",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z15651",
"Z15651K1": {
"Z1K1": "Z13518",
"Z13518K1": "0"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z13522",
"Z13522K2": {
"Z1K1": "Z13518",
"Z13518K1": "16661"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "0th Belphegor number is 16661"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le 0e nombre de Belphégor est 16661"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "nullte Belphegor-Zahl ist 16661"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
qfeiqm1ulb6hiaetetn661ejp24p915
Z15654
0
28917
192189
164549
2025-06-10T17:48:09Z
Ameisenigel
44
de
192189
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15654"
},
"Z2K2": {
"Z1K1": "Z13518",
"Z13518K1": "1000000000000066600000000000001"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Belphegor's prime"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "nombre premier de Belphégor"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Belphegors Primzahl"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
13w14lzumbp1nj5mraygwdm9jeod2cg
Z15655
0
28918
192190
164548
2025-06-10T17:48:40Z
Ameisenigel
44
de
192190
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15655"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z15651",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z15651",
"Z15651K1": {
"Z1K1": "Z13518",
"Z13518K1": "13"
}
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z13522",
"Z13522K2": "Z15654"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "13th Belphegor number is the Belphegor's prime"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le 13e nombre de Belphégor est son nombre premier"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "13. Belphegor-Zahl ist Belphegors Primzahl"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le 13e nombre de Belphégor est le nombre premier de Belphégor "
}
]
}
}
qxe4lgfsgi3zxi2ivphnrzp2ohs6r1x
Z15656
0
28919
192191
164556
2025-06-10T17:49:09Z
Ameisenigel
44
de
192191
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15656"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z15055",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z15055",
"Z15055K1": "Z15654"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Belphegor's prime is palindromic prime"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "premier de Belph. est un nombre premier palindrome"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Belphegors Primzahl ist Primzahlpalindrom"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le nombre premier de Belphégor est un nombre premier palindrome"
}
]
}
}
af5q82lta80zpb13ldw0hqcsyhgrzaz
Z15657
0
28920
192192
164542
2025-06-10T17:49:32Z
Ameisenigel
44
de
192192
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15657"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z15050",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z15050",
"Z15050K1": "Z15654"
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Belphegor's prime is palindromic number"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "le nombre de Belphégor est un nombre palindrome"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Belphegors Primzahl ist Zahlenpalindrom"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
jf7x2rk09ynj8baz5s0q1rve5f0gnob
Z15658
0
28921
192193
98710
2025-06-10T17:50:07Z
Ameisenigel
44
de
192193
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15658"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z15626",
"Z14K2": {
"Z1K1": "Z7",
"Z7K1": "Z11693",
"Z11693K1": {
"Z1K1": "Z18",
"Z18K1": "Z15626K1"
},
"Z11693K2": {
"Z1K1": "Z7",
"Z7K1": "Z10000",
"Z10000K1": "ぁあぃいぅうぇえぉおかがきぎくぐけげこごさざしじすずせぜそぞただちぢっつづてでとどなにぬねのはばぱひびぴふぶぷへべぺほぼぽまみむめもゃやゅゆょよらりるれろゎわゐゑをんゔゕゖ゙゚゛゜ゝゞゟ",
"Z10000K2": "。、?「」『』〜 ・!()【】{}…‥っー々ゝゞヶ¥〒〶"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is string in hiragana, composition of only has characters from alphabet"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "ist Zeichenkette in Hiragana, Komposition Alphabet"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
gtnzncgedu0cn1r74yg383jrm8w3i3t
Z15659
0
28922
192194
119642
2025-06-10T17:51:23Z
Ameisenigel
44
de
192194
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15659"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z13518",
"Z17K2": "Z15659K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "n"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "n"
}
]
}
}
],
"Z8K2": "Z13518",
"Z8K3": [
"Z20",
"Z15661",
"Z15662",
"Z15663"
],
"Z8K4": [
"Z14",
"Z15660",
"Z15665"
],
"Z8K5": "Z15659"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "subfactorial"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "subfactorial"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Subfakultät"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"nth derangement number",
"!n",
"A000166",
"nth subfactorial number"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
4bylffolj4fpxb3dt0qdjgsmqitcpgs
Z15660
0
28923
192195
98172
2025-06-10T17:51:45Z
Ameisenigel
44
de
192195
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15660"
},
"Z2K2": {
"Z1K1": "Z14",
"Z14K1": "Z15659",
"Z14K3": {
"Z1K1": "Z16",
"Z16K1": "Z610",
"Z16K2": "def Z15659(Z15659K1):\n\timport math\n\tn = Z15659K1\n\treturn sum(math.factorial(k)*(-1)**(n-k)*math.comb(n,k) for k in range(n+1))"
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "nth subfactorial, python"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "Subfakultät in Python"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
14nc4dnp4374qq58he9kslwsmfdvpva
Z15684
0
28956
192185
192072
2025-06-10T17:31:18Z
WikiLambda system
3
Updated the implementation list
192185
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z15684"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z1",
"Z17K2": "Z15684K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "argument"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "arụmụka: Ihe"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "আর্গুমেন্ট"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "argument"
}
]
}
}
],
"Z8K2": "Z40",
"Z8K3": [
"Z20",
"Z15685",
"Z15687",
"Z15688",
"Z15689",
"Z15690",
"Z15691",
"Z15692",
"Z15693"
],
"Z8K4": [
"Z14",
"Z15694",
"Z15686",
"Z15701"
],
"Z8K5": "Z15684"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "is truthy"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ọ bụ eziokwu"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "ist truthy"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "শূন্য কিংবা খালি নয়"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "est-ce vrai ?"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"truthy",
"not falsy",
"not zero or empty"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1430",
"Z31K2": [
"Z6",
"truthy",
"nicht falsy",
"nicht Null oder leer"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1004",
"Z31K2": [
"Z6",
"vrai",
"pas faux",
"pas zéro ou vide"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns True if the argument is truthy"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "na-alaghachi na-ezi ma ọ bụrụ na arụmụka bụ eziokwu"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1430",
"Z11K2": "gibt Wahr zurück, wenn die Eingabe truthy ist"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "যদি ইনপুট শূন্য বা খালিস্থান না হয় তাহলে সত্য প্রদান করবে। "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie \"vrai\" si l'argument est vrai, sinon \"faux\""
}
]
}
}
ibyugjlgs4x2iwyq37nom6ptfh1sxyb
Z16136
0
30149
192240
185861
2025-06-11T07:22:27Z
Dv103
11127
+it
192240
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z16136"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z16098",
"Z17K2": "Z16136K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "month"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "μήνας"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "månad"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "মাসের নাম"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "ọnwa: Ọnwa kalenda Gregorian"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "mois"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "mese"
}
]
}
}
],
"Z8K2": "Z16098",
"Z8K3": [
"Z20",
"Z16144",
"Z16145",
"Z16218",
"Z16219",
"Z16292"
],
"Z8K4": [
"Z14",
"Z16146",
"Z16370",
"Z16147",
"Z16298",
"Z16271",
"Z16148"
],
"Z8K5": "Z16136"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "following month"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "επόμενος μήνας"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1592",
"Z11K2": "nästa månad"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "পরবর্তী মাস"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Ọnwa na- abia"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1005",
"Z11K2": "следующий месяц"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "mois suivant"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "mese successivo"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"next month",
"increment month",
"month after",
"following Gregorian month",
"next Gregorian month",
"increment Gregorian month"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1592",
"Z31K2": [
"Z6",
"följande månad"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1011",
"Z31K2": [
"Z6",
"মাসের বৃদ্ধি",
"পরের মাস"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"mese dopo",
"incrementa mese"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns the month that follows a given month"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1827",
"Z11K2": "λαμβάνει ως είσοδο έναν μήνα και επιστρέφει τον επόμενο μήνα στη σειρά"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1011",
"Z11K2": "ইনপুটে প্রদান করা মাসের ঠিক পরবর্তী মাসটিকে ফলাফল হিসেবে প্রদান করবে। "
},
{
"Z1K1": "Z11",
"Z11K1": "Z1014",
"Z11K2": "Na-eweghachi ọnwa na-esote ọnwa enyere"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1004",
"Z11K2": "renvoie le mois qui suit un mois donné"
}
]
}
}
f2x81ou8iwvlpxgwnr5fjo2s5vhgltb
Wikifunctions:NLG SIG
4
49539
192217
187147
2025-06-11T03:49:42Z
Mahir256
38
/* Upcoming meeting */
192217
wikitext
text/x-wiki
This page is for coordinating the work of the NLG SIG - the '''natural language generation special interest group''' on Wikifunctions.
This page is just a starter page. It aims to collect links to documents by the group, plan upcoming meetings of the group, and help the members coordinate.
You want to join? Anyone can become a member. Enter your wiki user name below to become a publicly listed member. Work happens on-wiki, off-wiki and through meetings.
== Upcoming meeting ==
The next meeting of the NLG SIG is scheduled for Tuesday, June 17, 2025 on [https://meet.google.com/xzn-kqer-mah Google Meet]. The meeting will be recorded. If you want to add something to the agenda, please feel free to do so below:
* [[User:Mahir256|Mahir256]]: exploring sources for constructs used in abstract content
== Past meetings ==
=== 2025-03-18 ===
The second meeting of the NLG SIG was held on [https://zonestamp.toolforge.org/1742313600 Tuesday, March 18, 2025, at 16:00-17:00 UTC] on [https://meet.google.com/xzn-kqer-mah Google Meet]. The meeting was recorded.
* [[User:Mahir256|Mahir256]]: Finding lexemes for concepts, and actual and potential fallback mechanisms for this task ([https://elemwala.toolforge.org/static/nlgsig-18march.html slides])
=== 2025-02-18 ===
The first meeting of the NLG SIG was held on [https://zonestamp.toolforge.org/1739894400 Tuesday, February 18, 2025, at 16:00-17:00 UTC] using [https://meet.google.com/xzn-kqer-mah Google Meet]. The meeting was recorded.
* [[User:Denny|Denny]]: [[Wikifunctions:Type proposals/Syntactic type|Representing lexemes on Wikifunctions]]
== Documents ==
Collect lists of interesting documents by and for the group. Can be on-wiki or external references.
== Publicly listed members ==
# [[user:Denny|Denny]]
# [[user:Arlo Barnes|Arlo Barnes]]
# [[User:Jérémy-Günther-Heinz Jähnick|Jérémy-Günther-Heinz Jähnick]]
# [[User:Mahir256|Mahir256]]
# [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]])
# [[User:Fexpr|Fexpr]]
# [[User:King ChristLike|King ChristLike]]
3yte8y1u1pa54xjoazs5abwqqyrblto
User:Dv103/Sandbox
2
54610
192241
190928
2025-06-11T07:25:32Z
Dv103
11127
192241
wikitext
text/x-wiki
* Today is {{#function:Z24884|}}.
* Oggi è il {{#function:Z24884||renderlang=it}}.
* Hoy es {{#function:Z24884||renerlang=es}}.
* Hodiaŭ ĝi estas {{#function:Z24884||renerlang=eo}}.
{{#function:Z20440|1 may 5|renderlang=it}} .
{{#time:Y-m-d}}
{{#function:Z24007|{{#time:Y-m-d}}}} .
Dates in Dagbani:
{{#function:Z24880|31-05-2025}}
Senza parametro: {{#function:Z24880|}}
Mese dopo giugno: {{#function:Z16136|Z16106}}
[//www.wikifunctions.org/w/index.php?title=User:Dv103/Sandbox&action=purge refresh cache]
[[Category:Pages with Wikifunctions calls]]
2jfmmtsd12x2ad4wkqbko41vcac915f
Z24086
0
54740
192212
189561
2025-06-11T01:59:36Z
99of9
1622
nudge
192212
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z24086"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z16098",
"Z17K2": "Z24086K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "month"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "mese"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z24086K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language to display in"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lingua"
}
]
}
}
],
"Z8K2": "Z6",
"Z8K3": [
"Z20",
"Z24088",
"Z24335",
"Z24336",
"Z24337",
"Z24704"
],
"Z8K4": [
"Z14",
"Z24330"
],
"Z8K5": "Z24086"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "display Gregorian calendar month"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "formatta Mese di calendario gregoriano"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1002",
"Z31K2": [
"Z6",
"render month",
"show month",
"display month",
"display calendar month",
"render Gregorian calendar month",
"string of month",
"show Gregorian calendar month"
]
},
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"mostra mese",
"stampa mese"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "returns a string representing the Gregorian calendar month in the selected language (a Wikidata label) or fallback"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Restituisce una stringa rappresentante il Mese di calendario gregoriano nella lingua selezionata o in una surrogata"
}
]
}
}
9ynmbvisrh9latwvtd6dk4vb5ubfgv2
Wikifunctions:Type proposals/Wikidata time
4
56521
192197
191820
2025-06-10T19:36:18Z
DMartin (WMF)
24
/* Structure */
192197
wikitext
text/x-wiki
== Summary ==
This type is modeled after Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Dates_and_times time] datatype, and will support the import of all values of that type from Wikidata into Wikifunctions. The content here also builds on [[Wikifunctions:Time_in_Wikidata|Time in Wikidata]], which provides additional background information for this proposal. We also acknowledge and draw upon an earlier type proposal, [[Wikifunctions:Type_proposals/Wikidata_value#Point_in_time|Point in time]], with similar objectives.
In addition to ''Wikidata time'' , we also propose here 4 other simple types used for keys inside ''Wikidata time'': ''Wikidata time precision, Datetime, Time of day,'' and ''Calendar model.''
== Uses ==
* ''Why should this exist?''
Wikidata contains many statements with values of the [https://www.mediawiki.org/wiki/Wikibase/DataModel#Dates_and_times time] datatype. A wide variety of Wikifunctions will be able to make use of these values, and this type will enable Wikifunctions to import these values from Wikidata.
* ''What kinds of functions would be created using this?''
Many kinds, including in particular functions that are called from Wikipedias and other MediaWiki projects to provide [https://www.mediawiki.org/wiki/Wikibase/DataModel#Dates_and_times time] values (or content computed from them), and Abstract Wikipedia functions that generate statements, paragraphs, and articles containing these values.
* ''What standard concepts, if any, does this align with?''
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Dates_and_times time] datatype.
== Structure ==
'''''Wikidata time''''' has these 6 keys, shown with proposed English labels:
* <code>K1/datetime</code>, of a new type ''Datetime'' to be defined as shown below. This represents the point in time which serves as the base value for ''Wikidata time''.
* <code>K2/precision</code>, of an enum type ''Wikidata time precision,'' to be defined as shown below.
* <code>K3/after</code>, of type [[Z13518|Natural number]]. If the date is uncertain, how many units (given by the precision) after the given time could it be?
* <code>K4/before</code>, of type [[Z13518|Natural number]]. If the date is uncertain, how many units (given by the precision) before the given time could it be?
* <code>K5/timezone</code>, of type [[Z16683|Integer]], for the ''timezone'' offset from UTC in minutes (by which to display the value).
* <code>K6/calendar model</code>, of an enum type ''Calendar model (''see below), telling which calendar to use for displaying the value.
'''''Datetime''''' has these 2 keys:
* <code>K1/date</code>, of type [[Z20420|Gregorian calendar date]] or ''Julian calendar date'' (when it's available).
* <code>K2/time</code>, of type ''Time of day'' described below.
'''Notes for ''Datetime'''''
* Until the ''Julian calendar date'' type is available, statements from Wikidata indicating ''Julian calendar'' as their calendar model will not be imported into Wikifunctions (by the Wikidata fetch functions). Instead, the fetch function will raise an error indicating that the calendar type is not yet supported.
* When the Wikidata timestamp string has zero as the value of the day (i.e., unknown), zero will also be recorded inside the instance of [[Z20342|Day of Roman year]], which is inside [[Z20420|Gregorian calendar date]].
* When the Wikidata timestamp string has zero as the value of the month (i.e., unknown), [https://www.wikifunctions.org/view/en/Z24 Z24/void] will be recorded inside the instance of [[Z20342|Day of Roman year]], which is inside [[Z20420|Gregorian calendar date]].
'''''Time of day''''' has these 3 keys:
* <code>K1/hour</code>, of type [[Z13518|Natural number]].
* <code>K2/minute</code>, of type [[Z13518|Natural number]].
* <code>K3/second</code>, of type [[Z13518|Natural number]].
'''''Wikidata time precision''','' an enum type, has these 15 allowed elements (as specified for the [[mediawikiwiki:Wikibase/DataModel#Dates_and_times|time]] datatype), one of which appears as the value of <code>K1</code> in an instance of the type. Each of these concepts has a Wikidata item; we hope to implement this as a Wikidata item reference-based "lightweight enum type" (If that capability is available in time):
* billion years
* hundred million years
* ten million years
* million years
* hundred thousand years
* ten thousand years
* millennium
* century
* decade
* year
* month
* day
* hour
* minute
* second
'''Calendar model,''' a lightweight enum type of Wikidata item reference, will include (at least) these possible values:
* { Z1K1: 'Z6091', Z6091K1: 'Q1985727' } / Gregorian calendar
* { Z1K1: 'Z6091', Z6091K1: 'Q11184' } / Julian calendar
=== Example values ===
''TBD''
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "…",
"value": "…"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxyz",
"ZxyzK1": "…"
}</syntaxhighlight>
|}
== Validator ==
The validator for '''Wikidata time''' checks that:
* The value of each key is a valid instance of the key's defined type.
* The value of <code>K5/offset</code> is between -719 and +720, inclusive.
The validator for '''Datetime''' checks that:
* The value of each key is a valid instance of the key's defined type.
The '''Time of day''' validator checks that:
* The value of <code>K1/hour</code> is a valid ''Natural number'' between 0 and 23, inclusive.
* The value of <code>K2/minute</code> is a valid ''Natural number'' between 0 and 59, inclusive.
* The value of <code>K3/second</code> is a valid ''Natural number'' between 0 and 60, inclusive. (60 is allowed to accommodate leap-seconds.)
The validators for '''Wikidata time precision''' and '''Calendar model''' check that:
* The value of their <code>K1</code> key is one of the allowed elements for the type.
== Identity ==
For each of the above types''':'''
* Two instances are the same if they have equal values for each of their keys. Equality of those values, in turn, is specified by the definitions & documentation of their respective types.
== Converting to code ==
=== Python ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
=== JavaScript ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
== Display function ==
'''''Wikidata time''''' ...TBD
'''''Datetime''''' should display as a string that joins the output of the {{Z|Z20420}} display function and the ''Time of day'' display function with a suitable, language-dependent separator. For example, in English a possible output could be "7 June 2025, 10:05:42". The default, language-independent display function should instead use ISO 8601 format (e.g.: "2025-06-07T10:05:42").
'''''Time of day''''' should display as the time as the language-default time representation (e.g.: "22:10:56" or "10:10:56 p.m."). The language-independent display function should use the 24h hh:mm:ss format, as per ISO 8601.
== Read function ==
'''''Wikidata time''''' …TBD
'''''Datetime''''' should be read from any string that contains a {{Z|Z20420}} and a ''Time of day'' input separated by a reasonable separator (in both orders). Every language should support the ISO 8601 formats.
'''''Time of day''''' reader should be mostly language-independent, supporting both 24h and 12h formats (and supporting other representations of the arab digits). If the input doesn't contain the seconds' value, it should be assumed to have value 00. The hour "24" should be interpreted as equivalent to "00". Language-specific readers should be implemented for languages that have other commonly used formats to represent the time of day. Every language should support the ISO 8601 formats.
== Open questions ==
* In Wikidata practice for ''Wikidata time'', is the time part of <code>K1/datetime</code> always in UTC, or is it in the offset time (given by the timezone property)?
* In Wikidata practice for ''Wikidata time'', is the date part of <code>K1/datetime</code> always in the ''Gregorian calendar date'', even if the displayed calendar model is Julian?
** According to both of these documentation pages, this is '''not''' the case:
*** [https://www.wikidata.org/wiki/Special:ListDatatypes Special:ListDatatypes]
*** [https://doc.wikimedia.org/Wikibase/master/php/docs_topics_json.html Wikibase JSON]
** So we have an '''unresolved issue''': do we convert a Julian calendar timestamp to Gregorian and save it that way, or do we allow for Wikidata datetime to contain an instance of ''Julian calendar date'' (which would have to be created first)?
*** If we decide for the latter, we still need to figure out if it is the ''Datetime'' type whose first element can be both of ''Gregorian calendar date'' or ''Julian calendar date'', or if we should separate the ''Datetime with Gregorian calendar'' and the ''Datetime with Julian calendar''. Personally I would prefer this second option, since the Datetime type would be very useful in Wikifunctions even outside of Wikidata dealing functions, so it would be better to make the standard ''Datetime'' type as easy to use as possible. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 07:56, 7 June 2025 (UTC)
*:Hi @[[User:Dv103|Dv103]], thanks for commenting. I'm currently leaning the other direction (the first option), because (a) it seems unfortunate to have to create multiple Datetime types (''Datetime'', ''Datetime with Gregorian calendar'', ''Datetime with Julian calendar'', probably more in future) and (b) I believe we could address your concern by having just two Datetime types: one called ''Wikidata datetime'' that allows for ''Gregorian calendar date'' and ''Julian calendar date'' (and possibly other calendars used on Wikidata in future) in its first element, and another called just ''Datetime'', used for non-Wikidata purposes, which could be structured however we like so it could be maximally easy to use. Does that make sense? [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 05:01, 9 June 2025 (UTC)
*::This actually makes more sense. I didn't think about this. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 06:06, 9 June 2025 (UTC)
* Revisit: is the use of lightweight enum type of Wikidata item reference our best option for ''Calendar model''?
** For one thing, how many different calendar models are currently used, and how many should we anticipate might be used in future?
** Also, when we have ZObject-based lightweight enum types, are we going to want to switch to those?
*** Probably not, because Wikidata may have more calendar models, at any given time, than what is present on Wikifunctions.
== Alternatives ==
''In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too?''
* In ''Datetime,'' [[Wikifunctions:Type_proposals/Moment_in_time|Moment in time]] could have been used as the type of <code>K2</code>.
* For <code>K6</code>, instead of creating an enum type for ''Calendar model,'' its allowed values could have been references to [[Z20420|Gregorian calendar date]] or ''Julian calendar date'' (which doesn't exist yet).
== Comments ==
''For general comments, please reply to the proposer, or use the ''Discussion'' section below.''
* {{s}} as proposer. --[[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 06:10, 23 May 2025 (UTC)
* {{s}} strong support obviously (functions can be connected to Wikidata so we should support Wikidata types) with two comments: Wikidata support hour, minute, second in theory but not in practice ; and I'm wondering about the display/read functionality. Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 16:07, 1 June 2025 (UTC)
*
…
== Discussion ==
416umvqp4t49ditu76biwlyvdyuoymt
Wikifunctions:Type proposals/Wikidata geocoordinates
4
56628
192196
191226
2025-06-10T19:19:49Z
DMartin (WMF)
24
/* Structure */
192196
wikitext
text/x-wiki
== Summary ==
This type is modeled after Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype, and will support the import of all values of that type from Wikidata into Wikifunctions. We acknowledge and draw upon an earlier type proposal, [[Wikifunctions:Type_proposals/Wikidata_value#Geographic_coordinate|Geographic coordinate]], with similar objectives.
== Uses ==
* ''Why should this exist?''
Wikidata contains many statements with values of the [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype. A wide variety of Wikifunctions will be able to make use of these values, and this type will enable Wikifunctions to import these values from Wikidata.
* ''What kinds of functions would be created using this?''
Many kinds, including in particular functions that are called from Wikipedias and other MediaWiki projects to provide [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] values (or content computed from them), and Abstract Wikipedia functions that generate statements, paragraphs, and articles containing these values.
* ''What standard concepts, if any, does this align with?''
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype.
== Structure ==
'''''Wikidata geocoordinates''''' has these 4 keys, shown with proposed English labels:
* <code>K1/latitude</code>, of type [[Z19677|Rational number]].
* <code>K2/longitude</code>, of an enum type [[Z19677|Rational number]].
* <code>K3/precision</code>, of type [[Z19677|Rational number]], representing degrees of distance.
* <code>K4/globe</code>, of type [[Z6091|Wikidata item reference]].
=== Optionality ===
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations DataModel] documentation ''seems'' to imply, by the use of the word "default", that <code>K3/precision</code> and <code>K4/globe</code> properties ''might'' be missing sometimes. Wikifunctions does not currently have an ability to declare keys as optional. When importing a [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] value, if either of those properties is missing, Wikifunctions will assign the value of [https://www.wikifunctions.org/view/en/Z24 Z24/void] to these keys.
=== Example values ===
TBD
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "…",
"value": "…"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxyz",
"ZxyzK1": "…"
}</syntaxhighlight>
|}
== Validator ==
The '''Wikidata geocoordinates''' validator checks that:
* The value of <code>K1/latitude</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K2/longitude</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K3/precision</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K4/globe</code> is a valid instance of [[Z6091|Wikidata item reference]]. (In most cases, per Wikidata practice, its value will be the Wikidata item reference for Q2, the Earth, which means WGS84.)
== Identity ==
For each of the above types''':'''
* Two instances are the same if they have equal values for each of their keys. Equality of those values, in turn, is specified by the definitions & documentation of their respective types.
== Converting to code ==
=== Python ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
=== JavaScript ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
== Display function ==
''How would a value of this type be displayed on Wikifunctions''
…TBD
== Read function ==
''When entering a value for this type as a string, what format should that string have?''
…TBD
== Questions ==
* The JSON encoding of a geocoordinates value includes a property "altitude", but so far I've only seen null values for that property. It doesn't seem to be documented anywhere. I've found an old discussion indicating that there were no plans to make use of it (at least, not at that time). Does anyone know if it has any values in Wikidata, or if it might still be used?
* Some values for <code>precision</code>, coming back from Wikidata, end with an exponent part, like this: <code>"precision": 2.777777777777778e-5</code>. The exponent part isn't mentioned in [https://www.mediawiki.org/wiki/Wikibase/DataModel#decimal Wikibase/DataModel], and doesn't conform to the Wikidata Object Notation given for <code>decimal</code> there. It would be good to know if all properties with <code>decimal</code> values are allowed to include the exponent part, or just <code>precision</code>.
== Alternatives ==
''In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too?''
* Regarding <code>K4/globe</code>, it would be possible to create a "lightweight enum type", but we have an estimate (from Denny) of about 20 different globes currently in use in Wikidata, and we believe that many elements would make the enum type a bit unwieldy. Also, would like to avoid the maintenance overhead as additional globes get used over time.
== Comments ==
''For general comments, please reply to the proposer, or use the ''Discussion'' section below.''
* {{s}} as proposer. --[[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 06:11, 23 May 2025 (UTC)
* {{s}} strong support obviously (functions can be connected to Wikidata so we should support Wikidata types) with a warning to be careful about precision and it's representation (it has been and still is a source of many problem on the Wikidata side). Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 16:11, 1 June 2025 (UTC)
*
…
== Discussion ==
* A couple months ago, I drafted [[WF:Type proposals/Position on Earth]] with some idea of potential geospatial use-cases but a limited understanding of the Wikidata type. The main differences from this proposal are the lack of a <code>globe</code> key (Earth assumed, per my suggested name), and the addition of an <code>altitude</code> key. I think it could easily be adapted to use this type as a component, if there's a need for a position type that includes altitude. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:36, 23 May 2025 (UTC)
*:Thanks for mentioning! Such an adaptation sounds reasonable to me. Let's keep this in mind. Feel free to adapt the proposal, but it would make sense to wait until this type is published; that's expected by the end of the month. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 00:00, 4 June 2025 (UTC)
*::See also the bullet about altitude in the ''Questions ''section above. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 02:46, 5 June 2025 (UTC)
4547h2u4utr3818hybhjydw1x1ozlhq
192198
192196
2025-06-10T23:27:14Z
99of9
1622
/* Structure */ surely the enum is not on the longitude! I assume it was meant for the globe?
192198
wikitext
text/x-wiki
== Summary ==
This type is modeled after Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype, and will support the import of all values of that type from Wikidata into Wikifunctions. We acknowledge and draw upon an earlier type proposal, [[Wikifunctions:Type_proposals/Wikidata_value#Geographic_coordinate|Geographic coordinate]], with similar objectives.
== Uses ==
* ''Why should this exist?''
Wikidata contains many statements with values of the [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype. A wide variety of Wikifunctions will be able to make use of these values, and this type will enable Wikifunctions to import these values from Wikidata.
* ''What kinds of functions would be created using this?''
Many kinds, including in particular functions that are called from Wikipedias and other MediaWiki projects to provide [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] values (or content computed from them), and Abstract Wikipedia functions that generate statements, paragraphs, and articles containing these values.
* ''What standard concepts, if any, does this align with?''
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype.
== Structure ==
'''''Wikidata geocoordinates''''' has these 4 keys, shown with proposed English labels:
* <code>K1/latitude</code>, of type [[Z19677|Rational number]].
* <code>K2/longitude</code>, of type [[Z19677|Rational number]].
* <code>K3/precision</code>, of type [[Z19677|Rational number]], representing degrees of distance.
* <code>K4/globe</code>, of an enum type [[Z6091|Wikidata item reference]].
=== Optionality ===
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations DataModel] documentation ''seems'' to imply, by the use of the word "default", that <code>K3/precision</code> and <code>K4/globe</code> properties ''might'' be missing sometimes. Wikifunctions does not currently have an ability to declare keys as optional. When importing a [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] value, if either of those properties is missing, Wikifunctions will assign the value of [https://www.wikifunctions.org/view/en/Z24 Z24/void] to these keys.
=== Example values ===
TBD
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "…",
"value": "…"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxyz",
"ZxyzK1": "…"
}</syntaxhighlight>
|}
== Validator ==
The '''Wikidata geocoordinates''' validator checks that:
* The value of <code>K1/latitude</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K2/longitude</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K3/precision</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K4/globe</code> is a valid instance of [[Z6091|Wikidata item reference]]. (In most cases, per Wikidata practice, its value will be the Wikidata item reference for Q2, the Earth, which means WGS84.)
== Identity ==
For each of the above types''':'''
* Two instances are the same if they have equal values for each of their keys. Equality of those values, in turn, is specified by the definitions & documentation of their respective types.
== Converting to code ==
=== Python ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
=== JavaScript ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
== Display function ==
''How would a value of this type be displayed on Wikifunctions''
…TBD
== Read function ==
''When entering a value for this type as a string, what format should that string have?''
…TBD
== Questions ==
* The JSON encoding of a geocoordinates value includes a property "altitude", but so far I've only seen null values for that property. It doesn't seem to be documented anywhere. I've found an old discussion indicating that there were no plans to make use of it (at least, not at that time). Does anyone know if it has any values in Wikidata, or if it might still be used?
* Some values for <code>precision</code>, coming back from Wikidata, end with an exponent part, like this: <code>"precision": 2.777777777777778e-5</code>. The exponent part isn't mentioned in [https://www.mediawiki.org/wiki/Wikibase/DataModel#decimal Wikibase/DataModel], and doesn't conform to the Wikidata Object Notation given for <code>decimal</code> there. It would be good to know if all properties with <code>decimal</code> values are allowed to include the exponent part, or just <code>precision</code>.
== Alternatives ==
''In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too?''
* Regarding <code>K4/globe</code>, it would be possible to create a "lightweight enum type", but we have an estimate (from Denny) of about 20 different globes currently in use in Wikidata, and we believe that many elements would make the enum type a bit unwieldy. Also, would like to avoid the maintenance overhead as additional globes get used over time.
== Comments ==
''For general comments, please reply to the proposer, or use the ''Discussion'' section below.''
* {{s}} as proposer. --[[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 06:11, 23 May 2025 (UTC)
* {{s}} strong support obviously (functions can be connected to Wikidata so we should support Wikidata types) with a warning to be careful about precision and it's representation (it has been and still is a source of many problem on the Wikidata side). Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 16:11, 1 June 2025 (UTC)
*
…
== Discussion ==
* A couple months ago, I drafted [[WF:Type proposals/Position on Earth]] with some idea of potential geospatial use-cases but a limited understanding of the Wikidata type. The main differences from this proposal are the lack of a <code>globe</code> key (Earth assumed, per my suggested name), and the addition of an <code>altitude</code> key. I think it could easily be adapted to use this type as a component, if there's a need for a position type that includes altitude. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:36, 23 May 2025 (UTC)
*:Thanks for mentioning! Such an adaptation sounds reasonable to me. Let's keep this in mind. Feel free to adapt the proposal, but it would make sense to wait until this type is published; that's expected by the end of the month. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 00:00, 4 June 2025 (UTC)
*::See also the bullet about altitude in the ''Questions ''section above. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 02:46, 5 June 2025 (UTC)
ch6ucbtdmcpqpafjegafum6mdtrkx27
192199
192198
2025-06-10T23:29:23Z
99of9
1622
/* Discussion */ Reply
192199
wikitext
text/x-wiki
== Summary ==
This type is modeled after Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype, and will support the import of all values of that type from Wikidata into Wikifunctions. We acknowledge and draw upon an earlier type proposal, [[Wikifunctions:Type_proposals/Wikidata_value#Geographic_coordinate|Geographic coordinate]], with similar objectives.
== Uses ==
* ''Why should this exist?''
Wikidata contains many statements with values of the [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype. A wide variety of Wikifunctions will be able to make use of these values, and this type will enable Wikifunctions to import these values from Wikidata.
* ''What kinds of functions would be created using this?''
Many kinds, including in particular functions that are called from Wikipedias and other MediaWiki projects to provide [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] values (or content computed from them), and Abstract Wikipedia functions that generate statements, paragraphs, and articles containing these values.
* ''What standard concepts, if any, does this align with?''
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype.
== Structure ==
'''''Wikidata geocoordinates''''' has these 4 keys, shown with proposed English labels:
* <code>K1/latitude</code>, of type [[Z19677|Rational number]].
* <code>K2/longitude</code>, of type [[Z19677|Rational number]].
* <code>K3/precision</code>, of type [[Z19677|Rational number]], representing degrees of distance.
* <code>K4/globe</code>, of an enum type [[Z6091|Wikidata item reference]].
=== Optionality ===
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations DataModel] documentation ''seems'' to imply, by the use of the word "default", that <code>K3/precision</code> and <code>K4/globe</code> properties ''might'' be missing sometimes. Wikifunctions does not currently have an ability to declare keys as optional. When importing a [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] value, if either of those properties is missing, Wikifunctions will assign the value of [https://www.wikifunctions.org/view/en/Z24 Z24/void] to these keys.
=== Example values ===
TBD
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "…",
"value": "…"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxyz",
"ZxyzK1": "…"
}</syntaxhighlight>
|}
== Validator ==
The '''Wikidata geocoordinates''' validator checks that:
* The value of <code>K1/latitude</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K2/longitude</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K3/precision</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K4/globe</code> is a valid instance of [[Z6091|Wikidata item reference]]. (In most cases, per Wikidata practice, its value will be the Wikidata item reference for Q2, the Earth, which means WGS84.)
== Identity ==
For each of the above types''':'''
* Two instances are the same if they have equal values for each of their keys. Equality of those values, in turn, is specified by the definitions & documentation of their respective types.
== Converting to code ==
=== Python ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
=== JavaScript ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
== Display function ==
''How would a value of this type be displayed on Wikifunctions''
…TBD
== Read function ==
''When entering a value for this type as a string, what format should that string have?''
…TBD
== Questions ==
* The JSON encoding of a geocoordinates value includes a property "altitude", but so far I've only seen null values for that property. It doesn't seem to be documented anywhere. I've found an old discussion indicating that there were no plans to make use of it (at least, not at that time). Does anyone know if it has any values in Wikidata, or if it might still be used?
* Some values for <code>precision</code>, coming back from Wikidata, end with an exponent part, like this: <code>"precision": 2.777777777777778e-5</code>. The exponent part isn't mentioned in [https://www.mediawiki.org/wiki/Wikibase/DataModel#decimal Wikibase/DataModel], and doesn't conform to the Wikidata Object Notation given for <code>decimal</code> there. It would be good to know if all properties with <code>decimal</code> values are allowed to include the exponent part, or just <code>precision</code>.
== Alternatives ==
''In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too?''
* Regarding <code>K4/globe</code>, it would be possible to create a "lightweight enum type", but we have an estimate (from Denny) of about 20 different globes currently in use in Wikidata, and we believe that many elements would make the enum type a bit unwieldy. Also, would like to avoid the maintenance overhead as additional globes get used over time.
== Comments ==
''For general comments, please reply to the proposer, or use the ''Discussion'' section below.''
* {{s}} as proposer. --[[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 06:11, 23 May 2025 (UTC)
* {{s}} strong support obviously (functions can be connected to Wikidata so we should support Wikidata types) with a warning to be careful about precision and it's representation (it has been and still is a source of many problem on the Wikidata side). Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 16:11, 1 June 2025 (UTC)
*
…
== Discussion ==
* A couple months ago, I drafted [[WF:Type proposals/Position on Earth]] with some idea of potential geospatial use-cases but a limited understanding of the Wikidata type. The main differences from this proposal are the lack of a <code>globe</code> key (Earth assumed, per my suggested name), and the addition of an <code>altitude</code> key. I think it could easily be adapted to use this type as a component, if there's a need for a position type that includes altitude. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:36, 23 May 2025 (UTC)
*:Thanks for mentioning! Such an adaptation sounds reasonable to me. Let's keep this in mind. Feel free to adapt the proposal, but it would make sense to wait until this type is published; that's expected by the end of the month. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 00:00, 4 June 2025 (UTC)
*::See also the bullet about altitude in the ''Questions ''section above. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 02:46, 5 June 2025 (UTC)
*:I would probably support altitude, but it would need to be optional. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:29, 10 June 2025 (UTC)
af7vnyi5wfigiu1t5v6eqknrzi0wffp
192200
192199
2025-06-10T23:29:53Z
99of9
1622
/* Structure */ per alternatives below, it looks like the intent is not to have enum
192200
wikitext
text/x-wiki
== Summary ==
This type is modeled after Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype, and will support the import of all values of that type from Wikidata into Wikifunctions. We acknowledge and draw upon an earlier type proposal, [[Wikifunctions:Type_proposals/Wikidata_value#Geographic_coordinate|Geographic coordinate]], with similar objectives.
== Uses ==
* ''Why should this exist?''
Wikidata contains many statements with values of the [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype. A wide variety of Wikifunctions will be able to make use of these values, and this type will enable Wikifunctions to import these values from Wikidata.
* ''What kinds of functions would be created using this?''
Many kinds, including in particular functions that are called from Wikipedias and other MediaWiki projects to provide [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] values (or content computed from them), and Abstract Wikipedia functions that generate statements, paragraphs, and articles containing these values.
* ''What standard concepts, if any, does this align with?''
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype.
== Structure ==
'''''Wikidata geocoordinates''''' has these 4 keys, shown with proposed English labels:
* <code>K1/latitude</code>, of type [[Z19677|Rational number]].
* <code>K2/longitude</code>, of type [[Z19677|Rational number]].
* <code>K3/precision</code>, of type [[Z19677|Rational number]], representing degrees of distance.
* <code>K4/globe</code>, of type [[Z6091|Wikidata item reference]].
=== Optionality ===
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations DataModel] documentation ''seems'' to imply, by the use of the word "default", that <code>K3/precision</code> and <code>K4/globe</code> properties ''might'' be missing sometimes. Wikifunctions does not currently have an ability to declare keys as optional. When importing a [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] value, if either of those properties is missing, Wikifunctions will assign the value of [https://www.wikifunctions.org/view/en/Z24 Z24/void] to these keys.
=== Example values ===
TBD
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "…",
"value": "…"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxyz",
"ZxyzK1": "…"
}</syntaxhighlight>
|}
== Validator ==
The '''Wikidata geocoordinates''' validator checks that:
* The value of <code>K1/latitude</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K2/longitude</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K3/precision</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K4/globe</code> is a valid instance of [[Z6091|Wikidata item reference]]. (In most cases, per Wikidata practice, its value will be the Wikidata item reference for Q2, the Earth, which means WGS84.)
== Identity ==
For each of the above types''':'''
* Two instances are the same if they have equal values for each of their keys. Equality of those values, in turn, is specified by the definitions & documentation of their respective types.
== Converting to code ==
=== Python ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
=== JavaScript ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
== Display function ==
''How would a value of this type be displayed on Wikifunctions''
…TBD
== Read function ==
''When entering a value for this type as a string, what format should that string have?''
…TBD
== Questions ==
* The JSON encoding of a geocoordinates value includes a property "altitude", but so far I've only seen null values for that property. It doesn't seem to be documented anywhere. I've found an old discussion indicating that there were no plans to make use of it (at least, not at that time). Does anyone know if it has any values in Wikidata, or if it might still be used?
* Some values for <code>precision</code>, coming back from Wikidata, end with an exponent part, like this: <code>"precision": 2.777777777777778e-5</code>. The exponent part isn't mentioned in [https://www.mediawiki.org/wiki/Wikibase/DataModel#decimal Wikibase/DataModel], and doesn't conform to the Wikidata Object Notation given for <code>decimal</code> there. It would be good to know if all properties with <code>decimal</code> values are allowed to include the exponent part, or just <code>precision</code>.
== Alternatives ==
''In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too?''
* Regarding <code>K4/globe</code>, it would be possible to create a "lightweight enum type", but we have an estimate (from Denny) of about 20 different globes currently in use in Wikidata, and we believe that many elements would make the enum type a bit unwieldy. Also, would like to avoid the maintenance overhead as additional globes get used over time.
== Comments ==
''For general comments, please reply to the proposer, or use the ''Discussion'' section below.''
* {{s}} as proposer. --[[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 06:11, 23 May 2025 (UTC)
* {{s}} strong support obviously (functions can be connected to Wikidata so we should support Wikidata types) with a warning to be careful about precision and it's representation (it has been and still is a source of many problem on the Wikidata side). Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 16:11, 1 June 2025 (UTC)
*
…
== Discussion ==
* A couple months ago, I drafted [[WF:Type proposals/Position on Earth]] with some idea of potential geospatial use-cases but a limited understanding of the Wikidata type. The main differences from this proposal are the lack of a <code>globe</code> key (Earth assumed, per my suggested name), and the addition of an <code>altitude</code> key. I think it could easily be adapted to use this type as a component, if there's a need for a position type that includes altitude. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:36, 23 May 2025 (UTC)
*:Thanks for mentioning! Such an adaptation sounds reasonable to me. Let's keep this in mind. Feel free to adapt the proposal, but it would make sense to wait until this type is published; that's expected by the end of the month. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 00:00, 4 June 2025 (UTC)
*::See also the bullet about altitude in the ''Questions ''section above. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 02:46, 5 June 2025 (UTC)
*:I would probably support altitude, but it would need to be optional. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:29, 10 June 2025 (UTC)
thxp1y2b5d36vhcdj2ktpif29fjmi4z
192201
192200
2025-06-10T23:32:32Z
99of9
1622
/* Discussion */
192201
wikitext
text/x-wiki
== Summary ==
This type is modeled after Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype, and will support the import of all values of that type from Wikidata into Wikifunctions. We acknowledge and draw upon an earlier type proposal, [[Wikifunctions:Type_proposals/Wikidata_value#Geographic_coordinate|Geographic coordinate]], with similar objectives.
== Uses ==
* ''Why should this exist?''
Wikidata contains many statements with values of the [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype. A wide variety of Wikifunctions will be able to make use of these values, and this type will enable Wikifunctions to import these values from Wikidata.
* ''What kinds of functions would be created using this?''
Many kinds, including in particular functions that are called from Wikipedias and other MediaWiki projects to provide [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] values (or content computed from them), and Abstract Wikipedia functions that generate statements, paragraphs, and articles containing these values.
* ''What standard concepts, if any, does this align with?''
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] datatype.
== Structure ==
'''''Wikidata geocoordinates''''' has these 4 keys, shown with proposed English labels:
* <code>K1/latitude</code>, of type [[Z19677|Rational number]].
* <code>K2/longitude</code>, of type [[Z19677|Rational number]].
* <code>K3/precision</code>, of type [[Z19677|Rational number]], representing degrees of distance.
* <code>K4/globe</code>, of type [[Z6091|Wikidata item reference]].
=== Optionality ===
Wikidata's [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations DataModel] documentation ''seems'' to imply, by the use of the word "default", that <code>K3/precision</code> and <code>K4/globe</code> properties ''might'' be missing sometimes. Wikifunctions does not currently have an ability to declare keys as optional. When importing a [https://www.mediawiki.org/wiki/Wikibase/DataModel#Geographic_locations geocoordinates] value, if either of those properties is missing, Wikifunctions will assign the value of [https://www.wikifunctions.org/view/en/Z24 Z24/void] to these keys.
=== Example values ===
TBD
{|class="wikitable" style="margin:.6em 1.6em"
|-
| <syntaxhighlight lang="json" line="line">{
"type": "…",
"value": "…"
}</syntaxhighlight>
| <syntaxhighlight lang="json">{
"Z1K1": "Zxyz",
"ZxyzK1": "…"
}</syntaxhighlight>
|}
== Validator ==
The '''Wikidata geocoordinates''' validator checks that:
* The value of <code>K1/latitude</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K2/longitude</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K3/precision</code> is a valid ''Rational number'' in an appropriate range of values.
* The value of <code>K4/globe</code> is a valid instance of [[Z6091|Wikidata item reference]]. (In most cases, per Wikidata practice, its value will be the Wikidata item reference for Q2, the Earth, which means WGS84.)
== Identity ==
For each of the above types''':'''
* Two instances are the same if they have equal values for each of their keys. Equality of those values, in turn, is specified by the definitions & documentation of their respective types.
== Converting to code ==
=== Python ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
=== JavaScript ===
We expect to get started by relying on the existing default conversion strategy; something more sophisticated could come later if needed.
== Display function ==
''How would a value of this type be displayed on Wikifunctions''
…TBD
== Read function ==
''When entering a value for this type as a string, what format should that string have?''
…TBD
== Questions ==
* The JSON encoding of a geocoordinates value includes a property "altitude", but so far I've only seen null values for that property. It doesn't seem to be documented anywhere. I've found an old discussion indicating that there were no plans to make use of it (at least, not at that time). Does anyone know if it has any values in Wikidata, or if it might still be used?
* Some values for <code>precision</code>, coming back from Wikidata, end with an exponent part, like this: <code>"precision": 2.777777777777778e-5</code>. The exponent part isn't mentioned in [https://www.mediawiki.org/wiki/Wikibase/DataModel#decimal Wikibase/DataModel], and doesn't conform to the Wikidata Object Notation given for <code>decimal</code> there. It would be good to know if all properties with <code>decimal</code> values are allowed to include the exponent part, or just <code>precision</code>.
== Alternatives ==
''In order to capture the idea presented in the summary, what alternative structures, display functions, read functions, etc. could have made sense too?''
* Regarding <code>K4/globe</code>, it would be possible to create a "lightweight enum type", but we have an estimate (from Denny) of about 20 different globes currently in use in Wikidata, and we believe that many elements would make the enum type a bit unwieldy. Also, would like to avoid the maintenance overhead as additional globes get used over time.
== Comments ==
''For general comments, please reply to the proposer, or use the ''Discussion'' section below.''
* {{s}} as proposer. --[[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 06:11, 23 May 2025 (UTC)
* {{s}} strong support obviously (functions can be connected to Wikidata so we should support Wikidata types) with a warning to be careful about precision and it's representation (it has been and still is a source of many problem on the Wikidata side). Cheers, [[User:VIGNERON|VIGNERON]] ([[User talk:VIGNERON|talk]]) 16:11, 1 June 2025 (UTC)
*
…
== Discussion ==
* A couple months ago, I drafted [[WF:Type proposals/Position on Earth]] with some idea of potential geospatial use-cases but a limited understanding of the Wikidata type. The main differences from this proposal are the lack of a <code>globe</code> key (Earth assumed, per my suggested name), and the addition of an <code>altitude</code> key. I think it could easily be adapted to use this type as a component, if there's a need for a position type that includes altitude. [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 22:36, 23 May 2025 (UTC)
*:Thanks for mentioning! Such an adaptation sounds reasonable to me. Let's keep this in mind. Feel free to adapt the proposal, but it would make sense to wait until this type is published; that's expected by the end of the month. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 00:00, 4 June 2025 (UTC)
*::See also the bullet about altitude in the ''Questions ''section above. [[User:DMartin (WMF)|DMartin (WMF)]] ([[User talk:DMartin (WMF)|talk]]) 02:46, 5 June 2025 (UTC)
*:I would probably support altitude, but it would need to be optional. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:29, 10 June 2025 (UTC)
*IMO a lightweight enum is right for globe, even if it needs occasional maintenance to add globes over time. The community will have rights to do this maintenance eventually. Enum will help enforce constraints on the values, and will help guide editors dropdown choices. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 23:32, 10 June 2025 (UTC)
4id2w77cmwuqwiiun1vpqxijev4wu12
Wikifunctions:Project chat/Archive/2025/05
4
56771
192215
191341
2025-06-11T03:08:07Z
SpBot
978
archiving 1 section from [[Wikifunctions:Project chat]] (after section [[Wikifunctions:Project chat/Archive/2025/05#Fold_and_reduce_swapped|Fold_and_reduce_swapped]])
192215
wikitext
text/x-wiki
{{Talkarchive}}
== Update language tag of "Simple English" (Z1124) ==
Please update the language tag of [[Z1124]] to "<code>en-simple</code>" as the variant subtag "<code>simple</code>" is already registered in the Language Subtag Registry: https://www.iana.org/assignments/language-subtag-registry/language-subtag-registry . -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 07:03, 13 May 2025 (UTC)
: @[[User:Winston Sung|Winston Sung]]: This can't be done until MediaWiki drops use of the tag, sorry. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 18:42, 14 May 2025 (UTC)
: @[[User:Jdforrester (WMF)|Jdforrester (WMF)]]:
: MediaWiki [https://codesearch.wmcloud.org/search/?q=en-x-simple no longer use <code>en-x-simple</code>] but [https://codesearch.wmcloud.org/search/?q=en-simple already use <code>en-simple</code> instead]. -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 01:16, 15 May 2025 (UTC)
:: @[[User:Winston Sung|Winston Sung]]: Ah, interesting, whoever did those changes didn't file a task with us. Will file one. [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 11:36, 15 May 2025 (UTC)
: Just note it here: the Phabricator task filed by @[[User:Jdforrester (WMF)|Jdforrester (WMF)]] is [[phab:T394401]]. -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 11:44, 15 May 2025 (UTC)
: :<small>This section was archived on a request by: -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 11:55, 16 May 2025 (UTC)</small>
== Edit request - broken implementation ==
Please see [[:Talk:Z19164#Edit request: implementation broken]]. I found a bug and wish to make a change, but I do not have permissions to do so. Thanks. --[[User:WrenFalcon|WrenFalcon]] ([[User talk:WrenFalcon|talk]]) 06:23, 15 May 2025 (UTC)
:Thanks. It looks like this is now resolved. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:32, 16 May 2025 (UTC)
::<small>This section was archived on a request by: [[User:99of9|99of9]] ([[User talk:99of9|talk]]) 04:32, 16 May 2025 (UTC)</small>
== Wikifunctions & Abstract Wikipedia Newsletter #200 is out: Abstract Wikipedia is a MacArthur 100&Change finalist ==
There is [[:f:Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|a new update]] for Abstract Wikipedia and Wikifunctions. Please, come and read it!
In this issue, we announce that we reached the final stage of a grant competition, we introduce our next big conversation about where the content of Abstract Wikipedia will be located, 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/1746466200 May 5, 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]]) 10:57, 1 May 2025 (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=28628447 -->
:<small>This section was archived on a request by: [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 13:57, 23 May 2025 (UTC)</small>
== Change to translatewiki.net-like/Miraheze-Meta-like page translation target languages ==
Currently, the page translation target language configuration on Wikifunctions were [[gerrit:plugins/gitiles/operations/mediawiki-config/+/a4d0b2f22e0270ddd12d5a07ae78efde47a3566e/wmf-config/InitialiseSettings.php#7422|inherited from the "language converter page translation model"]].
However, this actually created several problems including the broken main page with malfunctioned language converter tags ( [https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page?uselang=zh-hans zh-Hans] , [https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page?uselang=zh-hant zh-Hant] , [https://www.wikifunctions.org/wiki/Wikifunctions:Main_Page?uselang=zh-hk zh-Hant-HK] ). More breakages could be found on [[phab:T328838]].
As Wikifunctions haven't build up the large "tech debt", I would like to propose to use the [[gerrit:plugins/gitiles/translatewiki/+/e61ec8f4d0d342d793cbb415ca50536901ed2393/mw-config/TranslateSettings.php#172|"translatewiki page translation model"]]/[https://github.com/miraheze/mw-config/blob/2f622587bbb5b78933ef3e940d3141edb4928df5/LocalSettings.php#L5911 "Miraheze Meta page translation model"] instead [[gerrit:1143697|on Wikifunctions]].
This would also make the page translation target languages align with the ZObjects translation target languages.
-- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 06:58, 13 May 2025 (UTC)
: @[[User:Winston Sung|Winston Sung]]: This sounds reasonable as an approach, thank you for flagging. Are there any community members here doing wikitext translation into multi-script languages who might have a view? [[User:Jdforrester (WMF)|Jdforrester (WMF)]] ([[User talk:Jdforrester (WMF)|talk]]) 18:46, 14 May 2025 (UTC)
: Pinging @[[User:0xDeadbeef|0xDeadbeef]], @[[User:LowensteinYang|LowensteinYang]], @[[User:MilkyDefer|MilkyDefer]], @[[User:S8321414|S8321414]], @[[User:Stevenliuyi|Stevenliuyi]], @[[User:Supaplex|Supaplex]], @[[User:星海子|星海子]], @[[User:魔琴|魔琴]]. -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 02:58, 15 May 2025 (UTC)
: Cannot understand the technical configs and details. Just to say fixing it would be nice. [[User:魔琴|魔琴]] ([[User talk:魔琴|talk]]) 03:08, 15 May 2025 (UTC)
: Please explain in detail about these translation models and their differences. I only see some configurations in your links and cannot grasp their differences. [[User:MilkyDefer|<span style="color:#09C">Milky</span>]][[User talk:MilkyDefer|'''<span style="color:#F09">Defer</span>''']] 03:39, 15 May 2025 (UTC)
: @[[User:MilkyDefer|MilkyDefer]]:
: Below are examples of the proposed translation model.
:* https://translatewiki.net/wiki/Special:Translate?group=page-Project%3AAbout&action=page&language=zh-hans&filter=
:* https://translatewiki.net/wiki/Special:Translate?group=page-Project%3AAbout&action=page&language=zh-hant&filter=
:* https://meta.miraheze.org/wiki/Special:Translate?group=page-Miraheze+Meta&action=page&language=zh-hans&filter=
:* https://meta.miraheze.org/wiki/Special:Translate?group=page-Miraheze+Meta&action=page&language=zh-hant&filter=
: Note: "translatewiki page translation model"/"Miraheze Meta page translation model" refer to the same translation model.
: -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 03:44, 15 May 2025 (UTC)
::Correct me if I am misunderstanding sth. The old configuration only has a blanket zh. The new configuration has zh-hans (for cn, my, sg), zh-hant (for tw) and zh-hk (for mo, hk). Is that right? [[User:MilkyDefer|<span style="color:#09C">Milky</span>]][[User talk:MilkyDefer|'''<span style="color:#F09">Defer</span>''']] 11:49, 16 May 2025 (UTC)
::That's correct for the zh/zh-* part. -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 11:54, 16 May 2025 (UTC)
:If this issue can be fixed by changing translation model, I will {{Support}}--[[User:S8321414|S8321414]] ([[User talk:S8321414|talk]]) 03:53, 15 May 2025 (UTC)
: {{Done}} in [https://schedule-deployment.toolforge.org/window/1748502000 Thursday, May 29, 2025 UTC morning backport window].
: :<small>This section was archived on a request by: -- [[User:Winston Sung|Winston Sung]] ([[User talk:Winston Sung|talk]]) 08:16, 29 May 2025 (UTC)</small>
== Error in "is Jalali leap year" ==
Hi!
The correct implementation for this function should consider 4 as a leap year not 5. Otherwise the algorithm is correct. So it should be:
<syntaxhighlight lang="python">
def Z11011(Z11011K1):
year = int(Z11011K1)
if(year <= 5):
mod = year % 4;
return (mod == 0);
is_leap_year = (year % 33) in [1, 5, 9, 13, 17, 22, 26, 30]
return is_leap_year
</syntaxhighlight>I didn't have permission to edit. How can I edit functions? Do I also need permission for function creation? [[User:Niyumard|Niyumard]] ([[User talk:Niyumard|talk]]) 12:02, 3 May 2025 (UTC)
:I've just disconnected the Python implementation, so that you van edit it. An advice: create a testcase that the current implementation fails, so it's evident that there is a bug that should be corrected. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:05, 3 May 2025 (UTC)
::I fixed the python code and added the test case that fails the JavaScript code. Can I disconnect the javascript code myself, or connect my own test cases or not, is there any guide for newbies? [[User:Niyumard|Niyumard]] ([[User talk:Niyumard|talk]]) 12:20, 3 May 2025 (UTC)
:::I've disconnected the js implementation.
:::Only Functioneers can connect and disconnect implementations and testcases, but everyone can create functions, testcases and implementations. This is described in the page [[Wikifunctions:Functioneers]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:26, 3 May 2025 (UTC)
::::I find it odd given the open nature of other wikis.
::::Done! And thanks a lot for your prompt reaction. Is this the correct place for asking Functioneers to connect and disconnect, or should I take my requests to some other place next time? [[User:Niyumard|Niyumard]] ([[User talk:Niyumard|talk]]) 12:32, 3 May 2025 (UTC)
:::::It's mainly for security concerns (it's not wise to freely execute code uploaded by anyone). For now there is not a place specifically for requesting connections or disconnections (at least not that I am aware of), the closest page is [[Wikifunctions:Community portal]]. [[User:Dv103|Dv103]] ([[User talk:Dv103|talk]]) 12:41, 3 May 2025 (UTC)
::::::Makes sense. Thanks! [[User:Niyumard|Niyumard]] ([[User talk:Niyumard|talk]]) 12:49, 3 May 2025 (UTC)
== Problems with evaluations: fixes are coming ==
Hi all, a quick update on the situation about evaluations not properly working in all cases, raised in the Telegram group. We identified the problem, and have been working in the last couple of weeks to solve it.
More specifically, you can find more info at [[phab:T393130]] (some fixes already merged that should come up today, others will come in the next weeks), at [[phab:T392905]] (fix already merged, should be up today), and at [[phab:T393152]] (fix already merged, should be already up). We're also following [[phab:T391435]] and [[phab:T392905]].
If you have more malfunctions to report, please let me know here. Also, you can freely comment the Phab tickets to discuss directly with the engineers. Thanks for your attention! [[User:Sannita (WMF)|Sannita (WMF)]] ([[User talk:Sannita (WMF)|talk]]) 14:18, 7 May 2025 (UTC)
== Fold and reduce swapped ==
Per my comments on [[Talk:Z876#Naming]] and [[WF:Catalogue/List operations#In-built functions with list outputs]],
I believe these functions' names are reversed from the conventional ones. Are there any FP greybeards who can confirm? [[User:YoshiRulz|YoshiRulz]] ([[User talk:YoshiRulz|talk]]) 05:22, 11 May 2025 (UTC)
:I was involved in the construction of some of these, following suggestions from others. I have no particular expertise in the nomenclature, so may well have transmitted naming errors. Feel free to rename if others confirm your suggestion. --[[User:99of9|99of9]] ([[User talk:99of9|talk]]) 12:44, 11 May 2025 (UTC)
7429unn159tm1kfv0stpn9xaa66j1rz
Z24731
0
57143
192239
188293
2025-06-11T06:18:27Z
99of9
1622
switching to valid rational in case that is tripping python
192239
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z24731"
},
"Z2K2": {
"Z1K1": "Z20",
"Z20K1": "Z12864",
"Z20K2": {
"Z1K1": "Z7",
"Z7K1": "Z12864",
"Z12864K1": [
"Z40",
{
"Z1K1": "Z40",
"Z40K1": "Z41"
},
{
"Z1K1": "Z40",
"Z40K1": "Z42"
}
],
"Z12864K2": [
"Z19677",
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "1"
}
},
{
"Z1K1": "Z19677",
"Z19677K1": {
"Z1K1": "Z16659",
"Z16659K1": "Z16660"
},
"Z19677K2": {
"Z1K1": "Z13518",
"Z13518K1": "1"
},
"Z19677K3": {
"Z1K1": "Z13518",
"Z13518K1": "2"
}
}
]
},
"Z20K3": {
"Z1K1": "Z7",
"Z7K1": "Z844",
"Z844K2": {
"Z1K1": "Z40",
"Z40K1": "Z41"
}
}
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "equal length lists of Boolean and Rational"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31"
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11"
]
}
}
aj5c5zss2rl8burwof253jz55y3osb7
Wikifunctions:Status updates/pt-br
4
57415
192219
192172
2025-06-11T06:09:01Z
Eduardogobi
2982
Created page with "$1: Bem-vinda, Sharvani!"
192219
wikitext
text/x-wiki
<languages/>
{{shortcut|WF:SU}}{{notice|1='''[[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|Inscreva-se]]''' para receber notificações curtas via MassMessage na sua wiki preferida para cada nova edição}}
{{Wikifunctions updates
| prevlabel = Atualização anterior
| prev = 2024-02-01
| nextlabel = Última atualização
| next = 2025-06-06
}}
Muita coisa está acontecendo em torno do Wikifunctions e da Wikipédia Abstrata. Esta é a página onde nossas atualizações são postadas, incluindo a “[[Special:MyLanguage/WF:function of the Week|Função da Semana]]”.
Também é possível assinar o [[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|boletim informativo na wiki]] para que toda edição dele seja enviada para a sua página de discussão ou para a esplanada do seu projeto.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Newsletters ==
</div>
<!--<nowiki> Newsletter entry template:
* <translate><tvar name="1"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-??-??|2025-??-??]]</bdi></tvar>: Title</translate>
NOTE: Remember to also update the "next =" date at the top of this page.
</nowiki>-->
=== 2025 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|2025-06-06]]</bdi>: Where will Abstract Content go?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|2025-05-29]]</bdi>: Rolling out to five Wiktionaries; Calculating with today's date</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|2025-05-23]]</bdi>: Ongoing consultation about the Location for Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|2025-05-15]]</bdi>: Location of Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|2025-05-09]]</bdi>: Abstract Wikipedia and the Wikimedia AI Strategy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|2025-04-30]]</bdi>: Abstract Wikipedia is a MacArthur 100&Change finalist</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-25|2025-04-25]]</bdi>: Welcome, Gregory!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-16|2025-04-16]]</bdi>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-11|2025-04-11]]</bdi>: Quarter in review</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-05|2025-04-05]]</bdi>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-28|2025-03-28]]</bdi>: It's about time</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-20|2025-03-20]]</bdi>: Wikidata-based simple enumerations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-15|2025-03-15]]</bdi>: Upcoming NLG meeting, Recent Changes in the software</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-07|2025-03-07]]</bdi>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-26|2025-02-26]]</bdi>: From things to words</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-19|2025-02-19]]</bdi>: A proposal for types per language and part of speech</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-13|2025-02-13]]</bdi>: Restricting the World, redux</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-06|2025-02-06]]</bdi>: Invitation to the Natural Language Generation Special Interest Group</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-29|2025-01-29]]</bdi>: With 2000 Functions into the new year: time for stats</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-22|2025-01-22]]</bdi>: Welcome, David! Naming conventions recommendations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-15|2025-01-15]]</bdi>: Happy Wikipedia day! Quarterly planning</span>
=== 2024 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-19|2024-12-19]]</bdi>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-12|2024-12-12]]</bdi>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-27|2024-11-27]]</bdi>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-21|2024-11-21]]</bdi>: New special page for missing labels, new type for Gregorian years, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-13|2024-11-13]]</bdi>: New Type: Rational number; Documentation on Wikidata-based types; and more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-07|2024-11-07]]</bdi>: The Dream of a Universal Language</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-01|2024-11-01]]</bdi>: Rewriting the backend</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-25|2024-10-25]]</bdi>: Our goal for this Quarter: Agreement</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-17|2024-10-17]]</bdi>: What could abstract content look like?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-11|2024-10-11]]</bdi>: Wikidata Lexemes in Wikifunctions are coming soon</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-02|2024-10-02]]</bdi>: Focus topic: Food</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-26|2024-09-26]]</bdi>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-20|2024-09-20]]</bdi>: Introducing focus topic areas</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-13|2024-09-13]]</bdi>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-06|2024-09-06]]</bdi>: Volunteer's corner and other updates</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-29|2024-08-29]]</bdi>: Limits on Name and Description Lengths</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-23|2024-08-23]]</bdi>: WasmEdge, Now 300ms Less Edgy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-16|2024-08-16]]</bdi>: Wikimania 2024 edition</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-02|2024-08-02]]</bdi>: Revamping our 'About' widget</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-26|2024-07-26]]</bdi>: Wikimania 2024 coming soon!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-18|2024-07-18]]</bdi>: Research report on integrating Wikifunctions from Wikipedia</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-10|2024-07-10]]</bdi>: Type proposals for accessing Lexemes</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-03|2024-07-03]]</bdi>: Quarterly planning</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-26|2024-06-26]]</bdi>: Welcome, Daphne!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-20|2024-06-20]]</bdi>: New Type: Integers</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-13|2024-06-13]]</bdi>: New Type: Igbo calendar months</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-06|2024-06-06]]</bdi>: New Type: Sign</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-30|2024-05-30]]</bdi>: A single singular or a plurality of plurals?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-22|2024-05-22]]</bdi>: New Type: Gregorian calendar months</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-15|2024-05-15]]</bdi>: Call for Functions: Spell out the number!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-10|2024-05-10]]</bdi>: Flagship type for enumerations: Months of the Gregorian calendar</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-03|2024-05-03]]</bdi>: Team meeting and Quarterly plan</span>
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-19|2024-04-19]]</bdi>: Bem-vinda, Sharvani!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-11|2024-04-11]]</bdi>: Nova API para realizar chamadas à Wikifunctions, e celebração das mil funções
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-03|2024-04-03]]</bdi>: Atualização de Produto sobre o Dif e Futuras Melhorias na API
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-28|2024-03-28]]</bdi>: A criação de testes está muito mais fácil!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-21|2024-03-21]]</bdi>: A caminho da internacionalização dos números
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-13|2024-03-13]]</bdi>: Sobre identidade
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-07|2024-03-07]]</bdi>: Apresentando nosso segundo novo tipo: Números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-28|2024-02-28]]</bdi>: Proposta de tipo para números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-22|2024-02-22]]</bdi>: Atualizando o modelo de função
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-14|2024-02-14]]</bdi>: Semana de consertos
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-07|2024-02-07]]</bdi>: Planejamento trimestral. Obrigado, Nick! Função da semana: é permutação
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-01|2024-02-01]]</bdi>: O modo imperativo em igbo!
<span id="Before_February_2024"></span>
=== Anteriores a fevereiro de 2024 ===
Todas as atualizações deste período estão [[:m:Special:MyLanguage/Abstract Wikipedia/Updates|disponíveis no Meta-Wiki]].
[[Category:Status updates{{#translation:}}| ]]
sqc3s0fgluon8mueneotaad8q90xc01
192221
192219
2025-06-11T06:09:28Z
Eduardogobi
2982
Created page with "$1: Reunião da equipe e plano trimestral"
192221
wikitext
text/x-wiki
<languages/>
{{shortcut|WF:SU}}{{notice|1='''[[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|Inscreva-se]]''' para receber notificações curtas via MassMessage na sua wiki preferida para cada nova edição}}
{{Wikifunctions updates
| prevlabel = Atualização anterior
| prev = 2024-02-01
| nextlabel = Última atualização
| next = 2025-06-06
}}
Muita coisa está acontecendo em torno do Wikifunctions e da Wikipédia Abstrata. Esta é a página onde nossas atualizações são postadas, incluindo a “[[Special:MyLanguage/WF:function of the Week|Função da Semana]]”.
Também é possível assinar o [[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|boletim informativo na wiki]] para que toda edição dele seja enviada para a sua página de discussão ou para a esplanada do seu projeto.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Newsletters ==
</div>
<!--<nowiki> Newsletter entry template:
* <translate><tvar name="1"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-??-??|2025-??-??]]</bdi></tvar>: Title</translate>
NOTE: Remember to also update the "next =" date at the top of this page.
</nowiki>-->
=== 2025 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|2025-06-06]]</bdi>: Where will Abstract Content go?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|2025-05-29]]</bdi>: Rolling out to five Wiktionaries; Calculating with today's date</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|2025-05-23]]</bdi>: Ongoing consultation about the Location for Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|2025-05-15]]</bdi>: Location of Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|2025-05-09]]</bdi>: Abstract Wikipedia and the Wikimedia AI Strategy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|2025-04-30]]</bdi>: Abstract Wikipedia is a MacArthur 100&Change finalist</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-25|2025-04-25]]</bdi>: Welcome, Gregory!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-16|2025-04-16]]</bdi>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-11|2025-04-11]]</bdi>: Quarter in review</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-05|2025-04-05]]</bdi>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-28|2025-03-28]]</bdi>: It's about time</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-20|2025-03-20]]</bdi>: Wikidata-based simple enumerations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-15|2025-03-15]]</bdi>: Upcoming NLG meeting, Recent Changes in the software</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-07|2025-03-07]]</bdi>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-26|2025-02-26]]</bdi>: From things to words</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-19|2025-02-19]]</bdi>: A proposal for types per language and part of speech</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-13|2025-02-13]]</bdi>: Restricting the World, redux</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-06|2025-02-06]]</bdi>: Invitation to the Natural Language Generation Special Interest Group</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-29|2025-01-29]]</bdi>: With 2000 Functions into the new year: time for stats</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-22|2025-01-22]]</bdi>: Welcome, David! Naming conventions recommendations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-15|2025-01-15]]</bdi>: Happy Wikipedia day! Quarterly planning</span>
=== 2024 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-19|2024-12-19]]</bdi>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-12|2024-12-12]]</bdi>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-27|2024-11-27]]</bdi>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-21|2024-11-21]]</bdi>: New special page for missing labels, new type for Gregorian years, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-13|2024-11-13]]</bdi>: New Type: Rational number; Documentation on Wikidata-based types; and more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-07|2024-11-07]]</bdi>: The Dream of a Universal Language</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-01|2024-11-01]]</bdi>: Rewriting the backend</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-25|2024-10-25]]</bdi>: Our goal for this Quarter: Agreement</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-17|2024-10-17]]</bdi>: What could abstract content look like?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-11|2024-10-11]]</bdi>: Wikidata Lexemes in Wikifunctions are coming soon</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-02|2024-10-02]]</bdi>: Focus topic: Food</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-26|2024-09-26]]</bdi>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-20|2024-09-20]]</bdi>: Introducing focus topic areas</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-13|2024-09-13]]</bdi>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-06|2024-09-06]]</bdi>: Volunteer's corner and other updates</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-29|2024-08-29]]</bdi>: Limits on Name and Description Lengths</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-23|2024-08-23]]</bdi>: WasmEdge, Now 300ms Less Edgy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-16|2024-08-16]]</bdi>: Wikimania 2024 edition</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-02|2024-08-02]]</bdi>: Revamping our 'About' widget</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-26|2024-07-26]]</bdi>: Wikimania 2024 coming soon!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-18|2024-07-18]]</bdi>: Research report on integrating Wikifunctions from Wikipedia</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-10|2024-07-10]]</bdi>: Type proposals for accessing Lexemes</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-03|2024-07-03]]</bdi>: Quarterly planning</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-26|2024-06-26]]</bdi>: Welcome, Daphne!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-20|2024-06-20]]</bdi>: New Type: Integers</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-13|2024-06-13]]</bdi>: New Type: Igbo calendar months</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-06|2024-06-06]]</bdi>: New Type: Sign</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-30|2024-05-30]]</bdi>: A single singular or a plurality of plurals?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-22|2024-05-22]]</bdi>: New Type: Gregorian calendar months</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-15|2024-05-15]]</bdi>: Call for Functions: Spell out the number!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-10|2024-05-10]]</bdi>: Flagship type for enumerations: Months of the Gregorian calendar</span>
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-03|2024-05-03]]</bdi>: Reunião da equipe e plano trimestral
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-19|2024-04-19]]</bdi>: Bem-vinda, Sharvani!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-11|2024-04-11]]</bdi>: Nova API para realizar chamadas à Wikifunctions, e celebração das mil funções
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-03|2024-04-03]]</bdi>: Atualização de Produto sobre o Dif e Futuras Melhorias na API
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-28|2024-03-28]]</bdi>: A criação de testes está muito mais fácil!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-21|2024-03-21]]</bdi>: A caminho da internacionalização dos números
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-13|2024-03-13]]</bdi>: Sobre identidade
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-07|2024-03-07]]</bdi>: Apresentando nosso segundo novo tipo: Números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-28|2024-02-28]]</bdi>: Proposta de tipo para números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-22|2024-02-22]]</bdi>: Atualizando o modelo de função
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-14|2024-02-14]]</bdi>: Semana de consertos
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-07|2024-02-07]]</bdi>: Planejamento trimestral. Obrigado, Nick! Função da semana: é permutação
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-01|2024-02-01]]</bdi>: O modo imperativo em igbo!
<span id="Before_February_2024"></span>
=== Anteriores a fevereiro de 2024 ===
Todas as atualizações deste período estão [[:m:Special:MyLanguage/Abstract Wikipedia/Updates|disponíveis no Meta-Wiki]].
[[Category:Status updates{{#translation:}}| ]]
j18i2802hapjey0hp4ch64rjf0es2y5
192223
192221
2025-06-11T06:10:26Z
Eduardogobi
2982
Created page with "$1: Tipo principal para enumerações: Meses do calendário gregoriano"
192223
wikitext
text/x-wiki
<languages/>
{{shortcut|WF:SU}}{{notice|1='''[[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|Inscreva-se]]''' para receber notificações curtas via MassMessage na sua wiki preferida para cada nova edição}}
{{Wikifunctions updates
| prevlabel = Atualização anterior
| prev = 2024-02-01
| nextlabel = Última atualização
| next = 2025-06-06
}}
Muita coisa está acontecendo em torno do Wikifunctions e da Wikipédia Abstrata. Esta é a página onde nossas atualizações são postadas, incluindo a “[[Special:MyLanguage/WF:function of the Week|Função da Semana]]”.
Também é possível assinar o [[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|boletim informativo na wiki]] para que toda edição dele seja enviada para a sua página de discussão ou para a esplanada do seu projeto.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Newsletters ==
</div>
<!--<nowiki> Newsletter entry template:
* <translate><tvar name="1"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-??-??|2025-??-??]]</bdi></tvar>: Title</translate>
NOTE: Remember to also update the "next =" date at the top of this page.
</nowiki>-->
=== 2025 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|2025-06-06]]</bdi>: Where will Abstract Content go?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|2025-05-29]]</bdi>: Rolling out to five Wiktionaries; Calculating with today's date</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|2025-05-23]]</bdi>: Ongoing consultation about the Location for Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|2025-05-15]]</bdi>: Location of Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|2025-05-09]]</bdi>: Abstract Wikipedia and the Wikimedia AI Strategy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|2025-04-30]]</bdi>: Abstract Wikipedia is a MacArthur 100&Change finalist</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-25|2025-04-25]]</bdi>: Welcome, Gregory!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-16|2025-04-16]]</bdi>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-11|2025-04-11]]</bdi>: Quarter in review</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-05|2025-04-05]]</bdi>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-28|2025-03-28]]</bdi>: It's about time</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-20|2025-03-20]]</bdi>: Wikidata-based simple enumerations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-15|2025-03-15]]</bdi>: Upcoming NLG meeting, Recent Changes in the software</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-07|2025-03-07]]</bdi>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-26|2025-02-26]]</bdi>: From things to words</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-19|2025-02-19]]</bdi>: A proposal for types per language and part of speech</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-13|2025-02-13]]</bdi>: Restricting the World, redux</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-06|2025-02-06]]</bdi>: Invitation to the Natural Language Generation Special Interest Group</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-29|2025-01-29]]</bdi>: With 2000 Functions into the new year: time for stats</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-22|2025-01-22]]</bdi>: Welcome, David! Naming conventions recommendations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-15|2025-01-15]]</bdi>: Happy Wikipedia day! Quarterly planning</span>
=== 2024 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-19|2024-12-19]]</bdi>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-12|2024-12-12]]</bdi>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-27|2024-11-27]]</bdi>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-21|2024-11-21]]</bdi>: New special page for missing labels, new type for Gregorian years, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-13|2024-11-13]]</bdi>: New Type: Rational number; Documentation on Wikidata-based types; and more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-07|2024-11-07]]</bdi>: The Dream of a Universal Language</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-01|2024-11-01]]</bdi>: Rewriting the backend</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-25|2024-10-25]]</bdi>: Our goal for this Quarter: Agreement</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-17|2024-10-17]]</bdi>: What could abstract content look like?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-11|2024-10-11]]</bdi>: Wikidata Lexemes in Wikifunctions are coming soon</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-02|2024-10-02]]</bdi>: Focus topic: Food</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-26|2024-09-26]]</bdi>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-20|2024-09-20]]</bdi>: Introducing focus topic areas</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-13|2024-09-13]]</bdi>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-06|2024-09-06]]</bdi>: Volunteer's corner and other updates</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-29|2024-08-29]]</bdi>: Limits on Name and Description Lengths</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-23|2024-08-23]]</bdi>: WasmEdge, Now 300ms Less Edgy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-16|2024-08-16]]</bdi>: Wikimania 2024 edition</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-02|2024-08-02]]</bdi>: Revamping our 'About' widget</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-26|2024-07-26]]</bdi>: Wikimania 2024 coming soon!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-18|2024-07-18]]</bdi>: Research report on integrating Wikifunctions from Wikipedia</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-10|2024-07-10]]</bdi>: Type proposals for accessing Lexemes</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-03|2024-07-03]]</bdi>: Quarterly planning</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-26|2024-06-26]]</bdi>: Welcome, Daphne!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-20|2024-06-20]]</bdi>: New Type: Integers</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-13|2024-06-13]]</bdi>: New Type: Igbo calendar months</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-06|2024-06-06]]</bdi>: New Type: Sign</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-30|2024-05-30]]</bdi>: A single singular or a plurality of plurals?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-22|2024-05-22]]</bdi>: New Type: Gregorian calendar months</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-15|2024-05-15]]</bdi>: Call for Functions: Spell out the number!</span>
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-10|2024-05-10]]</bdi>: Tipo principal para enumerações: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-03|2024-05-03]]</bdi>: Reunião da equipe e plano trimestral
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-19|2024-04-19]]</bdi>: Bem-vinda, Sharvani!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-11|2024-04-11]]</bdi>: Nova API para realizar chamadas à Wikifunctions, e celebração das mil funções
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-03|2024-04-03]]</bdi>: Atualização de Produto sobre o Dif e Futuras Melhorias na API
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-28|2024-03-28]]</bdi>: A criação de testes está muito mais fácil!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-21|2024-03-21]]</bdi>: A caminho da internacionalização dos números
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-13|2024-03-13]]</bdi>: Sobre identidade
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-07|2024-03-07]]</bdi>: Apresentando nosso segundo novo tipo: Números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-28|2024-02-28]]</bdi>: Proposta de tipo para números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-22|2024-02-22]]</bdi>: Atualizando o modelo de função
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-14|2024-02-14]]</bdi>: Semana de consertos
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-07|2024-02-07]]</bdi>: Planejamento trimestral. Obrigado, Nick! Função da semana: é permutação
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-01|2024-02-01]]</bdi>: O modo imperativo em igbo!
<span id="Before_February_2024"></span>
=== Anteriores a fevereiro de 2024 ===
Todas as atualizações deste período estão [[:m:Special:MyLanguage/Abstract Wikipedia/Updates|disponíveis no Meta-Wiki]].
[[Category:Status updates{{#translation:}}| ]]
rmfii43twpseki555t19i6w9lnso7oh
192225
192223
2025-06-11T06:11:12Z
Eduardogobi
2982
Created page with "$1: Chamada para Funções: Soletre o número!"
192225
wikitext
text/x-wiki
<languages/>
{{shortcut|WF:SU}}{{notice|1='''[[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|Inscreva-se]]''' para receber notificações curtas via MassMessage na sua wiki preferida para cada nova edição}}
{{Wikifunctions updates
| prevlabel = Atualização anterior
| prev = 2024-02-01
| nextlabel = Última atualização
| next = 2025-06-06
}}
Muita coisa está acontecendo em torno do Wikifunctions e da Wikipédia Abstrata. Esta é a página onde nossas atualizações são postadas, incluindo a “[[Special:MyLanguage/WF:function of the Week|Função da Semana]]”.
Também é possível assinar o [[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|boletim informativo na wiki]] para que toda edição dele seja enviada para a sua página de discussão ou para a esplanada do seu projeto.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Newsletters ==
</div>
<!--<nowiki> Newsletter entry template:
* <translate><tvar name="1"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-??-??|2025-??-??]]</bdi></tvar>: Title</translate>
NOTE: Remember to also update the "next =" date at the top of this page.
</nowiki>-->
=== 2025 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|2025-06-06]]</bdi>: Where will Abstract Content go?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|2025-05-29]]</bdi>: Rolling out to five Wiktionaries; Calculating with today's date</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|2025-05-23]]</bdi>: Ongoing consultation about the Location for Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|2025-05-15]]</bdi>: Location of Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|2025-05-09]]</bdi>: Abstract Wikipedia and the Wikimedia AI Strategy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|2025-04-30]]</bdi>: Abstract Wikipedia is a MacArthur 100&Change finalist</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-25|2025-04-25]]</bdi>: Welcome, Gregory!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-16|2025-04-16]]</bdi>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-11|2025-04-11]]</bdi>: Quarter in review</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-05|2025-04-05]]</bdi>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-28|2025-03-28]]</bdi>: It's about time</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-20|2025-03-20]]</bdi>: Wikidata-based simple enumerations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-15|2025-03-15]]</bdi>: Upcoming NLG meeting, Recent Changes in the software</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-07|2025-03-07]]</bdi>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-26|2025-02-26]]</bdi>: From things to words</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-19|2025-02-19]]</bdi>: A proposal for types per language and part of speech</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-13|2025-02-13]]</bdi>: Restricting the World, redux</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-06|2025-02-06]]</bdi>: Invitation to the Natural Language Generation Special Interest Group</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-29|2025-01-29]]</bdi>: With 2000 Functions into the new year: time for stats</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-22|2025-01-22]]</bdi>: Welcome, David! Naming conventions recommendations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-15|2025-01-15]]</bdi>: Happy Wikipedia day! Quarterly planning</span>
=== 2024 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-19|2024-12-19]]</bdi>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-12|2024-12-12]]</bdi>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-27|2024-11-27]]</bdi>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-21|2024-11-21]]</bdi>: New special page for missing labels, new type for Gregorian years, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-13|2024-11-13]]</bdi>: New Type: Rational number; Documentation on Wikidata-based types; and more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-07|2024-11-07]]</bdi>: The Dream of a Universal Language</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-01|2024-11-01]]</bdi>: Rewriting the backend</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-25|2024-10-25]]</bdi>: Our goal for this Quarter: Agreement</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-17|2024-10-17]]</bdi>: What could abstract content look like?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-11|2024-10-11]]</bdi>: Wikidata Lexemes in Wikifunctions are coming soon</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-02|2024-10-02]]</bdi>: Focus topic: Food</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-26|2024-09-26]]</bdi>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-20|2024-09-20]]</bdi>: Introducing focus topic areas</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-13|2024-09-13]]</bdi>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-06|2024-09-06]]</bdi>: Volunteer's corner and other updates</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-29|2024-08-29]]</bdi>: Limits on Name and Description Lengths</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-23|2024-08-23]]</bdi>: WasmEdge, Now 300ms Less Edgy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-16|2024-08-16]]</bdi>: Wikimania 2024 edition</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-02|2024-08-02]]</bdi>: Revamping our 'About' widget</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-26|2024-07-26]]</bdi>: Wikimania 2024 coming soon!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-18|2024-07-18]]</bdi>: Research report on integrating Wikifunctions from Wikipedia</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-10|2024-07-10]]</bdi>: Type proposals for accessing Lexemes</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-03|2024-07-03]]</bdi>: Quarterly planning</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-26|2024-06-26]]</bdi>: Welcome, Daphne!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-20|2024-06-20]]</bdi>: New Type: Integers</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-13|2024-06-13]]</bdi>: New Type: Igbo calendar months</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-06|2024-06-06]]</bdi>: New Type: Sign</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-30|2024-05-30]]</bdi>: A single singular or a plurality of plurals?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-22|2024-05-22]]</bdi>: New Type: Gregorian calendar months</span>
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-15|2024-05-15]]</bdi>: Chamada para Funções: Soletre o número!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-10|2024-05-10]]</bdi>: Tipo principal para enumerações: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-03|2024-05-03]]</bdi>: Reunião da equipe e plano trimestral
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-19|2024-04-19]]</bdi>: Bem-vinda, Sharvani!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-11|2024-04-11]]</bdi>: Nova API para realizar chamadas à Wikifunctions, e celebração das mil funções
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-03|2024-04-03]]</bdi>: Atualização de Produto sobre o Dif e Futuras Melhorias na API
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-28|2024-03-28]]</bdi>: A criação de testes está muito mais fácil!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-21|2024-03-21]]</bdi>: A caminho da internacionalização dos números
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-13|2024-03-13]]</bdi>: Sobre identidade
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-07|2024-03-07]]</bdi>: Apresentando nosso segundo novo tipo: Números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-28|2024-02-28]]</bdi>: Proposta de tipo para números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-22|2024-02-22]]</bdi>: Atualizando o modelo de função
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-14|2024-02-14]]</bdi>: Semana de consertos
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-07|2024-02-07]]</bdi>: Planejamento trimestral. Obrigado, Nick! Função da semana: é permutação
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-01|2024-02-01]]</bdi>: O modo imperativo em igbo!
<span id="Before_February_2024"></span>
=== Anteriores a fevereiro de 2024 ===
Todas as atualizações deste período estão [[:m:Special:MyLanguage/Abstract Wikipedia/Updates|disponíveis no Meta-Wiki]].
[[Category:Status updates{{#translation:}}| ]]
cmqp8kyhbez8k2a5hrs5zx596hsseh2
192227
192225
2025-06-11T06:12:12Z
Eduardogobi
2982
Created page with "$1: Novo Tipo: Meses do calendário gregoriano"
192227
wikitext
text/x-wiki
<languages/>
{{shortcut|WF:SU}}{{notice|1='''[[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|Inscreva-se]]''' para receber notificações curtas via MassMessage na sua wiki preferida para cada nova edição}}
{{Wikifunctions updates
| prevlabel = Atualização anterior
| prev = 2024-02-01
| nextlabel = Última atualização
| next = 2025-06-06
}}
Muita coisa está acontecendo em torno do Wikifunctions e da Wikipédia Abstrata. Esta é a página onde nossas atualizações são postadas, incluindo a “[[Special:MyLanguage/WF:function of the Week|Função da Semana]]”.
Também é possível assinar o [[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|boletim informativo na wiki]] para que toda edição dele seja enviada para a sua página de discussão ou para a esplanada do seu projeto.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Newsletters ==
</div>
<!--<nowiki> Newsletter entry template:
* <translate><tvar name="1"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-??-??|2025-??-??]]</bdi></tvar>: Title</translate>
NOTE: Remember to also update the "next =" date at the top of this page.
</nowiki>-->
=== 2025 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|2025-06-06]]</bdi>: Where will Abstract Content go?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|2025-05-29]]</bdi>: Rolling out to five Wiktionaries; Calculating with today's date</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|2025-05-23]]</bdi>: Ongoing consultation about the Location for Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|2025-05-15]]</bdi>: Location of Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|2025-05-09]]</bdi>: Abstract Wikipedia and the Wikimedia AI Strategy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|2025-04-30]]</bdi>: Abstract Wikipedia is a MacArthur 100&Change finalist</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-25|2025-04-25]]</bdi>: Welcome, Gregory!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-16|2025-04-16]]</bdi>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-11|2025-04-11]]</bdi>: Quarter in review</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-05|2025-04-05]]</bdi>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-28|2025-03-28]]</bdi>: It's about time</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-20|2025-03-20]]</bdi>: Wikidata-based simple enumerations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-15|2025-03-15]]</bdi>: Upcoming NLG meeting, Recent Changes in the software</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-07|2025-03-07]]</bdi>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-26|2025-02-26]]</bdi>: From things to words</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-19|2025-02-19]]</bdi>: A proposal for types per language and part of speech</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-13|2025-02-13]]</bdi>: Restricting the World, redux</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-06|2025-02-06]]</bdi>: Invitation to the Natural Language Generation Special Interest Group</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-29|2025-01-29]]</bdi>: With 2000 Functions into the new year: time for stats</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-22|2025-01-22]]</bdi>: Welcome, David! Naming conventions recommendations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-15|2025-01-15]]</bdi>: Happy Wikipedia day! Quarterly planning</span>
=== 2024 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-19|2024-12-19]]</bdi>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-12|2024-12-12]]</bdi>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-27|2024-11-27]]</bdi>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-21|2024-11-21]]</bdi>: New special page for missing labels, new type for Gregorian years, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-13|2024-11-13]]</bdi>: New Type: Rational number; Documentation on Wikidata-based types; and more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-07|2024-11-07]]</bdi>: The Dream of a Universal Language</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-01|2024-11-01]]</bdi>: Rewriting the backend</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-25|2024-10-25]]</bdi>: Our goal for this Quarter: Agreement</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-17|2024-10-17]]</bdi>: What could abstract content look like?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-11|2024-10-11]]</bdi>: Wikidata Lexemes in Wikifunctions are coming soon</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-02|2024-10-02]]</bdi>: Focus topic: Food</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-26|2024-09-26]]</bdi>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-20|2024-09-20]]</bdi>: Introducing focus topic areas</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-13|2024-09-13]]</bdi>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-06|2024-09-06]]</bdi>: Volunteer's corner and other updates</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-29|2024-08-29]]</bdi>: Limits on Name and Description Lengths</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-23|2024-08-23]]</bdi>: WasmEdge, Now 300ms Less Edgy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-16|2024-08-16]]</bdi>: Wikimania 2024 edition</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-02|2024-08-02]]</bdi>: Revamping our 'About' widget</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-26|2024-07-26]]</bdi>: Wikimania 2024 coming soon!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-18|2024-07-18]]</bdi>: Research report on integrating Wikifunctions from Wikipedia</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-10|2024-07-10]]</bdi>: Type proposals for accessing Lexemes</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-03|2024-07-03]]</bdi>: Quarterly planning</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-26|2024-06-26]]</bdi>: Welcome, Daphne!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-20|2024-06-20]]</bdi>: New Type: Integers</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-13|2024-06-13]]</bdi>: New Type: Igbo calendar months</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-06|2024-06-06]]</bdi>: New Type: Sign</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-30|2024-05-30]]</bdi>: A single singular or a plurality of plurals?</span>
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-22|2024-05-22]]</bdi>: Novo Tipo: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-15|2024-05-15]]</bdi>: Chamada para Funções: Soletre o número!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-10|2024-05-10]]</bdi>: Tipo principal para enumerações: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-03|2024-05-03]]</bdi>: Reunião da equipe e plano trimestral
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-19|2024-04-19]]</bdi>: Bem-vinda, Sharvani!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-11|2024-04-11]]</bdi>: Nova API para realizar chamadas à Wikifunctions, e celebração das mil funções
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-03|2024-04-03]]</bdi>: Atualização de Produto sobre o Dif e Futuras Melhorias na API
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-28|2024-03-28]]</bdi>: A criação de testes está muito mais fácil!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-21|2024-03-21]]</bdi>: A caminho da internacionalização dos números
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-13|2024-03-13]]</bdi>: Sobre identidade
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-07|2024-03-07]]</bdi>: Apresentando nosso segundo novo tipo: Números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-28|2024-02-28]]</bdi>: Proposta de tipo para números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-22|2024-02-22]]</bdi>: Atualizando o modelo de função
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-14|2024-02-14]]</bdi>: Semana de consertos
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-07|2024-02-07]]</bdi>: Planejamento trimestral. Obrigado, Nick! Função da semana: é permutação
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-01|2024-02-01]]</bdi>: O modo imperativo em igbo!
<span id="Before_February_2024"></span>
=== Anteriores a fevereiro de 2024 ===
Todas as atualizações deste período estão [[:m:Special:MyLanguage/Abstract Wikipedia/Updates|disponíveis no Meta-Wiki]].
[[Category:Status updates{{#translation:}}| ]]
dhdksjk7r7lt7jdni6lvwi1hhdt8dj3
192229
192227
2025-06-11T06:12:51Z
Eduardogobi
2982
Created page with "$1: Um singular na singularidade ou uma pluralidade de plurais?"
192229
wikitext
text/x-wiki
<languages/>
{{shortcut|WF:SU}}{{notice|1='''[[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|Inscreva-se]]''' para receber notificações curtas via MassMessage na sua wiki preferida para cada nova edição}}
{{Wikifunctions updates
| prevlabel = Atualização anterior
| prev = 2024-02-01
| nextlabel = Última atualização
| next = 2025-06-06
}}
Muita coisa está acontecendo em torno do Wikifunctions e da Wikipédia Abstrata. Esta é a página onde nossas atualizações são postadas, incluindo a “[[Special:MyLanguage/WF:function of the Week|Função da Semana]]”.
Também é possível assinar o [[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|boletim informativo na wiki]] para que toda edição dele seja enviada para a sua página de discussão ou para a esplanada do seu projeto.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Newsletters ==
</div>
<!--<nowiki> Newsletter entry template:
* <translate><tvar name="1"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-??-??|2025-??-??]]</bdi></tvar>: Title</translate>
NOTE: Remember to also update the "next =" date at the top of this page.
</nowiki>-->
=== 2025 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|2025-06-06]]</bdi>: Where will Abstract Content go?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|2025-05-29]]</bdi>: Rolling out to five Wiktionaries; Calculating with today's date</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|2025-05-23]]</bdi>: Ongoing consultation about the Location for Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|2025-05-15]]</bdi>: Location of Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|2025-05-09]]</bdi>: Abstract Wikipedia and the Wikimedia AI Strategy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|2025-04-30]]</bdi>: Abstract Wikipedia is a MacArthur 100&Change finalist</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-25|2025-04-25]]</bdi>: Welcome, Gregory!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-16|2025-04-16]]</bdi>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-11|2025-04-11]]</bdi>: Quarter in review</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-05|2025-04-05]]</bdi>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-28|2025-03-28]]</bdi>: It's about time</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-20|2025-03-20]]</bdi>: Wikidata-based simple enumerations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-15|2025-03-15]]</bdi>: Upcoming NLG meeting, Recent Changes in the software</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-07|2025-03-07]]</bdi>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-26|2025-02-26]]</bdi>: From things to words</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-19|2025-02-19]]</bdi>: A proposal for types per language and part of speech</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-13|2025-02-13]]</bdi>: Restricting the World, redux</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-06|2025-02-06]]</bdi>: Invitation to the Natural Language Generation Special Interest Group</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-29|2025-01-29]]</bdi>: With 2000 Functions into the new year: time for stats</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-22|2025-01-22]]</bdi>: Welcome, David! Naming conventions recommendations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-15|2025-01-15]]</bdi>: Happy Wikipedia day! Quarterly planning</span>
=== 2024 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-19|2024-12-19]]</bdi>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-12|2024-12-12]]</bdi>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-27|2024-11-27]]</bdi>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-21|2024-11-21]]</bdi>: New special page for missing labels, new type for Gregorian years, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-13|2024-11-13]]</bdi>: New Type: Rational number; Documentation on Wikidata-based types; and more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-07|2024-11-07]]</bdi>: The Dream of a Universal Language</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-01|2024-11-01]]</bdi>: Rewriting the backend</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-25|2024-10-25]]</bdi>: Our goal for this Quarter: Agreement</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-17|2024-10-17]]</bdi>: What could abstract content look like?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-11|2024-10-11]]</bdi>: Wikidata Lexemes in Wikifunctions are coming soon</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-02|2024-10-02]]</bdi>: Focus topic: Food</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-26|2024-09-26]]</bdi>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-20|2024-09-20]]</bdi>: Introducing focus topic areas</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-13|2024-09-13]]</bdi>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-06|2024-09-06]]</bdi>: Volunteer's corner and other updates</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-29|2024-08-29]]</bdi>: Limits on Name and Description Lengths</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-23|2024-08-23]]</bdi>: WasmEdge, Now 300ms Less Edgy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-16|2024-08-16]]</bdi>: Wikimania 2024 edition</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-02|2024-08-02]]</bdi>: Revamping our 'About' widget</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-26|2024-07-26]]</bdi>: Wikimania 2024 coming soon!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-18|2024-07-18]]</bdi>: Research report on integrating Wikifunctions from Wikipedia</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-10|2024-07-10]]</bdi>: Type proposals for accessing Lexemes</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-03|2024-07-03]]</bdi>: Quarterly planning</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-26|2024-06-26]]</bdi>: Welcome, Daphne!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-20|2024-06-20]]</bdi>: New Type: Integers</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-13|2024-06-13]]</bdi>: New Type: Igbo calendar months</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-06|2024-06-06]]</bdi>: New Type: Sign</span>
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-30|2024-05-30]]</bdi>: Um singular na singularidade ou uma pluralidade de plurais?
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-22|2024-05-22]]</bdi>: Novo Tipo: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-15|2024-05-15]]</bdi>: Chamada para Funções: Soletre o número!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-10|2024-05-10]]</bdi>: Tipo principal para enumerações: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-03|2024-05-03]]</bdi>: Reunião da equipe e plano trimestral
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-19|2024-04-19]]</bdi>: Bem-vinda, Sharvani!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-11|2024-04-11]]</bdi>: Nova API para realizar chamadas à Wikifunctions, e celebração das mil funções
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-03|2024-04-03]]</bdi>: Atualização de Produto sobre o Dif e Futuras Melhorias na API
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-28|2024-03-28]]</bdi>: A criação de testes está muito mais fácil!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-21|2024-03-21]]</bdi>: A caminho da internacionalização dos números
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-13|2024-03-13]]</bdi>: Sobre identidade
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-07|2024-03-07]]</bdi>: Apresentando nosso segundo novo tipo: Números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-28|2024-02-28]]</bdi>: Proposta de tipo para números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-22|2024-02-22]]</bdi>: Atualizando o modelo de função
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-14|2024-02-14]]</bdi>: Semana de consertos
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-07|2024-02-07]]</bdi>: Planejamento trimestral. Obrigado, Nick! Função da semana: é permutação
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-01|2024-02-01]]</bdi>: O modo imperativo em igbo!
<span id="Before_February_2024"></span>
=== Anteriores a fevereiro de 2024 ===
Todas as atualizações deste período estão [[:m:Special:MyLanguage/Abstract Wikipedia/Updates|disponíveis no Meta-Wiki]].
[[Category:Status updates{{#translation:}}| ]]
brj6dhezn0141vw6p6bso0bzpituevs
192231
192229
2025-06-11T06:13:25Z
Eduardogobi
2982
Created page with "$1: Novo Tipo: Sinal"
192231
wikitext
text/x-wiki
<languages/>
{{shortcut|WF:SU}}{{notice|1='''[[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|Inscreva-se]]''' para receber notificações curtas via MassMessage na sua wiki preferida para cada nova edição}}
{{Wikifunctions updates
| prevlabel = Atualização anterior
| prev = 2024-02-01
| nextlabel = Última atualização
| next = 2025-06-06
}}
Muita coisa está acontecendo em torno do Wikifunctions e da Wikipédia Abstrata. Esta é a página onde nossas atualizações são postadas, incluindo a “[[Special:MyLanguage/WF:function of the Week|Função da Semana]]”.
Também é possível assinar o [[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|boletim informativo na wiki]] para que toda edição dele seja enviada para a sua página de discussão ou para a esplanada do seu projeto.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Newsletters ==
</div>
<!--<nowiki> Newsletter entry template:
* <translate><tvar name="1"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-??-??|2025-??-??]]</bdi></tvar>: Title</translate>
NOTE: Remember to also update the "next =" date at the top of this page.
</nowiki>-->
=== 2025 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|2025-06-06]]</bdi>: Where will Abstract Content go?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|2025-05-29]]</bdi>: Rolling out to five Wiktionaries; Calculating with today's date</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|2025-05-23]]</bdi>: Ongoing consultation about the Location for Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|2025-05-15]]</bdi>: Location of Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|2025-05-09]]</bdi>: Abstract Wikipedia and the Wikimedia AI Strategy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|2025-04-30]]</bdi>: Abstract Wikipedia is a MacArthur 100&Change finalist</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-25|2025-04-25]]</bdi>: Welcome, Gregory!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-16|2025-04-16]]</bdi>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-11|2025-04-11]]</bdi>: Quarter in review</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-05|2025-04-05]]</bdi>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-28|2025-03-28]]</bdi>: It's about time</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-20|2025-03-20]]</bdi>: Wikidata-based simple enumerations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-15|2025-03-15]]</bdi>: Upcoming NLG meeting, Recent Changes in the software</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-07|2025-03-07]]</bdi>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-26|2025-02-26]]</bdi>: From things to words</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-19|2025-02-19]]</bdi>: A proposal for types per language and part of speech</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-13|2025-02-13]]</bdi>: Restricting the World, redux</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-06|2025-02-06]]</bdi>: Invitation to the Natural Language Generation Special Interest Group</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-29|2025-01-29]]</bdi>: With 2000 Functions into the new year: time for stats</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-22|2025-01-22]]</bdi>: Welcome, David! Naming conventions recommendations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-15|2025-01-15]]</bdi>: Happy Wikipedia day! Quarterly planning</span>
=== 2024 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-19|2024-12-19]]</bdi>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-12|2024-12-12]]</bdi>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-27|2024-11-27]]</bdi>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-21|2024-11-21]]</bdi>: New special page for missing labels, new type for Gregorian years, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-13|2024-11-13]]</bdi>: New Type: Rational number; Documentation on Wikidata-based types; and more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-07|2024-11-07]]</bdi>: The Dream of a Universal Language</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-01|2024-11-01]]</bdi>: Rewriting the backend</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-25|2024-10-25]]</bdi>: Our goal for this Quarter: Agreement</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-17|2024-10-17]]</bdi>: What could abstract content look like?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-11|2024-10-11]]</bdi>: Wikidata Lexemes in Wikifunctions are coming soon</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-02|2024-10-02]]</bdi>: Focus topic: Food</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-26|2024-09-26]]</bdi>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-20|2024-09-20]]</bdi>: Introducing focus topic areas</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-13|2024-09-13]]</bdi>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-06|2024-09-06]]</bdi>: Volunteer's corner and other updates</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-29|2024-08-29]]</bdi>: Limits on Name and Description Lengths</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-23|2024-08-23]]</bdi>: WasmEdge, Now 300ms Less Edgy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-16|2024-08-16]]</bdi>: Wikimania 2024 edition</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-02|2024-08-02]]</bdi>: Revamping our 'About' widget</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-26|2024-07-26]]</bdi>: Wikimania 2024 coming soon!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-18|2024-07-18]]</bdi>: Research report on integrating Wikifunctions from Wikipedia</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-10|2024-07-10]]</bdi>: Type proposals for accessing Lexemes</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-03|2024-07-03]]</bdi>: Quarterly planning</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-26|2024-06-26]]</bdi>: Welcome, Daphne!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-20|2024-06-20]]</bdi>: New Type: Integers</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-13|2024-06-13]]</bdi>: New Type: Igbo calendar months</span>
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-06|2024-06-06]]</bdi>: Novo Tipo: Sinal
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-30|2024-05-30]]</bdi>: Um singular na singularidade ou uma pluralidade de plurais?
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-22|2024-05-22]]</bdi>: Novo Tipo: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-15|2024-05-15]]</bdi>: Chamada para Funções: Soletre o número!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-10|2024-05-10]]</bdi>: Tipo principal para enumerações: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-03|2024-05-03]]</bdi>: Reunião da equipe e plano trimestral
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-19|2024-04-19]]</bdi>: Bem-vinda, Sharvani!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-11|2024-04-11]]</bdi>: Nova API para realizar chamadas à Wikifunctions, e celebração das mil funções
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-03|2024-04-03]]</bdi>: Atualização de Produto sobre o Dif e Futuras Melhorias na API
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-28|2024-03-28]]</bdi>: A criação de testes está muito mais fácil!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-21|2024-03-21]]</bdi>: A caminho da internacionalização dos números
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-13|2024-03-13]]</bdi>: Sobre identidade
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-07|2024-03-07]]</bdi>: Apresentando nosso segundo novo tipo: Números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-28|2024-02-28]]</bdi>: Proposta de tipo para números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-22|2024-02-22]]</bdi>: Atualizando o modelo de função
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-14|2024-02-14]]</bdi>: Semana de consertos
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-07|2024-02-07]]</bdi>: Planejamento trimestral. Obrigado, Nick! Função da semana: é permutação
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-01|2024-02-01]]</bdi>: O modo imperativo em igbo!
<span id="Before_February_2024"></span>
=== Anteriores a fevereiro de 2024 ===
Todas as atualizações deste período estão [[:m:Special:MyLanguage/Abstract Wikipedia/Updates|disponíveis no Meta-Wiki]].
[[Category:Status updates{{#translation:}}| ]]
2bp43k6d9rdvzkw36wyr5nsyqmotn01
192233
192231
2025-06-11T06:13:45Z
Eduardogobi
2982
Created page with "$1: Novo Tipo: Meses do calendário igbo"
192233
wikitext
text/x-wiki
<languages/>
{{shortcut|WF:SU}}{{notice|1='''[[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|Inscreva-se]]''' para receber notificações curtas via MassMessage na sua wiki preferida para cada nova edição}}
{{Wikifunctions updates
| prevlabel = Atualização anterior
| prev = 2024-02-01
| nextlabel = Última atualização
| next = 2025-06-06
}}
Muita coisa está acontecendo em torno do Wikifunctions e da Wikipédia Abstrata. Esta é a página onde nossas atualizações são postadas, incluindo a “[[Special:MyLanguage/WF:function of the Week|Função da Semana]]”.
Também é possível assinar o [[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|boletim informativo na wiki]] para que toda edição dele seja enviada para a sua página de discussão ou para a esplanada do seu projeto.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Newsletters ==
</div>
<!--<nowiki> Newsletter entry template:
* <translate><tvar name="1"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-??-??|2025-??-??]]</bdi></tvar>: Title</translate>
NOTE: Remember to also update the "next =" date at the top of this page.
</nowiki>-->
=== 2025 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|2025-06-06]]</bdi>: Where will Abstract Content go?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|2025-05-29]]</bdi>: Rolling out to five Wiktionaries; Calculating with today's date</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|2025-05-23]]</bdi>: Ongoing consultation about the Location for Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|2025-05-15]]</bdi>: Location of Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|2025-05-09]]</bdi>: Abstract Wikipedia and the Wikimedia AI Strategy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|2025-04-30]]</bdi>: Abstract Wikipedia is a MacArthur 100&Change finalist</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-25|2025-04-25]]</bdi>: Welcome, Gregory!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-16|2025-04-16]]</bdi>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-11|2025-04-11]]</bdi>: Quarter in review</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-05|2025-04-05]]</bdi>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-28|2025-03-28]]</bdi>: It's about time</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-20|2025-03-20]]</bdi>: Wikidata-based simple enumerations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-15|2025-03-15]]</bdi>: Upcoming NLG meeting, Recent Changes in the software</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-07|2025-03-07]]</bdi>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-26|2025-02-26]]</bdi>: From things to words</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-19|2025-02-19]]</bdi>: A proposal for types per language and part of speech</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-13|2025-02-13]]</bdi>: Restricting the World, redux</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-06|2025-02-06]]</bdi>: Invitation to the Natural Language Generation Special Interest Group</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-29|2025-01-29]]</bdi>: With 2000 Functions into the new year: time for stats</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-22|2025-01-22]]</bdi>: Welcome, David! Naming conventions recommendations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-15|2025-01-15]]</bdi>: Happy Wikipedia day! Quarterly planning</span>
=== 2024 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-19|2024-12-19]]</bdi>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-12|2024-12-12]]</bdi>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-27|2024-11-27]]</bdi>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-21|2024-11-21]]</bdi>: New special page for missing labels, new type for Gregorian years, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-13|2024-11-13]]</bdi>: New Type: Rational number; Documentation on Wikidata-based types; and more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-07|2024-11-07]]</bdi>: The Dream of a Universal Language</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-01|2024-11-01]]</bdi>: Rewriting the backend</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-25|2024-10-25]]</bdi>: Our goal for this Quarter: Agreement</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-17|2024-10-17]]</bdi>: What could abstract content look like?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-11|2024-10-11]]</bdi>: Wikidata Lexemes in Wikifunctions are coming soon</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-02|2024-10-02]]</bdi>: Focus topic: Food</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-26|2024-09-26]]</bdi>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-20|2024-09-20]]</bdi>: Introducing focus topic areas</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-13|2024-09-13]]</bdi>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-06|2024-09-06]]</bdi>: Volunteer's corner and other updates</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-29|2024-08-29]]</bdi>: Limits on Name and Description Lengths</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-23|2024-08-23]]</bdi>: WasmEdge, Now 300ms Less Edgy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-16|2024-08-16]]</bdi>: Wikimania 2024 edition</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-02|2024-08-02]]</bdi>: Revamping our 'About' widget</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-26|2024-07-26]]</bdi>: Wikimania 2024 coming soon!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-18|2024-07-18]]</bdi>: Research report on integrating Wikifunctions from Wikipedia</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-10|2024-07-10]]</bdi>: Type proposals for accessing Lexemes</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-03|2024-07-03]]</bdi>: Quarterly planning</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-26|2024-06-26]]</bdi>: Welcome, Daphne!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-20|2024-06-20]]</bdi>: New Type: Integers</span>
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-13|2024-06-13]]</bdi>: Novo Tipo: Meses do calendário igbo
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-06|2024-06-06]]</bdi>: Novo Tipo: Sinal
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-30|2024-05-30]]</bdi>: Um singular na singularidade ou uma pluralidade de plurais?
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-22|2024-05-22]]</bdi>: Novo Tipo: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-15|2024-05-15]]</bdi>: Chamada para Funções: Soletre o número!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-10|2024-05-10]]</bdi>: Tipo principal para enumerações: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-03|2024-05-03]]</bdi>: Reunião da equipe e plano trimestral
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-19|2024-04-19]]</bdi>: Bem-vinda, Sharvani!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-11|2024-04-11]]</bdi>: Nova API para realizar chamadas à Wikifunctions, e celebração das mil funções
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-03|2024-04-03]]</bdi>: Atualização de Produto sobre o Dif e Futuras Melhorias na API
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-28|2024-03-28]]</bdi>: A criação de testes está muito mais fácil!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-21|2024-03-21]]</bdi>: A caminho da internacionalização dos números
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-13|2024-03-13]]</bdi>: Sobre identidade
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-07|2024-03-07]]</bdi>: Apresentando nosso segundo novo tipo: Números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-28|2024-02-28]]</bdi>: Proposta de tipo para números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-22|2024-02-22]]</bdi>: Atualizando o modelo de função
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-14|2024-02-14]]</bdi>: Semana de consertos
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-07|2024-02-07]]</bdi>: Planejamento trimestral. Obrigado, Nick! Função da semana: é permutação
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-01|2024-02-01]]</bdi>: O modo imperativo em igbo!
<span id="Before_February_2024"></span>
=== Anteriores a fevereiro de 2024 ===
Todas as atualizações deste período estão [[:m:Special:MyLanguage/Abstract Wikipedia/Updates|disponíveis no Meta-Wiki]].
[[Category:Status updates{{#translation:}}| ]]
gfochqddqauppzzx3k2gvc71qkp8lm3
192235
192233
2025-06-11T06:13:57Z
Eduardogobi
2982
Created page with "$1: Novo Tipo: Inteiros"
192235
wikitext
text/x-wiki
<languages/>
{{shortcut|WF:SU}}{{notice|1='''[[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|Inscreva-se]]''' para receber notificações curtas via MassMessage na sua wiki preferida para cada nova edição}}
{{Wikifunctions updates
| prevlabel = Atualização anterior
| prev = 2024-02-01
| nextlabel = Última atualização
| next = 2025-06-06
}}
Muita coisa está acontecendo em torno do Wikifunctions e da Wikipédia Abstrata. Esta é a página onde nossas atualizações são postadas, incluindo a “[[Special:MyLanguage/WF:function of the Week|Função da Semana]]”.
Também é possível assinar o [[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|boletim informativo na wiki]] para que toda edição dele seja enviada para a sua página de discussão ou para a esplanada do seu projeto.
<div lang="en" dir="ltr" class="mw-content-ltr">
== Newsletters ==
</div>
<!--<nowiki> Newsletter entry template:
* <translate><tvar name="1"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-??-??|2025-??-??]]</bdi></tvar>: Title</translate>
NOTE: Remember to also update the "next =" date at the top of this page.
</nowiki>-->
=== 2025 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|2025-06-06]]</bdi>: Where will Abstract Content go?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|2025-05-29]]</bdi>: Rolling out to five Wiktionaries; Calculating with today's date</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|2025-05-23]]</bdi>: Ongoing consultation about the Location for Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|2025-05-15]]</bdi>: Location of Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|2025-05-09]]</bdi>: Abstract Wikipedia and the Wikimedia AI Strategy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|2025-04-30]]</bdi>: Abstract Wikipedia is a MacArthur 100&Change finalist</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-25|2025-04-25]]</bdi>: Welcome, Gregory!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-16|2025-04-16]]</bdi>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-11|2025-04-11]]</bdi>: Quarter in review</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-05|2025-04-05]]</bdi>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-28|2025-03-28]]</bdi>: It's about time</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-20|2025-03-20]]</bdi>: Wikidata-based simple enumerations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-15|2025-03-15]]</bdi>: Upcoming NLG meeting, Recent Changes in the software</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-07|2025-03-07]]</bdi>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-26|2025-02-26]]</bdi>: From things to words</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-19|2025-02-19]]</bdi>: A proposal for types per language and part of speech</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-13|2025-02-13]]</bdi>: Restricting the World, redux</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-06|2025-02-06]]</bdi>: Invitation to the Natural Language Generation Special Interest Group</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-29|2025-01-29]]</bdi>: With 2000 Functions into the new year: time for stats</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-22|2025-01-22]]</bdi>: Welcome, David! Naming conventions recommendations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-15|2025-01-15]]</bdi>: Happy Wikipedia day! Quarterly planning</span>
=== 2024 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-19|2024-12-19]]</bdi>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-12|2024-12-12]]</bdi>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-27|2024-11-27]]</bdi>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-21|2024-11-21]]</bdi>: New special page for missing labels, new type for Gregorian years, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-13|2024-11-13]]</bdi>: New Type: Rational number; Documentation on Wikidata-based types; and more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-07|2024-11-07]]</bdi>: The Dream of a Universal Language</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-01|2024-11-01]]</bdi>: Rewriting the backend</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-25|2024-10-25]]</bdi>: Our goal for this Quarter: Agreement</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-17|2024-10-17]]</bdi>: What could abstract content look like?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-11|2024-10-11]]</bdi>: Wikidata Lexemes in Wikifunctions are coming soon</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-02|2024-10-02]]</bdi>: Focus topic: Food</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-26|2024-09-26]]</bdi>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-20|2024-09-20]]</bdi>: Introducing focus topic areas</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-13|2024-09-13]]</bdi>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-06|2024-09-06]]</bdi>: Volunteer's corner and other updates</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-29|2024-08-29]]</bdi>: Limits on Name and Description Lengths</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-23|2024-08-23]]</bdi>: WasmEdge, Now 300ms Less Edgy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-16|2024-08-16]]</bdi>: Wikimania 2024 edition</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-02|2024-08-02]]</bdi>: Revamping our 'About' widget</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-26|2024-07-26]]</bdi>: Wikimania 2024 coming soon!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-18|2024-07-18]]</bdi>: Research report on integrating Wikifunctions from Wikipedia</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-10|2024-07-10]]</bdi>: Type proposals for accessing Lexemes</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-03|2024-07-03]]</bdi>: Quarterly planning</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-26|2024-06-26]]</bdi>: Welcome, Daphne!</span>
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-20|2024-06-20]]</bdi>: Novo Tipo: Inteiros
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-13|2024-06-13]]</bdi>: Novo Tipo: Meses do calendário igbo
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-06|2024-06-06]]</bdi>: Novo Tipo: Sinal
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-30|2024-05-30]]</bdi>: Um singular na singularidade ou uma pluralidade de plurais?
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-22|2024-05-22]]</bdi>: Novo Tipo: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-15|2024-05-15]]</bdi>: Chamada para Funções: Soletre o número!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-10|2024-05-10]]</bdi>: Tipo principal para enumerações: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-03|2024-05-03]]</bdi>: Reunião da equipe e plano trimestral
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-19|2024-04-19]]</bdi>: Bem-vinda, Sharvani!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-11|2024-04-11]]</bdi>: Nova API para realizar chamadas à Wikifunctions, e celebração das mil funções
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-03|2024-04-03]]</bdi>: Atualização de Produto sobre o Dif e Futuras Melhorias na API
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-28|2024-03-28]]</bdi>: A criação de testes está muito mais fácil!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-21|2024-03-21]]</bdi>: A caminho da internacionalização dos números
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-13|2024-03-13]]</bdi>: Sobre identidade
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-07|2024-03-07]]</bdi>: Apresentando nosso segundo novo tipo: Números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-28|2024-02-28]]</bdi>: Proposta de tipo para números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-22|2024-02-22]]</bdi>: Atualizando o modelo de função
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-14|2024-02-14]]</bdi>: Semana de consertos
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-07|2024-02-07]]</bdi>: Planejamento trimestral. Obrigado, Nick! Função da semana: é permutação
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-01|2024-02-01]]</bdi>: O modo imperativo em igbo!
<span id="Before_February_2024"></span>
=== Anteriores a fevereiro de 2024 ===
Todas as atualizações deste período estão [[:m:Special:MyLanguage/Abstract Wikipedia/Updates|disponíveis no Meta-Wiki]].
[[Category:Status updates{{#translation:}}| ]]
n444a28ewu5hh0xpnp1pvqipjh1zmtl
192237
192235
2025-06-11T06:14:22Z
Eduardogobi
2982
Created page with "== Boletins informativos =="
192237
wikitext
text/x-wiki
<languages/>
{{shortcut|WF:SU}}{{notice|1='''[[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|Inscreva-se]]''' para receber notificações curtas via MassMessage na sua wiki preferida para cada nova edição}}
{{Wikifunctions updates
| prevlabel = Atualização anterior
| prev = 2024-02-01
| nextlabel = Última atualização
| next = 2025-06-06
}}
Muita coisa está acontecendo em torno do Wikifunctions e da Wikipédia Abstrata. Esta é a página onde nossas atualizações são postadas, incluindo a “[[Special:MyLanguage/WF:function of the Week|Função da Semana]]”.
Também é possível assinar o [[:m:Global message delivery/Targets/Wikifunctions & Abstract Wikipedia|boletim informativo na wiki]] para que toda edição dele seja enviada para a sua página de discussão ou para a esplanada do seu projeto.
<span id="Newsletters"></span>
== Boletins informativos ==
<!--<nowiki> Newsletter entry template:
* <translate><tvar name="1"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-??-??|2025-??-??]]</bdi></tvar>: Title</translate>
NOTE: Remember to also update the "next =" date at the top of this page.
</nowiki>-->
=== 2025 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-06-06|2025-06-06]]</bdi>: Where will Abstract Content go?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-29|2025-05-29]]</bdi>: Rolling out to five Wiktionaries; Calculating with today's date</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-23|2025-05-23]]</bdi>: Ongoing consultation about the Location for Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-15|2025-05-15]]</bdi>: Location of Abstract Content</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-05-09|2025-05-09]]</bdi>: Abstract Wikipedia and the Wikimedia AI Strategy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-30|2025-04-30]]</bdi>: Abstract Wikipedia is a MacArthur 100&Change finalist</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-25|2025-04-25]]</bdi>: Welcome, Gregory!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-16|2025-04-16]]</bdi>: Wikifunctions integrated in Dagbani - and Wikifunctions; and the date of Easter</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-11|2025-04-11]]</bdi>: Quarter in review</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-04-05|2025-04-05]]</bdi>: Quarterly Planning for April–June 2025; We are looking for a Senior Product Manager</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-28|2025-03-28]]</bdi>: It's about time</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-20|2025-03-20]]</bdi>: Wikidata-based simple enumerations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-15|2025-03-15]]</bdi>: Upcoming NLG meeting, Recent Changes in the software</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-03-07|2025-03-07]]</bdi>: Recent Changes in the software, Recording of Volunteer’s Corner, and talks in London</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-26|2025-02-26]]</bdi>: From things to words</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-19|2025-02-19]]</bdi>: A proposal for types per language and part of speech</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-13|2025-02-13]]</bdi>: Restricting the World, redux</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-02-06|2025-02-06]]</bdi>: Invitation to the Natural Language Generation Special Interest Group</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-29|2025-01-29]]</bdi>: With 2000 Functions into the new year: time for stats</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-22|2025-01-22]]</bdi>: Welcome, David! Naming conventions recommendations</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2025-01-15|2025-01-15]]</bdi>: Happy Wikipedia day! Quarterly planning</span>
=== 2024 ===
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-19|2024-12-19]]</bdi>: Function of the Week: age; Intros for year articles; New Type: Floating-point number</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-12-12|2024-12-12]]</bdi>: Sketching a path to Abstract Wikipedia; Team offsite in Lisbon; and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-27|2024-11-27]]</bdi>: WordGraph release; New Special page: list functions by tests; new type for day of the year, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-21|2024-11-21]]</bdi>: New special page for missing labels, new type for Gregorian years, and much more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-13|2024-11-13]]</bdi>: New Type: Rational number; Documentation on Wikidata-based types; and more</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-07|2024-11-07]]</bdi>: The Dream of a Universal Language</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-11-01|2024-11-01]]</bdi>: Rewriting the backend</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-25|2024-10-25]]</bdi>: Our goal for this Quarter: Agreement</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-17|2024-10-17]]</bdi>: What could abstract content look like?</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-11|2024-10-11]]</bdi>: Wikidata Lexemes in Wikifunctions are coming soon</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-10-02|2024-10-02]]</bdi>: Focus topic: Food</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-26|2024-09-26]]</bdi>: Quarterly planning for October–December 2024; Presentation at Celtic Knot tomorrow</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-20|2024-09-20]]</bdi>: Introducing focus topic areas</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-13|2024-09-13]]</bdi>: Dagbani Wikipedia will be our first wiki for Wikifunctions integration</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-09-06|2024-09-06]]</bdi>: Volunteer's corner and other updates</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-29|2024-08-29]]</bdi>: Limits on Name and Description Lengths</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-23|2024-08-23]]</bdi>: WasmEdge, Now 300ms Less Edgy</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-16|2024-08-16]]</bdi>: Wikimania 2024 edition</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-08-02|2024-08-02]]</bdi>: Revamping our 'About' widget</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-26|2024-07-26]]</bdi>: Wikimania 2024 coming soon!</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-18|2024-07-18]]</bdi>: Research report on integrating Wikifunctions from Wikipedia</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-10|2024-07-10]]</bdi>: Type proposals for accessing Lexemes</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-07-03|2024-07-03]]</bdi>: Quarterly planning</span>
* <span lang="en" dir="ltr" class="mw-content-ltr"><bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-26|2024-06-26]]</bdi>: Welcome, Daphne!</span>
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-20|2024-06-20]]</bdi>: Novo Tipo: Inteiros
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-13|2024-06-13]]</bdi>: Novo Tipo: Meses do calendário igbo
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-06-06|2024-06-06]]</bdi>: Novo Tipo: Sinal
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-30|2024-05-30]]</bdi>: Um singular na singularidade ou uma pluralidade de plurais?
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-22|2024-05-22]]</bdi>: Novo Tipo: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-15|2024-05-15]]</bdi>: Chamada para Funções: Soletre o número!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-10|2024-05-10]]</bdi>: Tipo principal para enumerações: Meses do calendário gregoriano
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-05-03|2024-05-03]]</bdi>: Reunião da equipe e plano trimestral
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-19|2024-04-19]]</bdi>: Bem-vinda, Sharvani!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-11|2024-04-11]]</bdi>: Nova API para realizar chamadas à Wikifunctions, e celebração das mil funções
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-04-03|2024-04-03]]</bdi>: Atualização de Produto sobre o Dif e Futuras Melhorias na API
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-28|2024-03-28]]</bdi>: A criação de testes está muito mais fácil!
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-21|2024-03-21]]</bdi>: A caminho da internacionalização dos números
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-13|2024-03-13]]</bdi>: Sobre identidade
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-03-07|2024-03-07]]</bdi>: Apresentando nosso segundo novo tipo: Números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-28|2024-02-28]]</bdi>: Proposta de tipo para números naturais
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-22|2024-02-22]]</bdi>: Atualizando o modelo de função
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-14|2024-02-14]]</bdi>: Semana de consertos
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-07|2024-02-07]]</bdi>: Planejamento trimestral. Obrigado, Nick! Função da semana: é permutação
* <bdi dir="ltr">[[Special:MyLanguage/Wikifunctions:Status updates/2024-02-01|2024-02-01]]</bdi>: O modo imperativo em igbo!
<span id="Before_February_2024"></span>
=== Anteriores a fevereiro de 2024 ===
Todas as atualizações deste período estão [[:m:Special:MyLanguage/Abstract Wikipedia/Updates|disponíveis no Meta-Wiki]].
[[Category:Status updates{{#translation:}}| ]]
dhkw74j21y8vg75sjwbvgxm6sxutyn8
Z25065
0
58367
192202
192173
2025-06-10T23:51:18Z
99of9
1622
restore overwrite
192202
zobject
text/plain
{
"Z1K1": "Z2",
"Z2K1": {
"Z1K1": "Z6",
"Z6K1": "Z25065"
},
"Z2K2": {
"Z1K1": "Z8",
"Z8K1": [
"Z17",
{
"Z1K1": "Z17",
"Z17K1": "Z14294",
"Z17K2": "Z25065K1",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "functions to choose from"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "funzioni tra cui scegliere"
}
]
}
},
{
"Z1K1": "Z17",
"Z17K1": "Z60",
"Z17K2": "Z25065K2",
"Z17K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "language to choose best function for"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "lingua"
}
]
}
}
],
"Z8K2": "Z8",
"Z8K3": [
"Z20",
"Z25067"
],
"Z8K4": [
"Z14"
],
"Z8K5": "Z25065"
},
"Z2K3": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "select a function based on language with fallbacks"
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "seleziona una funz. in base alla lingua, fallback"
}
]
},
"Z2K4": {
"Z1K1": "Z32",
"Z32K1": [
"Z31",
{
"Z1K1": "Z31",
"Z31K1": "Z1787",
"Z31K2": [
"Z6",
"seleziona una funzione in base alla lingua con fallback"
]
}
]
},
"Z2K5": {
"Z1K1": "Z12",
"Z12K1": [
"Z11",
{
"Z1K1": "Z11",
"Z11K1": "Z1002",
"Z11K2": "Returns a function associated with the requested language on a configuration list, or similar languages from Z24144. This is a more robust version of Z14310."
},
{
"Z1K1": "Z11",
"Z11K1": "Z1787",
"Z11K2": "Restituisce una funzione associata alla lingua richiesta o simile in una lista di configurazione. È una versione più robusta di Z14310."
}
]
}
}
b54010z83tkbaz022va9hphe1nt9kcw
User:MagicDippyEgg
2
58384
192204
2025-06-11T00:35:05Z
MagicDippyEgg
13442
just creating my page
192204
wikitext
text/x-wiki
Hello World
17blrxomrhaob95awbn7iuqcxatt8sw
Translations:Wikifunctions:Status updates/21/pt-br
1198
58385
192218
2025-06-11T06:08:59Z
Eduardogobi
2982
Created page with "$1: Bem-vinda, Sharvani!"
192218
wikitext
text/x-wiki
$1: Bem-vinda, Sharvani!
nbs46fzleyqe2u78vlq9x78fieouq73
Translations:Wikifunctions:Status updates/22/pt-br
1198
58386
192220
2025-06-11T06:09:27Z
Eduardogobi
2982
Created page with "$1: Reunião da equipe e plano trimestral"
192220
wikitext
text/x-wiki
$1: Reunião da equipe e plano trimestral
7q5d9uj2tfwfzmb742gjq15u1tt659z
Translations:Wikifunctions:Status updates/23/pt-br
1198
58387
192222
2025-06-11T06:10:25Z
Eduardogobi
2982
Created page with "$1: Tipo principal para enumerações: Meses do calendário gregoriano"
192222
wikitext
text/x-wiki
$1: Tipo principal para enumerações: Meses do calendário gregoriano
3v44itrwmqqqh55y2g1k65dd4wpyer5
Translations:Wikifunctions:Status updates/24/pt-br
1198
58388
192224
2025-06-11T06:11:11Z
Eduardogobi
2982
Created page with "$1: Chamada para Funções: Soletre o número!"
192224
wikitext
text/x-wiki
$1: Chamada para Funções: Soletre o número!
dyovnj6qvdriw3gn40w0bpd9iaslloz
Translations:Wikifunctions:Status updates/25/pt-br
1198
58389
192226
2025-06-11T06:12:11Z
Eduardogobi
2982
Created page with "$1: Novo Tipo: Meses do calendário gregoriano"
192226
wikitext
text/x-wiki
$1: Novo Tipo: Meses do calendário gregoriano
1m3obe1wd03jly2ved1nh60wunz68jj
Translations:Wikifunctions:Status updates/26/pt-br
1198
58390
192228
2025-06-11T06:12:50Z
Eduardogobi
2982
Created page with "$1: Um singular na singularidade ou uma pluralidade de plurais?"
192228
wikitext
text/x-wiki
$1: Um singular na singularidade ou uma pluralidade de plurais?
knomjahxvcowz1405hdewjzcmxw1n88
Translations:Wikifunctions:Status updates/27/pt-br
1198
58391
192230
2025-06-11T06:13:24Z
Eduardogobi
2982
Created page with "$1: Novo Tipo: Sinal"
192230
wikitext
text/x-wiki
$1: Novo Tipo: Sinal
f0i9air5awy1y1ykx02tvzbbjpomn0s
Translations:Wikifunctions:Status updates/29/pt-br
1198
58392
192232
2025-06-11T06:13:44Z
Eduardogobi
2982
Created page with "$1: Novo Tipo: Meses do calendário igbo"
192232
wikitext
text/x-wiki
$1: Novo Tipo: Meses do calendário igbo
5hdowxxsj2h4lyp20fjwxk3ehx6msut
Translations:Wikifunctions:Status updates/30/pt-br
1198
58393
192234
2025-06-11T06:13:55Z
Eduardogobi
2982
Created page with "$1: Novo Tipo: Inteiros"
192234
wikitext
text/x-wiki
$1: Novo Tipo: Inteiros
hlhn2117899qqz1usbgmsxkcgj6ccso
Translations:Wikifunctions:Status updates/28/pt-br
1198
58394
192236
2025-06-11T06:14:21Z
Eduardogobi
2982
Created page with "== Boletins informativos =="
192236
wikitext
text/x-wiki
== Boletins informativos ==
ei6o6u1ra6oprg3phcl70ztvcqwn1r5