Wikifunctions:Community portal
Appearance
Welcome to the community portal for Wikifunctions!
This is the central place to document Wikifunctions's to-do lists and ongoing project work. [To-do!]
The catalogue of functions is a good place to start.
For discussions, see Wikifunctions:Project chat.
Useful links
Noticeboards
Task centre
Perennial tasks
Tasks listed by users
- Example:
- Fix this implementation please. Example2 (talk · contribs)
[signing to enable reply link:--GrounderUK (talk) 11:27, 6 May 2024 (UTC)
- Could someone create a new type, Grapheme? It's basically one user-perceived character; like A̱ is one grapheme made out of two characters: A and a lower-macron joiner. All I need is for this type to have a single key that is a String that is its value. I'll take care of the rest if I can edit the type. Thanks. Aaron Liu (talk) 13:09, 2 May 2025 (UTC)
- Hey @Aaron Liu. Currently types can only be created by staff, and requests for them go at Wikifunctions:Type proposals. ~/Bunnypranav:<ping> 14:10, 2 May 2025 (UTC)
- Ah, I didn't see that. Thanks! Aaron Liu (talk) 14:49, 2 May 2025 (UTC)
- Proposed at Wikifunctions:Type proposals/Grapheme. Aaron Liu (talk) 01:26, 3 May 2025 (UTC)
- Thanks for kicking off the proposal. It is indeed a reasonable idea. I'm even more glad that you're attempting the splitter. With it we should be able to do almost everything we need with regards to graphemes. And we need an algorithm to do that before we can make the type validator anyway. --99of9 (talk) 03:32, 3 May 2025 (UTC)
- Thanks! Honestly I plan to just "port" an existing, MIT-licensed implementation to Wikifunctions. Let's see if I can navigate everything...
I would split the existing implementations into different functions if mixing composition and original code weren't impossible. Aaron Liu (talk) 14:51, 3 May 2025 (UTC)
- Thanks! Honestly I plan to just "port" an existing, MIT-licensed implementation to Wikifunctions. Let's see if I can navigate everything...
- Thanks for kicking off the proposal. It is indeed a reasonable idea. I'm even more glad that you're attempting the splitter. With it we should be able to do almost everything we need with regards to graphemes. And we need an algorithm to do that before we can make the type validator anyway. --99of9 (talk) 03:32, 3 May 2025 (UTC)
- Hey @Aaron Liu. Currently types can only be created by staff, and requests for them go at Wikifunctions:Type proposals. ~/Bunnypranav:<ping> 14:10, 2 May 2025 (UTC)
- I had another go at implementing 21809 and again failed, and now I'm thinking I've misunderstood how evaluation works since I wouldn't expect
Z882(Z7(...), Z7(...))
to ever appear. In addition to fixing it, would someone please explain my mistake? YoshiRulz (talk) 22:17, 19 July 2025 (UTC)- I don’t think Z17534 actually works. When it calls Z882, it passes the function calls to Z16829 as the required types, but these calls are not evaluated, so Z882 returns a generic type function call that contains function calls to Z16829. This might work in theory, but the function calls refer to argument references that cannot be resolved when the Typed pair’s type is subsequently generated by the call to Z882. At least, I think that’s where the invalid key error is coming from. When I used Try this function on Z882 with a call to Z16829 as one of the required types, it seemed to work as I would expect (with no call to Z16829 in the result). So, yeah… looks like a bug. GrounderUK (talk) 09:51, 20 July 2025 (UTC)
- Oh, it never occurred to me that the problem could be with 16829. Could you make an alternate implementation for 17534 which doesn't have that, since the function's return type is a pair of Z1s anyway? (The values returned by such an implementation would violate a condition of 19586, but I think most tests would continue working because the expected values would be made the same way.) YoshiRulz (talk) 10:45, 20 July 2025 (UTC)
- Not sure. I think the problem lies with Z17534 relying on something that doesn’t actually happen. And the user interface doesn’t support Typed pairs correctly. Have you considered implementing your function as a Typed list of Typed lists? GrounderUK (talk) 12:32, 20 July 2025 (UTC)
- I guess I should so that it's at least usable for other compositions. edit: I can't while the tests are connected. YoshiRulz (talk) 14:49, 20 July 2025 (UTC)
- Not sure. I think the problem lies with Z17534 relying on something that doesn’t actually happen. And the user interface doesn’t support Typed pairs correctly. Have you considered implementing your function as a Typed list of Typed lists? GrounderUK (talk) 12:32, 20 July 2025 (UTC)
- Oh, it never occurred to me that the problem could be with 16829. Could you make an alternate implementation for 17534 which doesn't have that, since the function's return type is a pair of Z1s anyway? (The values returned by such an implementation would violate a condition of 19586, but I think most tests would continue working because the expected values would be made the same way.) YoshiRulz (talk) 10:45, 20 July 2025 (UTC)
- I don’t think Z17534 actually works. When it calls Z882, it passes the function calls to Z16829 as the required types, but these calls are not evaluated, so Z882 returns a generic type function call that contains function calls to Z16829. This might work in theory, but the function calls refer to argument references that cannot be resolved when the Typed pair’s type is subsequently generated by the call to Z882. At least, I think that’s where the invalid key error is coming from. When I used Try this function on Z882 with a call to Z16829 as one of the required types, it seemed to work as I would expect (with no call to Z16829 in the result). So, yeah… looks like a bug. GrounderUK (talk) 09:51, 20 July 2025 (UTC)
- Z21396 fails in an edge case, which I've just added a test for. It needs to be implemented as
Z876(Z10000, K1, "")
. YoshiRulz (talk) 20:18, 25 July 2025 (UTC)
- Hi please connect Komposisi sederhana untuk Z26704 (Z26705). Also, since I am new, I would like to get any feedback on this function and implementation, is there anything that I should do more? Thanks! NikolasKHF (talk) 15:06, 27 July 2025 (UTC)
- The function looks good, but we wouldn’t normally connect an implementation to a function with no tests. Could you add a test case? GrounderUK (talk) 15:21, 27 July 2025 (UTC)
- Hi! Thanks for the reply. I created the following test case: Indonesia adalah negara. (Z26706), how do I connect it to the implementation? Thanks! NikolasKHF (talk) 15:35, 27 July 2025 (UTC)
- I connected the test even though it currently fails (because of a timeout, probably). The implementation produces a result using Jakarta (Q3630), capital city (Q5119) (“Jakarta adalah ibu kota.”), so I’ve connected the implementation as well. If that result looks good to you, please add it as a test (or I can do that once you confirm it’s correct). GrounderUK (talk) 15:58, 27 July 2025 (UTC)
- Ah yes, thank you. I also notice that when I try to fetch label for Indonesia (Q252), it's always returns void (Z24). I will add the test case you mention on the function. Thank you very much for the help! NikolasKHF (talk) 16:10, 27 July 2025 (UTC)
- All good, then. I have disconnected the original test case for now because it will always fail until we have more a more selective fetch from Wikidata (@DMartin (WMF) 🙏)
Done --GrounderUK (talk) 16:34, 27 July 2025 (UTC)
- Alright, thank you very much! NikolasKHF (talk) 16:41, 27 July 2025 (UTC)
- All good, then. I have disconnected the original test case for now because it will always fail until we have more a more selective fetch from Wikidata (@DMartin (WMF) 🙏)
- Ah yes, thank you. I also notice that when I try to fetch label for Indonesia (Q252), it's always returns void (Z24). I will add the test case you mention on the function. Thank you very much for the help! NikolasKHF (talk) 16:10, 27 July 2025 (UTC)
- I connected the test even though it currently fails (because of a timeout, probably). The implementation produces a result using Jakarta (Q3630), capital city (Q5119) (“Jakarta adalah ibu kota.”), so I’ve connected the implementation as well. If that result looks good to you, please add it as a test (or I can do that once you confirm it’s correct). GrounderUK (talk) 15:58, 27 July 2025 (UTC)
- Hi! Thanks for the reply. I created the following test case: Indonesia adalah negara. (Z26706), how do I connect it to the implementation? Thanks! NikolasKHF (talk) 15:35, 27 July 2025 (UTC)
- The function looks good, but we wouldn’t normally connect an implementation to a function with no tests. Could you add a test case? GrounderUK (talk) 15:21, 27 July 2025 (UTC)
- Hello. Could someone please connect the implementation and the test of Latin article-less instantiating sentence (Z26723)? Thanks, Red Sneak (talk) 21:02, 27 July 2025 (UTC)
- I’ve connected the test. You need to use label of item reference in language (Z23753) in the composition because the arguments only give you the references not the actual Wikidata items. GrounderUK (talk) 21:31, 27 July 2025 (UTC)
- Thank you very much! I implemented your advice and the function is working with the given test (I'll add a few more tests). — Red Sneak (talk) 23:37, 27 July 2025 (UTC)
Done --99of9 (talk) 00:11, 28 July 2025 (UTC)
- Thank you very much! I implemented your advice and the function is working with the given test (I'll add a few more tests). — Red Sneak (talk) 23:37, 27 July 2025 (UTC)
- Hi, I would like to request to connect implementation and the tests for both Indonesian cardinal (Z18546) and Indonesian ordinal from natural number (Z26821). Thank you! NikolasKHF (talk) 14:56, 29 July 2025 (UTC)
- I see that Z18546 has a failed testcase. Dv103 (talk) 14:58, 29 July 2025 (UTC)
- Yes, the 100 should return "seratus" instead of "satu ratus". Besides, I also notice that it will resulted "satu ribu" for 1000 instead of "seribu". I am currently trying to fix the issue and will update if I already solve it. Sorry and thanks in advance. NikolasKHF (talk) 16:12, 29 July 2025 (UTC)
- I have revised the code for Indonesian cardinal (Z18546) and have added additional test cases. Please kindly check NikolasKHF (talk) 16:57, 29 July 2025 (UTC)
Done Connected both functions (and the new testcases).
- As a side note, for some reason the testcases you created didn't have the input (I had to add it). What language is your Wikifunctions interface? In which format did you write the numeric values? Does Z14290 support the format you were using? Dv103 (talk) 17:02, 29 July 2025 (UTC)
- Ah sorry, I think I forgot to include the input on the testcases. I use Indonesia as the Wikifunctions interface. When I try to check using Z14290 it looks like the function support the Indonesia format. While at it, I would like to ask, on the last two test cases in Z26821, I found that they are fail due to no connected implementation yet (Z503). I have purge the page but it seems the error remains. Is it only in my machine? Thank you in advanceNikolasKHF (talk) 17:15, 29 July 2025 (UTC)
- I believe those were globally cached errors. The cache is now refreshed and showing the test cases as passed. Please reply if this is not what you see now. GrounderUK (talk) 17:39, 29 July 2025 (UTC)
- I understand. It's fixed now. Thank you very much NikolasKHF (talk) 23:29, 29 July 2025 (UTC)
- I believe those were globally cached errors. The cache is now refreshed and showing the test cases as passed. Please reply if this is not what you see now. GrounderUK (talk) 17:39, 29 July 2025 (UTC)
- Ah sorry, I think I forgot to include the input on the testcases. I use Indonesia as the Wikifunctions interface. When I try to check using Z14290 it looks like the function support the Indonesia format. While at it, I would like to ask, on the last two test cases in Z26821, I found that they are fail due to no connected implementation yet (Z503). I have purge the page but it seems the error remains. Is it only in my machine? Thank you in advanceNikolasKHF (talk) 17:15, 29 July 2025 (UTC)
- I have revised the code for Indonesian cardinal (Z18546) and have added additional test cases. Please kindly check NikolasKHF (talk) 16:57, 29 July 2025 (UTC)
- Yes, the 100 should return "seratus" instead of "satu ratus". Besides, I also notice that it will resulted "satu ribu" for 1000 instead of "seribu". I am currently trying to fix the issue and will update if I already solve it. Sorry and thanks in advance. NikolasKHF (talk) 16:12, 29 July 2025 (UTC)
- And Z26821 has failed all 3 test cases. ~/Bunnypranav:<ping> 15:01, 29 July 2025 (UTC)
- This is because Z18546 isn't connected. Dv103 (talk) 15:02, 29 July 2025 (UTC)
- Ah, my bad. Didn't notice the relation. ~/Bunnypranav:<ping> 16:29, 29 July 2025 (UTC)
- This is because Z18546 isn't connected. Dv103 (talk) 15:02, 29 July 2025 (UTC)
- I see that Z18546 has a failed testcase. Dv103 (talk) 14:58, 29 July 2025 (UTC)