[15:38:43] In the glossary there's this: [15:38:44] concrete [15:38:45] in a specific natural language. [15:38:49] I'm not sure I completely understand this. [15:39:36] Where is it used, for example? [15:40:11] Does it mean that it's written by humans and not generated by software? The words "in a specific natural language" don't necessarily imply it, but I'm wondering what could be the reason to write this at all. [15:43:49] Also, a question about "evaluator": I'm having a hard time coming up with a Hebrew term for it. Can I translate it using a word that sounds like "executor"? Or perhaps evaluation is not the same as execution? [15:48:04] concrete is the antonym to abstract. So all text in a natural language is concrete, whether generated or manually written [15:48:15] I think executor is good enough for evaluator [15:48:24] Ah, this makes sense. Thanks. (re @vrandecic: concrete is the antonym to abstract. So all text in a natural language is concrete, whether generated or manually written) [15:57:30] Thanks. Is it a word that will appear a lot in the UI? Or something that only advanced users will see occasionally? (re @vrandecic: I think executor is good enough for evaluator) [16:23:10] Good question, don't know yet and won't know for a while [16:23:30] For now it won't but that might change [16:23:57] "Evaluator" is not super-easy for English speakers either :) [16:24:38] Yeah, the name isn't settled [16:24:53] It might just be "engine" [16:25:06] That would be much easier to translate, at least to the languages I know. [16:25:10] We don't have our UX person on yet :D [16:36:31] evaluator seems self-explanatory to me as a native speaker, something that evaluates something, and "evaluate" was a word we used in school in maths to mean "work out what the answer to this equation is" [16:36:49] not sure I would've understood engine, since when I think of engines I think of generating power [16:37:42] (I do know evaluating functions from programming though, I can't say what non-programmers think) [16:52:10] +1, but I'm not a native speaker [16:52:21] But that's useful data, thanks [17:50:44] Heh. [17:50:57] The definition of function is: [17:50:59] the specification of a computation that takes some input and returns output; see [[:en:Function (computer science)]]. [17:51:18] As the friendly bot already says here, it's a redirect to Subroutine :) [17:51:36] @vrandecic , what should actually appear there? Is Subroutine good? [17:51:55] Or maybe one of the other articles on the disambiguation page [[Function]]? [17:52:20] Maybe [[Function object]] is better? Just a wild guess. [17:55:43] they prefer subroutine over function? 🤯 and there was me thinking subroutine was a quirky perl thing... 😅 [17:56:13] More like a Pascal or ADA quirky thing :) [17:56:23] I never learnt those :D [17:56:35] In Perl they are totally functions, they are just called `sub`s. [17:56:50] I ❤️ Perl very proudly. [17:57:11] In Perl they are totally functions, they are just called sub in the syntax :) [17:57:24] (Haven't used it much in recent years though.) [17:58:01] I have the Camel book with Larry Wall's autograph. [17:58:22] yay! another perl fan! I have a perl t-shirt with the camel-shaped code that iirc prints itself if you run it [17:59:08] Larry's autographs are, apparently, very elaborate. I asked him for career advice while he was doing it. He told me "do something that you like". I ended up working for Wikimedia. It was good career advice. [17:59:15] (100% true story.) [18:01:32] “subroutine” feels like PASCAL-era terminology to me, together with “proceture” ^^ [18:01:41] Yes. [18:01:42] “subroutine” feels like PASCAL-era terminology to me, together with “procedure” ^^ [18:03:58] evaluator : a piece of software that takes a ZObject and evaluates it, i.e. executes a Function and returns the result. We envision the development of several evaluators. Evaluators may be implemented and run in the browser, on the server of the Wikimedia Foundation, in the cloud, in an app on a mobile device, or other places. [18:04:49] I've been in the WMF for nine years, and I know pretty nothing about AWS and Azure and stuff like that... I know that it's all the rage these days, but never learned unfortunately. [18:05:02] What does it mean here that it can "run [...] in the cloud"? [18:05:12] "run in the browser" is similar to gadgets, I guess. [18:05:34] "run on the server of the Wikimedia Foundation" is similar to Scribunto modules and templates, or maybe bots. [18:05:37] But cloud? [18:06:01] I've been in the WMF for nine years, and I know pretty much nothing about AWS and Azure and stuff like that... I know that it's all the rage these days, but never learned unfortunately. [18:06:23] I think in this context it means pretty much “run on someone else’s servers” [18:06:58] I learnt Pascal in high school. (re @amire80: More like a Pascal or ADA quirky thing :)) [18:07:03] a bit more specifically, I guess cloud implies that the server is rented – e. g. it would be run/owned by Amazon, but someone else would be telling the server to run an evaluator and get the results out of it [18:07:13] but I don’t think that’s very important here [18:07:36] In the 1990s lots of people did! I think it's more Java and Python in high schools these days. Not sure. (re @Csisc1994: I learnt Pascal in high school.) [18:08:22] In Tunisia, they teach Pascal since the 1990s. They shifted to Python last year. (re @amire80: In the 1990s lots of people did! I think it's more Java and Python in high schools these days. Not sure.) [18:08:54] Like... someone gets a virtual user agent to run on the cloud, and it asks for a function, and it runs in the virtual user agent and not on WMF servers? (re @lucaswerkmeister: a bit more specifically, I guess cloud implies that the server is rented – e. g. it would be run/owned by Amazon, but someone else would be telling the server to run an evaluator and get the results out of it) [18:09:11] Even programs for competitions are written in Pascal [18:10:42] What I find curious is that for a while grid and blade computing were fashionable terms but now it’s just cloud (re @amire80: But cloud?) [18:11:25] Tunisian Baccalaureate involved the development of a Pascal Program. [18:11:37] Right I think the point of cloud is just figure out the services you need and we will deal with the hairy details of where it runs, and uptime (re @lucaswerkmeister: but I don’t think that’s very important here) [18:12:36] someone runs the same software which the WMF uses to run Wikilambda, but on a server they’ve rented / they control, instead of the WMF servers (re @amire80: Like... someone gets a virtual user agent to run on the cloud, and it asks for a function, and it runs in the virtual user agent and not on WMF servers?) [18:12:55] or similar software, at least [18:25:49] normal : an extended, easily processable and very uniform way to represent ZObjects in JSON. [18:26:00] Is normal a noun or an adjective? [18:26:03] Is normal a noun or an adjective? [18:28:28] Both, same for standard. (re @amire80: Is normal a noun or an adjective?) [18:29:12] Très in French is both an adjective and an adverb [18:33:01] Yeah, but I'm asking specifically about https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Glossary (re @Csisc1994: Both, same for standard.) [18:53:38] If normal is a type then it is a noun (re @amire80: Yeah, but I'm asking specifically about https://meta.wikimedia.org/wiki/Abstract_Wikipedia/Glossary) [18:53:55] Just like float, str... [19:10:40] an adjective, I believe – AbstractWikipedia docs talked about a normal and and canonical JSON format https://github.com/google/abstracttext/blob/master/eneyj/docs/SPECIFICATION#L43 [19:10:48] delete (re @wikilinksbot: L43 – 되다 [ko]) [19:11:20] Aha! So "abstract" corresponds to "concrete", and "normal" corresponds to "canonical"? [19:12:09] no, they’re separate things, I think [19:12:37] normal vs. canonical is a detail of how you represent the abstract data (I wouldn’t expect normal users of the wiki to encounter it, it would be for people implementing different evaluators) [19:14:36] wow... you learnt programming languages in high school? 😶 [19:14:45] normal : an extended, easily processable and very uniform way to represent ZObjects in JSON. [19:14:45] canonical : a specific, less verbose and thus more readable way to represent ZObjects in JSON; it is the usual representation ZObjects are stored in Wikilambda. [19:15:06] Didn't you? In which country were you in high school? (re @Nikki: wow... you learnt programming languages in high school? 😶) [19:15:10] uk [19:15:24] And in the UK they don't teach programming languages in high school? (re @Nikki: uk) [19:15:27] and nope, we barely touched a computer and when we did it was just things like word [19:15:36] Curious. [19:15:37] they didn't at my school at least [19:15:56] I graduated in 1997. We learned Pascal and [19:15:59] —drumroll— [19:16:01] Quattro Pro. [19:16:25] my school was also one of the worst in the country so my experience might have been unusually bad 🙃 [19:17:32] So basically, @lucaswerkmeister and @vrandecic , if I juxtapose "normal" and "canonical", the definitions start making a lot more sense. They are different ways of representing ZObjects in JSON. (re @amire80: normal : an extended, easily processable and very uniform way to represent ZObjects in JSON. [19:17:33] canonical : a specific, less verbose and thus more readable way to represent ZObjects in JSON; it is the usual representation ZObjects are stored in Wikilambda.) [19:17:54] I'll add "This is opposed to normal / canonical" to the definitions. [19:18:03] that sounds correct to me, yes (re @amire80: So basically, @lucaswerkmeister and @vrandecic , if I juxtapose "normal" and "canonical", the definitions start making a lot more sense. They are different ways of representing ZObjects in JSON.) [19:18:08] Thanks. [19:18:58] like, one difference is that in the canonical form (the more convenient one), a string is just "the string", whereas in the normal form, it’s {"Z1K1": "Z6", "Z6K1": "the string"}, i. e., an object of type (Z1K1) string (Z6) whose value (Z6K1) is "the string" [19:19:17] if that makes any sense [19:19:47] they both represent the same abstract data (an object of type string), but the abstract representation lets you write it more conveniently [19:19:58] they both represent the same abstract data (an object of type string), but the abstract canonical representation lets you write it more conveniently [19:20:10] (very bad place to mix up the words, sorry ^^) [20:32:38] same here (re @Nikki: and nope, we barely touched a computer and when we did it was just things like word) [22:51:51] Same here. I had an elective course for learning a bit of Pascal, but it wasn't part of my normal classes. Also graduated in 1997 [22:53:21] Yes, to all that Lucas said. Normal and canonical are two specific ways for the JSON representation of ZObjects. They can be represented also by JSON which is neither normal nor canonical.