[00:01:01] Okay, but the Rational Number type proposal is for a type that is congruent with the set of rational numbers, including all floating point numbers (excluding infinities, signed zeroes and NaN) [00:01:29] Yeah [00:01:37] Floats have *most* [00:02:00] Which is why they are *ok* for the mathematical representation [00:02:11] But for DevEx [00:02:16] For UserEx [00:02:21] For simplicity [00:02:28] It all is very bad [00:02:37] But float does well in those categories [00:13:08] So long as float isn’t used to represent rationals, I’m happy to let that type look after itself 😎 (re @Feeglgeef: But float does well in those categories) [00:13:27] Yeah (re @Al: So long as float isn’t used to represent rationals, I’m happy to let that type look after itself 😎) [00:13:29] Obviously [00:13:36] I just think this should come first [00:13:55] Because of its use in programming languages and simplicity [00:18:07] Rationals are really simple in Python. As are decimals. I’m guessing we’ll get one float type before we get a third programming language… so is it just JavaScript you’re worried about? (re @Feeglgeef: Because of its use in programming languages and simplicity) [00:18:37] If by float, you mean the Float64 proposal as it currently stands, I suggest you go ahead and support that. But I suppose that the WF representation of floats in general has more decisions to make than the decision in Rational about where to put the sign. Which string representation of floats would you store? Do we need to consider qNan and sNan? It seems there are lots [00:18:37] of subtle [00:18:37] ties in https://en.wikipedia.org/wiki/IEEE_754 but I am not an expert. (re @Feeglgeef: I just think this should come first) [00:19:18] Whatever both JS and Python support [00:19:31] Less devs are familiar with this (re @Al: Rationals are really simple in Python. As are decimals. I’m guessing we’ll get one float type before we get a third programming ...) [00:19:47] I expect we will get both Rational and Float* (and maybe more) before a new programming language! (re @Al: Rationals are really simple in Python. As are decimals. I’m guessing we’ll get one float type before we get a third programming ...) [00:20:12] My goal with floats is to approach the programming languages where they are (re @Toby: If by float, you mean the Float64 proposal as it currently stands, I suggest you go ahead and support that. But I suppose that t...) [00:20:25] Yeah, typical British understatement 😎 (re @Toby: I expect we will get both Rational and Float* (and maybe more) before a new programming language!) [00:20:33] And where devs will be familiar with them [00:23:02] Sure, I'm fine with that goal for floats. But does the Float64 proposal get this right yet? I'm confident that Rational is completely ready to go, no matter which way the sign issue goes. (re @Feeglgeef: My goal with floats is to approach the programming languages where they are) [00:23:46] My proposal may be different from the Float64 proposal (re @Toby: Sure, I'm fine with that goal for floats. But does the Float64 proposal get this right yet? I'm confident that Rational is compl...) [00:23:56] But it's literally a string [00:24:02] Nothing else [00:24:11] Kinda like Natural Number [00:24:12] what are the options for that string? [00:24:27] Whatever JS will allow you to input and process (re @Toby: what are the options for that string?) [00:24:44] If we eval it in JS and it works it's valid [00:24:54] We shouldn't actually eval it [00:24:57] Of couree [00:25:00] But [00:25:10] That's what the conditions will be [00:25:43] so, "2+2" is a valid FeeglgreefFloat? (re @Feeglgeef: If we eval it in JS and it works it's valid) [00:26:04] What? [00:26:05] No [00:26:13] Not an expression in JS [00:26:18] A *value* in JS [00:26:27] 2+2 is an expression [00:26:32] Not a value [00:26:49] NaN is a value [00:28:12] How do I tell whether a string is a valid value? (re @Feeglgeef: A *value* in JS) [00:28:31] [-+]?(?:(?:NaN|Infinity)|(?:\d+\.?\d*|\.\d+)(?:[eE][-+]?\d+)?) [00:28:43] Looks about right [00:31:49] ^-?(NaN|Infinity|((\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?))$ [00:31:52] Is better [00:32:13] Should cover everything [00:32:22] Lemme know if it's missing something [00:33:33] I'll try, but I really have no idea, which is one reason why I think we need to ponder this proposal longer than Rational. (re @Feeglgeef: Lemme know if it's missing something) [00:34:02] I mean the Regex is what I personally would propose (re @Toby: I'll try, but I really have no idea, which is one reason why I think we need to ponder this proposal longer than Rational.) [00:34:15] If anyone has any objections we should sort those out [00:34:23] But otherwise the current state is fine [00:34:37] And if we later find out it's wrong it's a really really easy fix [00:34:53] We just have to change the Regex [00:35:10] Which I think everyone has the rights for [00:37:58] I also think that functioneers should get Type creation rights ASAP so we don't need to have this problem again [00:41:06] How many Types would you have already created by now? ;-) (re @Feeglgeef: I also think that functioneers should get Type creation rights ASAP so we don't need to have this problem again) [00:41:18] At least 10 (re @Toby: How many Types would you have already created by now? ;-)) [00:41:26] Since I got the right [00:41:30] 5 days afot [00:41:32] Ago [00:41:49] haha, yes that is what I thought... [00:42:09] and how many would I have objected to? [00:42:18] Well [00:42:23] Like a few? [00:42:24] 11? (re @Toby: and how many would I have objected to?) [00:42:32] Lmfao (re @Al: 11?) [00:42:54] Most would be on the proposals page (re @Toby: and how many would I have objected to?) [00:43:06] A few that are not on there that I personally support [00:43:29] Actually mainly the ones on there [00:44:01] The thing is most of them I would have created impulsively and without discussion [00:44:30] So we should probably require discussion by policy before Functioneers are allowed to create them [00:45:12] I just had a play with this in regex101. So this is unlimited precision? When you try to process in a specific language does that toggle between *32 *64 *128 etc? Or does it just force it into *64 and fail when given something like "1e1000"? (re @Feeglgeef: ^-?(NaN|Infinity|((\d+(\.\d*)?|\.\d+)([eE][+-]?\d+)?))$) [00:47:57] I didn't account for that (re @Toby: I just had a play with this in regex101. So this is unlimited precision? When you try to process in a specific language does tha...) [00:48:05] Yes, the proposal process is supposed to be used, but the developers have been known to create some we didn't even know were on the horizon. If you haven't looked under the carpet yet, check out things like: Z14294 (re @Feeglgeef: So we should probably require discussion by policy before Functioneers are allowed to create them) [00:48:41] I was thinking of a more immediate discussion (re @Toby: Yes, the proposal process is supposed to be used, but the developers have been known to create some we didn't even know were on ...) [00:49:04] Like 2 days for creation imminent and these are the exact details that will not change [00:49:46] Sort of like a request for rights but instead for the creation of a type [00:50:12] While the type proposals are pretty specific they are not exact [00:50:41] These discussions would ideally have the exact code that would be used in the type [00:52:42] Or we could just not have discussions but instead limit the amount created per user and sitewide [00:53:05] Like 1 sitewide/day and 1/user/week [00:53:32] Or we could just have no limits [00:53:50] @vrandecic what do you think? [01:11:08] When I click on the links in [[Wikifunctions:Catalogue/List_operations]] they all take me to the Deutsch version. [01:12:38] Same for me [01:12:45] I don't know what would cause that [01:12:52] They are normal Z+s [01:13:36] Actually seems to be happening everywhere [01:14:52] Wh [01:15:08] It's inconsistent for me [01:15:16] Sometimes it happens [01:18:35] I'm ok with Z19551 being deleted [01:18:50] I just couldn't find it while searching [01:19:00] Z13155 should have more aliases [02:25:46] @vrandecic summary of the above conversation: Toby wants the rational number type to be created first, because of its mathematical accuracy. I want the float64 type to be created first because of its simplicity and developer experience. My hope is that both of these can be created in the very near future (hopefully, the type creation process is not that [02:25:46] complicated). You said tha [02:25:48] t one could be implemented early next week. Could we get both by the end of November? I'd be happy with that. [02:27:26] I'm going to create my own float proposal, heavily based on the current one, but with a few tweaks. [02:29:42] Actually the existing one seems to be fine! I'll add a support vote [02:35:18] @vrandecic also if you've got bandwidth to improve types, it might help to finalise and officially release Typed pairs. Once they are in place, along with other uses, I think I could build a faster implementation of Z19510 which may not timeout. (re @Al: Their support needs more work. I haven’t dug into it but, you know… architecturally it seems right 😏 We just convert [02:35:18] each elemen...) [02:41:01] I made Z19571 as a sample validator for floats [02:41:20] It's tested and has one implementation [03:15:50] I submitted an RfA. If I'm being honest it probably will fail, but, I'm trying anyway :) [05:14:38] Z195783 I made as a sample validator for rational numbers [05:14:56] Z19583* [07:18:11] I could add an aggregated list, where every page is included. (re @Nicolas: the only downside is that we can't do a ctrl+f on all the content anymore) [07:32:59] I've started with an equality function Z19586. I needed ScienceD90's Z17534 just to construct the pairs in the Tests! I couldn't specify them from the interface. (re @Al: Their support needs more work. I haven’t dug into it but, you know… architecturally it seems right 😏 We just convert each elemen...) [08:25:44] 😏 I was assuming that was intentional 😎 (re @Toby: I've started with an equality function Z19586. I needed ScienceD90's Z17534 just to construct the pairs in the Tests! I couldn't...) [09:07:32] I'm also confused at why Z19588 is failing. When I put what I think is the exact same input into the function page, it works... (re @Al: 😏 I was assuming that was intentional 😎) [10:05:09] Yeah… eventually. 8684 ms for me 😮 It’s an odd error but it may be a timeout in the make pair function 🤷‍♂️ [12:07:02] Typed Pair is a generic type, and it will take a while before we properly get to those. We are working right now on a document to understand and plan things out, but don't expect typed pair to show up soon. (re @Toby: @vrandecic also if you've got bandwidth to improve types, it might help to finalise and officially release Typed pairs. Once the...) [12:09:13] Thanks for the summary! I understand the (precise) rational type, and still plan to pick that one up for next week, given the conversation (otherwise I would have gone for the data-related ones). Regarding float64 proposal, I am convinced of its use and need, but personally not yet of the current proposal. I will put my questions on the [[Wikifunctions:Type [12:09:13] proposals/float64]] pa [12:09:13] ge. (re @Feeglgeef: @vrandecic summary of the above conversation: Toby wants the rational number type to be created first, because of its mathematic...) [12:17:17] Wikidata-related ones are of course also very interesting. (re @vrandecic: Thanks for the summary! I understand the (precise) rational type, and still plan to pick that one up for next week, given the co...) [12:21:55] Did you mean “date-related”? I was thinking of dates as my second priority, after rationals… (re @vrandecic: Thanks for the summary! I understand the (precise) rational type, and still plan to pick that one up for next week, given the co...) [12:22:37] Yes, date, not data [12:22:51] We are working the the Wikidata-related ones separately as well. [12:58:11] Newsletter 179 [12:58:12] * The Dream of a Universal Language [12:58:13] * Catalogue has been refactored [12:58:15] * Recent Changes in the software [12:58:16] * Presentation series on lexicographic data and its usage [12:58:18] * Recording of November Volunteers’ Corner [12:58:19] * Lighting talk at Wikiconvention francophone [12:58:21] * Upcoming types [12:58:22] * Function of the Week: simple tense of verb [12:58:24] https://www.wikifunctions.org/wiki/Wikifunctions:Status_updates/2024-11-07 [12:58:25] That was a long one! [16:12:17] I am in favor of a future tense type (re @vrandecic: Newsletter 179 [16:12:18] * The Dream of a Universal Language [16:12:19] * Catalogue has been refactored [16:12:21] * Recent Changes in the software [16:12:22] * Presentati...) [16:12:28] As was mentioned in the Status Update [16:12:57] It should have every tense that appears in any Wikilambda language [17:25:07] I have a rough idea of what you mean, a type of all tenses -- but what are the use cases? Which functions would you write with that? [17:25:28] Well [17:25:47] I obviously the featured one would be improved [17:25:56] And [17:26:07] There are other functions that will inevitably require this [17:26:16] For abstract wikipedia [17:26:23] I'm not saying in the near future [17:26:28] In the distant future [17:26:54] In the near future we have much higher priorities in typed to be created [17:27:15] I am also in favor of some kind of typed list dropdown type [17:27:24] If reasonably possible [17:27:33] To allow dropdown inputs [17:27:39] Like in simple tense verb [17:30:07] maybe. I'll keep pondering this. [17:30:19] Alright [17:30:22] is there any good example of functions using other functions inside? I want to show some to te students in a couple of weeks [17:30:33] All: I could use some input on the rational number type, if we want to have this set up next week: https://www.wikifunctions.org/wiki/Wikifunctions:Type_proposals/Rational_number#Comments [17:30:35] The metric function one (re @Galder: is there any good example of functions using other functions inside? I want to show some to te students in a couple of weeks) [17:30:55] Toby made it if IIRC (re @Feeglgeef: The metric function one) [17:31:00] It times out tho [17:31:09] And run unary endofunction [17:32:22] Z17958 (re @Galder: is there any good example of functions using other functions inside? I want to show some to te students in a couple of weeks) [17:33:15] I've already commented (re @vrandecic: All: I could use some input on the rational number type, if we want to have this set up next week: https://www.wikifunctions.org...) [17:35:44] I was looking more on a Python function that loads another function. Because there may be some commons things (like shared exceptions) (re @Feeglgeef: And run unary endofunction) [17:36:08] This currently is not possible (re @Galder: I was looking more on a Python function that loads another function. Because there may be some commons things (like shared excep...) [17:36:19] Or I don't get what your saying [17:36:27] you're* [17:36:30] Any function using another function would be a composition, otherwise it is not possible [17:36:57] I thought you meant a function that requires a function as input (re @Galder: I was looking more on a Python function that loads another function. Because there may be some commons things (like shared excep...) [17:37:17] In which case Z17958 is my favorite [17:38:18] https://www.wikifunctions.org/view/en/Z18579 has a bunch of exceptions that are the same for most of the declensions [17:38:43] we could have it centralized and coherent in someway, but I don't know if it is possible to nest functions (I don't know how to explain that better) [17:39:24] It is not possible to call another Wikifunctions function from a programming language implementation (re @Galder: we could have it centralized and coherent in someway, but I don't know if it is possible to nest functions (I don't know how to ...) [17:39:35] If you are using compositions you can do so [17:40:23] If you'd like to have something standard across all basque functions you would need to exclusively use compositions [17:40:29] or a function that first checks if the lexeme is an adjective before making a superlative [17:40:58] Yes we can’t mix composition and codes together (re @Feeglgeef: It is not possible to call another Wikifunctions function from a programming language implementation) [17:41:11] Yeah (re @cvictorovich: Yes we can’t mix composition and codes together) [17:41:12] Galder: here's one Z12735 -- something like that? [17:41:17] But indeed we may need that [17:41:24] because I can make "dark" > "darker" but I shouldn't be able to make "table" > "tabler", which is not a valid word [17:41:44] Check against word types (re @Galder: because I can make "dark" > "darker" but I shouldn't be able to make "table" > "tabler", which is not a valid word) [17:41:55] You can check that with a lexeme object IIRC (re @Galder: because I can make "dark" > "darker" but I shouldn't be able to make "table" > "tabler", which is not a valid word) [17:42:13] Z6005? [17:42:22] Check this out [17:42:42] This cannot be wrong (re @cvictorovich: Check against word types) [17:45:00] a bit lost with that, the students will make python functions, and the idea would be not to mantain a list of exceptions across ~50 functions (re @wikilinksbot: Z12735 – all meet criteria) [17:45:27] You'd need to make compositions here :( (re @Galder: a bit lost with that, the students will make python functions, and the idea would be not to mantain a list of exceptions across ...) [17:45:34] Right inside implementations (re @cvictorovich: Check against word types) [17:46:47] very complex for what I can explain to them... thanks for the tips! [17:47:44] If you want your students to select lexemes as inputs there is a way to check from that [17:48:47] Galder training new users? [17:49:23] @cvictorovich (re @Galder: is there any good example of functions using other functions inside? I want to show some to te students in a couple of weeks) [17:49:37] Yes? (re @Feeglgeef: @cvictorovich) [17:49:46] There are some [17:50:00] Many examples involving lexemes are [17:50:05] Look at what I am replying to (re @cvictorovich: Yes?) [17:50:32] This is my answer (re @cvictorovich: Many examples involving lexemes are) [17:50:35] You can use something like Z19298 (re @Galder: because I can make "dark" > "darker" but I shouldn't be able to make "table" > "tabler", which is not a valid word) [17:50:49] Ok (re @cvictorovich: This is my answer) [17:52:09] Galder I made a python implementation at Z19597 if you would like to use it [17:52:17] I would look up some later, as I’m on mobile right now [17:52:41] When I go onto desktop, I can give you all several examples [17:53:50] Z19283 is an example [17:54:09] For example, if I input the basque word "zoratu" here, it gives that it is a verb (re @Feeglgeef: Galder I made a python implementation at Z19597 if you would like to use it) [17:54:10] Compositions of other functions [17:54:46] Ah, some of my work would require another patch [17:55:15] They need data of verb types (re @cvictorovich: Ah, some of my work would require another patch) [17:55:48] Example: which group does the French verb belong to [17:56:10] wouldn't that be forms, not senses? [17:56:35] Current implementation doesn’t include this in returned values (re @Feeglgeef: wouldn't that be forms, not senses?) [17:57:46] Isn't there a function already to get forms? (re @cvictorovich: Current implementation doesn’t include this in returned values) [17:58:15] Z19302 [17:58:19] See here (re @cvictorovich: I need P5186 returned and as an intermediate variable for later actions) [17:59:40] Mentioned long ago [18:09:25] Does it help? (re @cvictorovich: Z19283 is an example) [18:09:39] Feeglgeef [18:09:51] Huh [18:10:53] It’s a composition of several other functions [18:11:33] What was wanted was functions that call other functions in python [18:11:39] Which isn't possible [18:12:04] That’s indeed not possible for now (re @Feeglgeef: Which isn't possible) [18:12:16] Yeah [18:12:31] At the Volunteer's Corner it was said to be planned for the future [18:12:39] Because no python code knows what’s a ZObject [18:12:54] I proposed they use lexemes to handle exceptions [18:13:47] How I would propose it be done is that the orchestrator detects what functions will be used (re @cvictorovich: Because no python code knows what’s a ZObject) [18:13:58] And loads them into memory for the python code to call [18:14:02] Or something like thay [18:14:45] Alternatively instead of loading it into memory the orchestrator can just call the function when python requests it [18:14:57] Orchestrator is a loader for functions, right? [18:15:03] Yes [18:15:09] And for compositions [18:15:17] It like plans it out and calls them [18:15:19] Didn’t handle it before [18:15:22] At least IIRC [18:15:40] Maybe I'm wrong [18:16:22] But my plan would be when the python code calls a function it goes to get that function and gives the python code the result [18:16:54] Well, will a built in online debugger be available in the future [18:17:17] Then it would be easier to debug functions under edit mode [18:17:40] I'd be in support of this (re @cvictorovich: Well, will a built in online debugger be available in the future) [18:18:06] There have been many online IDEs in the wild [18:18:52] In favor of such a functionality [18:19:15] Talk by Galder Gonzales: Abstract Wikipedia and the dream of a Universal language on Wikimedia Commons: https://commons.wikimedia.org/wiki/File:Abstract_Wikipedia_and_the_dream_of_a_Universal_Language.mpg [18:19:26] (re @vrandecic: Talk by Galder Gonzales: Abstract Wikipedia and the dream of a Universal language on Wikimedia Commons: https://commons.wikimedi...) [18:19:50] I wasn't aware the talk was also on Commons. Fixed the link in the newsletter. [18:19:56] @vrandecic [18:20:07] Can I guest write a newsletter? [18:21:37] Lord Ravager created it… (re @vrandecic: Talk by Galder Gonzales: Abstract Wikipedia and the dream of a Universal language on Wikimedia Commons: https://commons.wikimedi...) [18:22:00] yes, everyone is invited to do so (re @Feeglgeef: Can I guest write a newsletter?) [18:22:19] Ok (re @vrandecic: yes, everyone is invited to do so) [18:22:21] but you may need to bring patience, as Mahir can attest 😛 [18:22:33] Each time I test my codes before saving, I have to debug on an external online editor and debugger (re @Feeglgeef: I'd be in support of this) [18:22:51] Wikifunctions.Debug exists (re @cvictorovich: Each time I test my codes before saving, I have to debug on an external online editor and debugger) [18:22:56] It's still annoying but [18:23:00] It works [18:23:14] I didn’t notice it… (re @Feeglgeef: Wikifunctions.Debug exists) [18:25:38] Where can I find [18:25:55] You call it (re @cvictorovich: Where can I find) [18:25:57] In code [18:26:28] Wikifunctions.Debug("Hello") gives the debug hello [18:26:35] It's no VScode debug [18:26:38] But it works [18:26:44] Call it… [18:27:05] Z12941 [18:27:16] https://www.programiz.com/python-programming/online-compiler/ [18:27:23] I use such a thing [18:27:45] If only we can integrate one in our system… [18:27:50] Yeah [18:28:00] Ace is pretty ancient tbh [18:28:13] Such a tool is intuitive. Like it (re @cvictorovich: https://www.programiz.com/python-programming/online-compiler/) [18:30:53] After all calling it directly isn’t interactive enough (re @Feeglgeef: You call it) [18:31:06] yeah [18:31:38] @vrandecic is it possible in the future [18:32:54] I sure hope so! [18:33:10] But if it’s not even technically possible… forget about it. (re @cvictorovich: If only we can integrate one in our system…) [18:35:51] We definitely hope so, whereas is it viable? (re @cvictorovich: But if it’s not even technically possible… forget about it.) [19:00:43] I didn't know that there are mpg files in Commons (re @vrandecic: I wasn't aware the talk was also on Commons. Fixed the link in the newsletter.) [19:05:34] Working for dog, not for the Basque noun "txakur" (re @Feeglgeef: Galder I made a python implementation at Z19597 if you would like to use it) [19:05:47] https://tools-static.wmflabs.org/bridgebot/2acec5ca/file_66223.jpg [19:06:00] What are the details? (re @Galder: ) [19:12:04] https://tools-static.wmflabs.org/bridgebot/ffc0289a/file_66224.jpg [19:12:50] Oh [19:12:57] I have no idea why that would happen [19:36:18] Is it working for any Basque nouns. I tried a few beginning txa and none of them worked. (re @Galder: ) [19:39:38] is that a question? [19:40:12] This (re @Al: Is it working for any Basque nouns. I tried a few beginning txa and none of them worked.) [19:40:24] Do you mean It is. or Is it? [19:41:56] the noun has 65 forms lmfao [19:41:59] that would explain it [19:42:08] there is a phab task for this [19:43:41] T377338 [19:44:13] It's a problem on Wikifunctions' side, nothing we can do [19:46:09] “Is it… ?” (re @Feeglgeef: Do you mean It is. or Is it?) [19:46:44] Alright [19:46:55] Then yeah [19:46:58] it's not [19:47:04] because of T377338 [19:51:41] Galder [19:53:02] Ok, so the problem will be larger with verbe *ukan [19:53:40] yes, but, the team is working on fixing it [19:53:45] you can check status on phab [19:54:34] Lexeme:L299422 [19:54:43] L299422 [19:55:17] holy [19:55:32] how do you memorize 240 variations of a word? [19:55:38] L299103 [19:55:48] you don't memorize them, you know them [19:56:05] well you know them by memorizing them [19:56:12] i guess it would not be that hard [19:56:24] 240 is a very low number (re @Feeglgeef: how do you memorize 240 variations of a word?) [19:56:26] no, you know them by logical operations. In the same way you don't know the plurals of all the words [19:56:37] oh fair (re @Galder: no, you know them by logical operations. In the same way you don't know the plurals of all the words) [19:56:38] you know the word or not, and then how the plural is made [19:56:51] for a number of forms? (re @Nicolas: 240 is a very low number) [19:57:02] It's not uncommon in some languages to have 10 000 forms [19:57:19] 10000???????? [19:58:03] and i thought english was hard lmfao [19:58:22] in this case if you say me: L299103-F374, "balizkizu" I know that the you are using the conditional ba- and the you are implying that is something made by them to me. It's not that I memorize it, I learn the math [19:58:23] *All* verbs in most Indo-Europeans languages have 100+ forms [19:59:12] All languages are hard, but in different ways 😉 (re @Feeglgeef: and i thought english was hard lmfao) [19:59:20] L1288 has *2* (re @Nicolas: *All* verbs in most Indo-Europeans languages have 100+ forms) [19:59:36] the fuck you mean most have 100+ [19:59:40] that's why we don't have a "one-solution-fits-all" for languages [20:00:10] L1288 is not a verb, is a noun [20:00:10] i mean isn't that the goal of this project? (re @Galder: that's why we don't have a "one-solution-fits-all" for languages) [20:00:13] Yes, English is the exception (re @Feeglgeef: L1288 has *2*) [20:00:27] oh yeah fair (re @Nicolas: Yes, English is the exception) [20:00:42] the anglos didnt conjugate that much [20:00:54] the verb has fly, flies, flew, flown and flying, that's 5. But English is an exception [20:01:06] yeah [20:01:26] shit happens when you are isolated on an island for centuries [20:02:17] English is just German simplified grammar and French vocabulary 😉 [20:02:48] simplfilied because it branched off of west germanic and chilled on an island for a bit [20:03:12] and romance vocab for complex things [20:03:19] german vocab for basic things [20:32:54] @vrandecic how do permissions for newly created types get assigned [20:33:17] Because for example only Admins can create Unit and Boolean objects [21:29:51] https://www.wikifunctions.org/wiki/Wikifunctions:Catalogue/Functional_operations most of them are dull sounding. Maybe Z13436 is a good example. They get more interesting if you have a fun function to feed into them as an argument. (re @Galder: is there any good example of functions using other functions inside? I want to show some to te students in a couple of weeks) [21:30:23] Not what he was asking for (re @Toby: https://www.wikifunctions.org/wiki/Wikifunctions:Catalogue/Functional_operations most of them are dull sounding. Maybe Z13436 is...) [21:30:26] See above conversation [21:30:43] He wanted to call other Wikifunctions functions in a python implementation [21:30:53] Witch is not possible atm [21:30:57] Which* [21:35:36] Thanks. I've just woken up and there is a lot of chat to catch up on! (re @Feeglgeef: Not what he was asking for) [21:36:53] I had given up some time ago after I saw this was impossible. It must have been added since then! I'm really happy about this, I'll probably start focusing on these again in a few months (after school) (re @Galder: is there any good example of functions using other functions inside? I want to show some to te students in a couple of weeks) [21:37:34] Most of it is useless if I'm being honest (re @Toby: Thanks. I've just woken up and there is a lot of chat to catch up on!) [21:37:49] Is it also possible in Python and Javascript? (re @Egezort: I had given up some time ago after I saw this was impossible. It must have been added since then! I'm really happy about this, I...) [21:37:53] Not yet :( (re @Egezort: I had given up some time ago after I saw this was impossible. It must have been added since then! I'm really happy about this, I...) [21:38:02] The team "plans it" [21:38:09] So God knows how long [21:38:12] Hopefully soon [21:40:24] I plan to come back to this project after that. To me, using functions within functions is one of the most basic building blocks and I feel that without it we have a lot less potential. (re @Feeglgeef: The team "plans it") [21:40:43] Ehh (re @Egezort: I plan to come back to this project after that. To me, using functions within functions is one of the most basic building blocks...) [21:40:50] For one I see massive slowdowns [21:40:58] If every function calls another function [21:41:16] Suddenly it takes minutes to get a simple result [21:41:38] And additionally most standard libraries are definitely adequate [21:43:14] If y'all try to put inputs into Z19598 does it do something weird or is it just me? [21:43:49] It's supposed to accept a typed list of typed lists but it won't do that [21:52:53] Have you explored the limits of what compositions can do? They are capable of chaining and combining functions. You just generally have to choose which functions when writing the composition. (re @Egezort: I plan to come back to this project after that. To me, using functions within functions is one of the most basic building blocks...) [21:53:26] I haven't, I just want to be able to do Z123123123(a,b) within a python code (re @Toby: Have you explored the limits of what compositions can do? They are capable of chaining and combining functions. You just general...) [21:54:23] When I was first introduced to compositions and them being the only way to call other functions I hated it (re @Egezort: I haven't, I just want to be able to do Z123123123(a,b) within a python code) [21:54:34] But now I'm actually kind of in favor of it [21:54:42] Ok yes if you need it from python code then you need to wait. Compositions are a new language of their own. (re @Egezort: I haven't, I just want to be able to do Z123123123(a,b) within a python code) [21:55:48] What I would recommend doing if you really need to both use python code and call another function is to make python code that accepts the result of said function as input, and create another composition function to do it [21:57:23] I think your idea of Z19565 will get a lot of use. I've done that manually many times. (re @Feeglgeef: But now I'm actually kind of in favor of it) [21:58:31] That's why I created it (re @Toby: I think your idea of Z19565 will get a lot of use. I've done that manually many times.) [21:58:56] It was originally supposed to be n-if but that wouldn't really work [21:59:16] I could try in programming languages but that fucks up a bunch of objects [21:59:16] It's just that when I first started I wanted to do stuff about language, like breaking up words into syllables (in Turkish). I then needed/wanted something to count the vowels/consonants etc. [21:59:18] Now I can check if something is ("a","e","ı","o","ü","u","i","ö"), but I could have done IsTurkishVowel(), and that would have been much more beautiful, that's when I kinda gave up (re @Feeglgeef: What I would recommend doing if you really need to both use python code and call another function is to make python code that a...) [21:59:48] Like I'm not saying that it's a very valid reason or anything, but it just annoyed me because I wanted to make a whole system with the functions like this [22:00:11] The only issue is currently compositions are really expensive [22:00:36] So I fear that if ever function calls something else nothing will be able to run [22:00:42] every* [22:08:58] Not very often. I think two and three are the sweet spot. A general n case statement may be possible using two lists as input (or a list of Typed pairs one they are available) (re @Feeglgeef: Toby would quadruple if, quintuple if, sextuple if, etc. be useful?) [22:09:00] Oh it might be [22:09:08] Can't we do that with a recursive composition [22:09:10] ? [22:09:12] Like [22:09:18] Yeah [22:09:20] I think that's the way to do it [22:09:27] Unless there is a simpler solution [22:10:06] Yes. Or also in code to find the index of the first true in the first list and return the same element from the second list. (re @Feeglgeef: Can't we do that with a recursive composition) [22:10:55] We could have one helper function for the composition in code and the composition itself just does itself (re @Toby: Yes. Or also in code to find the index of the first true in the first list and return the same element from the second list.) [22:11:06] That's probably the best solution [22:11:19] We might actually want to have implementations for both [22:13:33] Z19601 [22:28:45] Alright, it's done at Z19601 [22:28:59] It probably needs more tests but otherwise it looks good [22:46:42] Thanks. I think Z19602 would be better if it was indexed 1...N. That would match other functions better, but would also allow you to return a 0 if there is no true. (re @Feeglgeef: It probably needs more tests but otherwise it looks good) [22:54:00] Like Z13708… its “broader” antecedent 😏 (re @Toby: Thanks. I think Z19602 would be better if it was indexed 1...N. That would match other functions better, and would also allow yo...) [22:58:21] That's probably true. I do for Z19601 think that no match should be length+1, but I would not be opposed to just checking if it's 0 in Z19601's composition (re @Toby: Thanks. I think Z19602 would be better if it was indexed 1...N. That would match other functions better, and would also allow yo...) [23:13:37] I guess that probably should have been used in the first place (re @Al: Like Z13708… its “broader” antecedent 😏) [23:20:31] Whatever works… first true has clearer semantics 😉 (re @Feeglgeef: I guess that probably should have been used in the first place) [23:20:43] It can compose from that, but it's also good to have unary functions. (re @Feeglgeef: I guess that probably should have been used in the first place) [23:21:13] no it's not (re @Toby: It can compose from that, but it's also good to have unary functions.) [23:21:23] Unary functions are bad [23:21:45] I didn't realize First true could be implemented like that [23:22:05] I would honestly prefer it be deleted now [23:22:22] I've suggested that maybe a third way is possible. An option 2c that is in between 2a and 2b. Because it's non-conforming, those who've already commented may want to revisit, sorry. (re @vrandecic: All: I could use some input on the rational number type, if we want to have this set up next week: https://www.wikifunctions.org...) [23:23:02] Your proposal does not mention JS (re @Toby: I've suggested that maybe a third way is possible. An option 2c that is in between 2a and 2b. Because it's non-conforming, those...) [23:23:03] I know they go against your essay, but I still hope to convince you of their value in this ecosystem. (re @Feeglgeef: Unary functions are bad) [23:23:19] Actually not all unary function (re @Feeglgeef: Unary functions are bad) [23:23:33] If it probably should be a unary function it's fine [23:23:50] What I disagree with the most is moving inputs to the function names [23:24:02] It makes things hard to navigate [23:24:09] At least IMO [23:24:59] I'm in support of your proposal if it does the same thing in JS as python (re @Toby: I've suggested that maybe a third way is possible. An option 2c that is in between 2a and 2b. Because it's non-conforming, those...) [23:25:06] Otherwise I'm not [23:25:45] I think the tree for their separation should be the two little radio buttons you can click on the create implementation screen [23:25:52] "code" and "composition" [23:26:14] I think language differences that are not forced should be minimalized [23:26:49] But I'm definitely in agreement with you [23:34:26] Thanks, I've added that. Unless there is a fraction type in JS that I don't know about, we would have to simplify in the conversion to code to make JS work like Python. I suppose that could be option 2d! (re @Feeglgeef: Your proposal does not mention JS) [23:34:49] In the standard library? (re @Toby: Thanks, I've added that. Unless there is a fraction type in JS that I don't know about, we would have to simplify in the convers...) [23:34:54] Not a chance in hell [23:35:52] I'm in favor of 2d [23:36:14] We shouldn't have separate things for separate languages [23:36:21] That seems annoying to deal with [23:55:40] we already have 9109 lexemes with 100+ forms and the record is 1274 forms, see this query https://qlever.cs.uni-freiburg.de/wikidata/Fqi2nL (in reality the numbers are way bigger but sadly Lexmes are far from complete) (re @Feeglgeef: 10000????????) [23:56:45] lmfao basque has all top 8 spots [23:57:03] isn't it like the only language with no language in the same family? [23:58:21] that's crazy [23:58:34] like even if you build them up with rules [23:58:42] you still have to memorize 1000 rules [23:59:54] actually this makes a lot of sense [23:59:59] english should be like this