<div dir="ltr">Hi Louis,<div><br></div><div>yes, you are right, but I want to point out that plural was not defined as plural: string ➝ string but as plural: English noun ➝ string. So the question is, what is English noun - and if that in turn was a wrapper object around Wikidata Lexemes, say L3337, it would indeed be rather easy to ask for the plural and get back "men" as a string.</div><div><br></div><div>Yes, one question is what does it mean to be side-effect free. If for example we define that calls to Wikidata can be considered side-effect free, as they are basically calls to a static(-ish) knowledge base, we got that fixed. That is also needed for many of the other example functions. The problem in that case is how much caching can we get away with.</div><div><br></div><div>So if we assume that Wikidata is available as a knowledge base for the functions, then I think that all the functions offered in the examples should be fine.</div><div><br></div><div>What do you think?</div><div><br></div><div>Thanks,</div><div>Denny</div><div><br></div><div><br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jul 22, 2020 at 8:28 AM Louis Lecailliez <<a href="mailto:louis.lecailliez@outlook.fr">louis.lecailliez@outlook.fr</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">




<div dir="ltr">
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Hi Denny,</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
while a lot of functions make sense while we stay in the software realm, I'll note again that the ones concerning language have way too simplified signature to fullfil their role.</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
For example</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
* plural: English noun ➝ string<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
is gonna work as a pure function if and only if every irregular plural forms of English (stuff like man/men) are hardcoded into the function itself; and I think we all agree that's not a good engineering practice.</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<span style="font-family:Calibri,Helvetica,sans-serif">* plural: English noun, Dictionary<string, string> ➝ string</span></div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<span style="font-family:Calibri,Helvetica,sans-serif">would be a more appropriate signature here, conceptually a least. In reality, data will be pulled from Wikidata (if I'm not mistaken), which mean the function has side effect and is not pure. It seems
 the problematic of access to the data layer (whatever it is) is underspecified.</span></div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
I think it would be better to remove language generation signatures for the time being to not give the impression the problem space is trivially solvable by a function or two.</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Best regards,</div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
Louis Lecailliez</div>
<div>
<div id="gmail-m_-961040753238981999appendonsend"></div>
<div style="font-family:Calibri,Helvetica,sans-serif;font-size:12pt;color:rgb(0,0,0)">
<br>
</div>
<hr style="display:inline-block;width:98%">
<div id="gmail-m_-961040753238981999divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" color="#000000" style="font-size:11pt"><b>De :</b> Abstract-Wikipedia <<a href="mailto:abstract-wikipedia-bounces@lists.wikimedia.org" target="_blank">abstract-wikipedia-bounces@lists.wikimedia.org</a>> de la part de Denny Vrandečić <<a href="mailto:dvrandecic@wikimedia.org" target="_blank">dvrandecic@wikimedia.org</a>><br>
<b>Envoyé :</b> mercredi 22 juillet 2020 14:30<br>
<b>À :</b> Abstract Wikipedia list <<a href="mailto:abstract-wikipedia@lists.wikimedia.org" target="_blank">abstract-wikipedia@lists.wikimedia.org</a>><br>
<b>Objet :</b> [Abstract-wikipedia] A few examples of functions</font>
<div> </div>
</div>
<div>
<div dir="ltr">Hello all,<br>
<div><br>
</div>
<div>I made a draft of possible function examples. I am not saying all of these are useful, or we will have these, or that these are the right signatures for the suggested functions, but this is more to illustrate the possible scope of the project we are aiming
 for.</div>
<div><br>
</div>
<div><a href="https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Early_function_examples" target="_blank">https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Early_function_examples</a><br>
</div>
<div><br>
</div>
<div>Feel free to add, discuss, improve.</div>
<div><br>
</div>
<div>Stay safe,</div>
<div>Denny</div>
<div><br>
</div>
</div>
</div>
</div>
</div>

_______________________________________________<br>
Abstract-Wikipedia mailing list<br>
<a href="mailto:Abstract-Wikipedia@lists.wikimedia.org" target="_blank">Abstract-Wikipedia@lists.wikimedia.org</a><br>
<a href="https://lists.wikimedia.org/mailman/listinfo/abstract-wikipedia" rel="noreferrer" target="_blank">https://lists.wikimedia.org/mailman/listinfo/abstract-wikipedia</a><br>
</blockquote></div>