[02:02:41] Since you've now got a way of making a general function for typed lists, and a general function for untyped lists, and a way of testing their type, we can finally go all the way to making a general function for typed or untyped: Z18759 (re @Al: Yes, it’s a transitional problem. Currently basic list operations (like reverse, append, nth element etc) fail for lists that [02:02:42] ar...) [02:23:28] Just looking through this once more, I'm not clear why Z13243 passes, when Z18656 effectively demonstrates the opposite behaviour with a different type. (re @Al: Yes. I think we’re as happy as we can be that Z989 is working correctly. We’ve added some edge cases but we cannot connect these...) [07:00:20] Z13243 is misleading. It actually compares a list and a string, so I’ve amended its label and description. (Good to see the page title updated before publish… Thanks, team!) (re @Toby: Just looking through this once more, I'm not clear why Z13243 passes, when Z18656 effectively demonstrates the opposite behaviou...) [11:02:50] Wikifunctions developers encourage people to create functions without implementations. [11:03:08] Is there a way to find already existing functions without implementations? [11:05:21] maybe Wikifunctions should get a query service [11:08:39] I believe this is *T343565* (re @amire80: Is there a way to find already existing functions without implementations?) [11:14:45] We could scrape 😆 (re @amire80: Is there a way to find already existing functions without implementations?) [11:17:18] Yes. A sortable table was made from a snapshot a while back. I'll see if I can find it. (re @amire80: Is there a way to find already existing functions without implementations?) [11:19:07] https://www.wikifunctions.org/wiki/Wikifunctions:Catalogue_of_functions_and_implementations [11:24:45] https://www.wikifunctions.org/wiki/Wikifunctions:WikiProject_Maintenance [11:25:08] Both of these would be very useful if frequently updated. [11:39:51] If I try to create a function ( https://www.wikifunctions.org/w/index.php?title=Special:CreateObject&zid=Z8 ), the first field is language. It's a dropdown, but my user interface language is chosen, and I cannot change it. Is it right? [11:40:59] Like, what's wrong about using Hebrew for interface, and creating a function with a name in English or Russian? [11:42:09] IIRC you can change it but only if you didn't start filling the fields (re @amire80: If I try to create a function ( https://www.wikifunctions.org/w/index.php?title=Special:CreateObject&zid=Z8 ), the first field i...) [11:42:33] No, it's like that from the start. Just try it. [11:42:49] And the ideal is to enter it in multiple languages, not just one [11:43:06] (Not being able to change it after starting to fill the fields wouldn't make a lot of sense either.) (re @Nicolas: IIRC you can change it but only if you didn't start filling the fields) [11:44:00] I'm on my phone, can't know but I'm pretty sure I did change it in the past (re @amire80: No, it's like that from the start. Just try it.) [11:46:42] Well, it would be prone to create mistakes (eg. one leaves fields in Chinese but change language to Russian) and more works, [11:46:42] I think it's better to not change the language while you type something (re @amire80: (Not being able to change it after starting to fill the fields wouldn't make a lot of sense either.)) [11:46:56] Oh, there's an "add language" button at the bottom, which is probably OK, but why is it initially forced to the interface language? I guess I'll report a bug. [11:47:32] What language would you choose? (re @amire80: Oh, there's an "add language" button at the bottom, which is probably OK, but why is it initially forced to the interface langua...) [11:47:34] I think it's better to give me freedom to change my language if I selected a wrong one :) (re @Nicolas: Well, it would be prone to create mistakes (eg. one leaves fields in Chinese but change language to Russian) and more works, [11:47:34] I t...) [11:48:20] My interface is Hebrew, but I want to create a function that does something with Russian grammar, so it makes sense to give it Russian title and description first. (re @Nicolas: What language would you choose?) [11:49:01] To you specifically, sure, you probably know what you do. [11:49:01] For a random user, it probably wouldn't be a good idea (re @amire80: I think it's better to give me freedom to change my language if I selected a wrong one :)) [11:50:23] Oh, and when adding a second language, I can select it, but then I cannot change it. Like, if you selected Prussian instead of Russian, tough luck. [11:50:27] The site can't read your mind, the interface language is still a good default I guess (or do you prefer English by default 🤪) (re @amire80: My interface is Hebrew, but I want to create a function that does something with Russian grammar, so it makes sense to give it R...) [11:51:16] If it was a default, it would indeed be a good guess. But it's not just default—it's the _only_ option. (re @Nicolas: The site can't read your mind, the interface language is still a good default I guess (or do you prefer English by default 🤪)) [11:51:18] Yes, it's right to default to the interface langauge, but not to lock it. (re @Nicolas: The site can't read your mind, the interface language is still a good default I guess (or do you prefer English by default 🤪)) [11:51:19] It's supposed to be changeable (and it was), that point is a bug (re @amire80: Oh, and when adding a second language, I can select it, but then I cannot change it. Like, if you selected Prussian instead of R...) [11:56:03] Oh, when you edit the info about a function, it grays out the language selector after starting to type something, as Nicolas Vigneron described. I find it wrong, not just for me, but for all people. (But thank you for thinking that I know what I do better than other people, even though I'm really not sure it's true.) [11:56:23] I tried on my phone (with a secondary account), indeed it's locked right now, strange... [11:57:29] When I edit labels and try to select a language, most language names are translated to Hebrew, which is good, but Spanish is called "Spanish" in English. Does anyone know why? [11:57:54] Not sure if the change is on purpose or not, nor how old it is... (re @Nicolas: I tried on my phone (with a secondary account), indeed it's locked right now, strange...) [11:59:13] Does anyone except @mahir256 and me use Wikifunctions in an interface language that is not English? Such bugs would be immediately visible to anyone who creates or edits functions and doesn't use it in English. [11:59:56] (It's the first I'm trying to create a function or a test, but some people in this group did it many times...) [12:01:46] https://www.wikifunctions.org/view/en/Z1003 (re @amire80: When I edit labels and try to select a language, most language names are translated to Hebrew, which is good, but Spanish is cal...) [12:02:12] I use it in Ukrainian, and it works fine. Do you use it in Hebrew? Maybe it has something to do with it being a right-to-left script? (re @amire80: Does anyone except @mahir256 and me use Wikifunctions in an interface language that is not English? Such bugs would be immediate...) [12:03:26] I am quite sure that it's not related. (But there are many other RTL bugs. I wonder whether I should bother reporting them.) (re @Tohaomg: I use it in Ukrainian, and it works fine. Do you use it in Hebrew? Maybe it has something to do with it being a right-to-left sc...) [12:06:34] Oh, this is _very_ amusing. Under "about", I see that the description is "ഭാഷ", which is "language" in Malayalam (learning Malayalam in the university for a year did pay off!). [12:06:34] And I see the alias "kastilština", which is "Castilian" in some Slavic language, probably Czech. (re @Winston_Sung: https://www.wikifunctions.org/view/he/Z1003) [12:06:36] But it still doesn't answer the question: why are many other languages translated to Hebrew, but not this one. [12:07:37] You click edit label, then select Hebrew, then you'll see why. It's blank (untranslated). (re @amire80: But it still doesn't answer the question: why are many other languages translated to Hebrew, but not this one.) [12:07:54] Do you often see labels, aliases, banners, etc., in languages that are neither Ukrainian nor English? I see stuff in Bengali, Thai, etc., all the time. (re @Tohaomg: I use it in Ukrainian, and it works fine. Do you use it in Hebrew? Maybe it has something to do with it being a right-to-left sc...) [12:09:41] Well yeah, but how did it happen that this one is not translated, but so many other languages are? Spanish is one of the most notable languages. How did such a weird thing happen? I might be wrong, but the translations are _probably_ copied from CLDR or Wikidata. If it's true, why was the name of Prussian copied, but not the name of Spanish? (re @Winston_Sung: You [12:09:41] click languages [12:09:42] , then select Hebrew, then you'll see why. It's blank (untranslated).) [12:11:22] I'd say there are *many* translations of language names not on Wikifunctions and GitLab. (re @amire80: Well yeah, but how did it happen that this one is not translated, but so many other languages are? Spanish is one of the most no...) [12:15:03] Again, the question is not so much about why is this translation missing, but more about why are some translations *present*. [12:15:32] Oh, in this window, the name of Prussian is not translated into Hebrew, but in another window it was. Everything is very strange. [12:17:12] For Z1003, you can see there are users translating it in the edit history. (re @amire80: Again, the question is not so much about why is this translation missing, but more about why are some translations present.) [12:21:07] Hmm, what do you know. It looks like somebody did bother to just add translations of many language names into Hebrew by manually editing Z pages. This still begs two questions: [12:21:08] 1. Why didn't they do it for a language as notable as Spanish? It's possible that the coverage is not perfect, of course, but it's just very surprising in this case. [12:21:09] 2. Why aren't translations of language names directly taken from CLDR? [12:21:41] Like, I heard some vague explanations that Wikifunctions has a special and fine-grained definition of what a language is, but CLDR would be a good default and would save people some time. [12:22:16] Now to something more important. [12:22:37] Wikifunctions developers recommend creating tests as early as possible, which makes sense. [12:23:00] I've created a function, https://www.wikifunctions.org/view/he/Z18784 [12:23:37] I've created a test, https://www.wikifunctions.org/view/he/Z18785 [12:23:57] Is the test supposed to have its own implementation code? Or does it just check equality? [12:29:23] I'm pretty sure most people don't use English (even JD use British English 😉) (re @amire80: Does anyone except @mahir256 and me use Wikifunctions in an interface language that is not English? Such bugs would be immediate...) [12:34:15] A function has implementation(s) and test(s), test don't have implementation. [12:34:16] Test can have many forms, equality and inequality are the most obvious and common (re @amire80: Is the test supposed to have its own implementation code? Or does it just check equality?) [12:35:11] And otherwise it would be turtles all the way down. [12:35:47] This test looks good to me. (re @amire80: I've created a test, https://www.wikifunctions.org/view/he/Z18785) [12:39:08] And how do I choose something that is not equality? (re @Nicolas: A function has implementation(s) and test(s), test don't have implementation. [12:39:09] Test can have many forms, equality and inequality ...) [12:39:15] I use English, but Australia wasn't even on the lists of countries with the most users at the Katowice presentation. (re @Nicolas: I'm pretty sure most people don't use English (even JD use British English 😉)) [12:39:20] (Although in this case I need equality.) [12:40:00] To me too, congrats @amire80 (re @Toby: This test looks good to me.) [12:41:24] Like for checking that the plural of "city" is not "citys" [12:41:25] Less useful but allow to prevent common mistakes (re @amire80: And how do I choose something that is not equality?) [12:41:32] open the dropdown arrow under result validation, change the function to the function you want. (re @amire80: And how do I choose something that is not equality?) [12:42:36] here's an example: Z18786 (re @amire80: And how do I choose something that is not equality?) [12:44:23] The result of the function will be sent in as the first argument to the result validation function you choose. If the validation function needs more arguments (e.g. string equality needs to test equality with a second string), you specify them. [12:50:57] So I added an implementation. Do I see it in my contirbutions? [12:51:07] I don't think I see it. [12:51:12] https://www.wikifunctions.org/wiki/Special:Contributions/Amire80 [13:02:28] Z18787@he? I see it there 🤷‍♂️ [13:05:37] I see it as Untitled because it doesn't have an English label, but it's there. (re @amire80: So I added an implementation. Do I see it in my contributions?) [13:06:35] Shall I connect it? (re @amire80: So I added an implementation. Do I see it in my contributions?) [18:48:02] It is there, but do I see the action of adding the implementation in Special:Contributions? I can see the page creation, but not the implementation adding. [19:00:46] I’m not sure what distinction you are making, but the implementation page/object has two revisions, both of which I see in the list of your contributions. (re @amire80: It is there, but do I see the action of adding the implementation in Special:Contributions? I can see the page creation, but not...) [19:30:04] Can I see something like a diff, in which I'll see the Python code as the added content? I want to know how those diffs look like. (re @Al: I’m not sure what distinction you are making, but the implementation page/object has two revisions, both of which I see in the l...) [19:40:37] You can if you change the code. I think you get all the code for any change, with any differences highlighted (but it’s not pretty). (re @amire80: Can I see something like a diff, in which I'll see the Python code as the added content? I want to know how those diffs look lik...) [20:06:47] Mmmm... So creating a new piece of code is not recorded as a diff?! [20:06:56] Wikipedia articles usually show a diff from zero to the first text. [20:07:54] do they? the first link in the history has the “prev” link disabled, and if I construct a URL like https://en.wikipedia.org/w/index.php?diff=882216888 (random article) anyway it shows “no difference” [20:08:41] OK, sorry, not a diff. [20:09:06] But the first version, which shows the code. [20:09:20] Or, in case of Wikipedia, the text of the first version. [20:09:57] Oh, I think I start to understand it. [20:11:56] So... what I'm wondering about is whether there's a way to identify that a revision includes implementation code. It all appears to be stored in the main namespace. And there's no revision tag. [20:12:27] Like, can I identify that a revision adds or changes code in AbuseFilter? Or in Quarry? [20:12:35] you can see earlier revisions of implementations too: https://www.wikifunctions.org/wiki/Z18787?uselang=en&oldid=123371 (re @amire80: But the first version, which shows the code.) [20:12:44] in quarry almost certainly not (yet?); in AbuseFilter, not sure (re @amire80: Like, can I identify that a revision adds or changes code in AbuseFilter? Or in Quarry?) [20:15:09] Oh bleh. Now that it's connected, I cannot edit it. [20:16:43] So what can I do if I want to update this code? [20:17:26] ask someone to temporarily disconnect it again, or apply become a functioneer, I think [20:18:51] Yeah, I can disconnect it if you’d like me to. (re @amire80: So what can I do if I want to update this code?) [20:19:27] OK, I guess. I'm not entirely sure what am I doing, but it sounds kind of right. [20:20:17] I guess you could also experiment with any changes in one of the disconnected implementations of Z10119 [20:20:47] (assuming the signature matches… do we need a set of sandbox functions for various common parameter and return type combinations? 🤔) [20:22:21] I disconnected it. (re @amire80: OK, I guess. I'm not entirely sure what am I doing, but it sounds kind of right.) [20:28:54] I did create Z15104 but no one else has used it. (re @lucaswerkmeister: (assuming the signature matches… do we need a set of sandbox functions for various common parameter and return type combinations...) [22:50:12] Ask for functioneer as soon as you're interested in writing code. Otherwise these steps will be constantly frustrating. (re @amire80: So what can I do if I want to update this code?) [22:57:02] Have I shown that I am a trusted member of the community, with a history of working with functions, implementations and test cases and a satisfactory understanding of how Wikifunctions works, especially regarding functions, implementations, test cases and related concepts? :) [23:01:04] That's what the policy says that functioneers should be 🤷🏻 [23:01:04] I have been editing Wikipedia and a bunch of other wikis for almost twenty years, but Wikifunctions is something quite different. [23:01:06] Or is the policy applied very liberally in these early days? :? [23:14:35] I got the functioneer status within 7-10 days of creating a few Wikifunctions.