Hi Denny,
I see. This shows another important point: the types are not self documenting so in the future there should be some documentation for each type about what it represent and how it does it; their name alone are not enough not to mistaken from time to time.
As for considering the knowledge graph (almost) static, this is an elegant solution to solve the problem.
Regards, Louis Lecailliez
________________________________ De : Abstract-Wikipedia abstract-wikipedia-bounces@lists.wikimedia.org de la part de Denny Vrandečić dvrandecic@wikimedia.org Envoyé : mercredi 22 juillet 2020 19:10 À : General public mailing list for the discussion of Abstract Wikipedia (aka Wikilambda) abstract-wikipedia@lists.wikimedia.org Objet : Re: [Abstract-wikipedia] A few examples of functions
Hi Louis,
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.
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.
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.
What do you think?
Thanks, Denny
On Wed, Jul 22, 2020 at 8:28 AM Louis Lecailliez <louis.lecailliez@outlook.frmailto:louis.lecailliez@outlook.fr> wrote: Hi Denny,
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.
For example * plural: English noun ➝ string 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. * plural: English noun, Dictionary<string, string> ➝ string 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.
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.
Best regards, Louis Lecailliez
________________________________ De : Abstract-Wikipedia <abstract-wikipedia-bounces@lists.wikimedia.orgmailto:abstract-wikipedia-bounces@lists.wikimedia.org> de la part de Denny Vrandečić <dvrandecic@wikimedia.orgmailto:dvrandecic@wikimedia.org> Envoyé : mercredi 22 juillet 2020 14:30 À : Abstract Wikipedia list <abstract-wikipedia@lists.wikimedia.orgmailto:abstract-wikipedia@lists.wikimedia.org> Objet : [Abstract-wikipedia] A few examples of functions
Hello all,
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.
https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Early_function_examples
Feel free to add, discuss, improve.
Stay safe, Denny
_______________________________________________ Abstract-Wikipedia mailing list Abstract-Wikipedia@lists.wikimedia.orgmailto:Abstract-Wikipedia@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/abstract-wikipedia