Talk:Abstract Wikipedia/Glossary

From Meta, a Wikimedia project coordination wiki
Jump to navigation Jump to search

Feel free to ask for clarifications or new terms here, or to discuss any of the terms.


  1. Question Question: TiagoTorrent (talk) 21:10, 31 May 2020 (UTC) Is the input for a renderer really (or necessarily) a Content? In a (likely) scenario that renderer creation will evolve differently in each language, wouldn’t it be useful to render smaller - or less top level - Constructors instead?
    So I propose to introduce parts. See Talk:Abstract Wikipedia/Archive 1#Two_small_questions.--GZWDer (talk) 17:21, 2 June 2020 (UTC)
    @TiagoTorrent and GZWDer: You are both right, that was an error. I changed the definition of Content to mean instantiated Constructor, and that can range from a whole article down to a phrase. Good catch, thank you! I think that should cover what you mean with parts, G. --denny (talk) 04:12, 4 June 2020 (UTC)
    @Denny: Great! Much better now! Actually I like this idea of different levels of schematicity / complexity better than that of creating another type of structure (e.g. part). (talk) 20:07, 5 June 2020 (UTC)

Keep English terms in English, and add translations[edit]


Does anyone object that the translated versions of this page will also show the English terms?

It would be useful for the translators of the extension UI and documentation, to see the term in English and in their language side by side.

I'm not entirely sure how to do it in wiki syntax, but I'll find a way if no one objects. --Amir E. Aharoni (talk) 18:01, 3 October 2020 (UTC)

I just decided to be bold and made {{English term}}.
It's pretty silly and there can probably be a much better solution. For example, a sortable table, with a column for the English term, a column for the translated term, and a column for definitions.
Or maybe some clever styling, as in the general community glossary or the Wikidata glossary.
But I hope that the current version is the beginning of useful structure.--Amir E. Aharoni (talk) 16:03, 4 October 2020 (UTC)
Thanks. Having glossaries in MediaWiki is both incredibly useful as well as terribly complicated. Thanks for trying to figure out the structure for that! --DVrandecic (WMF) (talk) 00:03, 7 October 2020 (UTC)


I added an entry for ZList because it appears in the extension messages, but I don't actually know what it is, so it would be nice to write a real definition. --Amir E. Aharoni (talk) 07:06, 5 October 2020 (UTC)

looks good, thanks! --DVrandecic (WMF) (talk) 00:03, 7 October 2020 (UTC)


I added an entry for Value, because there is an entry for Key. I tried writing a definition, but it should be checked by somebody who knows the terminology. Thanks. --Amir E. Aharoni (talk) 07:07, 5 October 2020 (UTC)

Sounds OK. I think there is something off, but I cannot put my finger on it yet. Something about values also being able to stand alone outside of key/value pairs. And that ZObjects can also be strings. But I think that is good enough for a glossary. --DVrandecic (WMF) (talk) 00:08, 7 October 2020 (UTC)


I also added ZKey because it appeared in the extension messages. I guess it's a synonym of key, but please verify.

Also, if it's a synonym of key, consider just calling it "key" in every message shown to end-users :) --Amir E. Aharoni (talk) 07:11, 5 October 2020 (UTC)

I think that's fine. Remember that all these names will eventually be user definable anyway. --DVrandecic (WMF) (talk) 00:09, 7 October 2020 (UTC)
Curious. DVrandecic (WMF), what do you mean by "user definable"? --Amir E. Aharoni (talk) 10:49, 7 October 2020 (UTC)
@Amire80: ZKey is, in reality, the on-wiki object Z3. It will have labels on wiki that can be edited by the community, per languages. --DVrandecic (WMF) (talk) 20:57, 7 October 2020 (UTC)

Values being ZObjects in return[edit]

The definition of ZObject includes this:

with each Key appearing only once per ZObject and Values being ZObjects in return

What is "in return" exactly? --Amir E. Aharoni (talk) 07:36, 5 October 2020 (UTC)

Just a phrase, which I might have used wrongly here. What I mean is "with each Key appearing only once per ZObject and Values being ZObjects". I removed the "in return". Thanks! --DVrandecic (WMF) (talk) 00:57, 6 October 2020 (UTC)

Tester and Test[edit]

I'm still confused about Tester and Test. These are very different words.

There is this message in the extension: "This form lets you create a new ZObject, which can represent a Function, its Implementation, a Tester for it, or one of various other kinds of ZObjects."

I asked on Telegram what does "Tester" mean, and Denny said: Yep, thanks, that should be "text"

I guessed that "text" is a typo and it was supposed to be "test", and I made a patch about it, but James said it was intentionally written as "Tester".

I don't care if it's "test" or "tester", and feel free to abandon the patch if it's wrong, but whatever is written there needs to be documented here clearly as a distinct entry. In the current version of the glossary there is no entry for "Tester", and the entry for Test says:

a way to automatically determine if a given ZFunction is doing the right thing. A function will typically have multiple tests, each specifying some input to the function and the output which it is expected to return for that input. For example, tests for a “title case” function might include: “abc” should become “Abc”; “war and peace” should become “War and Peace”; “война и мир” should become “Война и мир”; and “123” should remain “123”. Short for "ZFunction Tester".

This is really confusing. "Tester" and "Test" are really not the same word. I understand Tester as a thing that runs one or more tests, and they are not synonymous. If this is not the case, please explain why are there different words.

The word "Test" is actually not used anywhere in the extension's messages now, and as long as this is the situation, it's OK if it doesn't appear in the glossary at all. --Amir E. Aharoni (talk) 07:07, 6 October 2020 (UTC)

@Amire80: Yes, agreed, they are quite different words. To my mind, a "test" would be an individual result of the run of a "tester". Calling the testing framework unit of a given ZFunction a 'test' implies that it's static and unchanging, whereas these items are likely to be ZFunctions themselves. I left it to Denny to change back, and they are in charge and I'm just an engineer, however. ;-) Obviously, as I think Denny said, all this language will change in the future once we hire UX people and design the interfaces for users, so we shouldn't spend too much time trying to word-smith the language as-is. Jdforrester (WMF) (talk) 15:42, 6 October 2020 (UTC)
Yes, 'text' was a typo, and I thought it should be test, but James, having a better command of English than me, has convinced me otherwise. I updated the glossary to say tester. Thanks for spotting the inconsistency! And as James said: I expect the vocabulary to change quite a bit, as a result from the UX research and work we are planning, but also because these are mostly just editable labels in the wiki! --DVrandecic (WMF) (talk) 00:24, 7 October 2020 (UTC)


The definition of ZFunction includes the word "executor", and it's even linked to an anchor, but this term doesn't actually exist, not in the glossary and not anywhere in the extension code. This needs fixing.

It also links to "tester", which doesn't exist. See the section above. --Amir E. Aharoni (talk) 07:13, 6 October 2020 (UTC)

James fixed it to 'evaluator', thanks! --DVrandecic (WMF) (talk) 00:13, 7 October 2020 (UTC)
It's amusing: when you and I discussed it in Telegram, I asked whether it's OK to translate it to something that means "executor", and Jdforrester (WMF) also thinks it could be executor :)
In any case, whatever works for you is OK. The terms here should be the same as in the actual software and its documentation. And it's also fine if the current version is very early, and terms change later. --Amir E. Aharoni (talk) 10:55, 7 October 2020 (UTC)
Yes, but the discussion went also on, and some native English speakers were more comfortable with evaluator. I have no strong opinion, but I agree with you that it should be consistently used. I still don't have no strong opinion regarding 'evaluator' or 'executor'. --DVrandecic (WMF) (talk) 20:59, 7 October 2020 (UTC)

New terms[edit]

@DVrandecic (WMF): I have added many terms to this glossary; however many terms currently does not have any definitions (please help improve it). While development is ongoing more terms may be introduced (e.g. error handling).--GZWDer (talk) 06:45, 2 December 2020 (UTC)

Done! Thanks! --DVrandecic (WMF) (talk) 21:11, 11 December 2020 (UTC)

specific (but arbitrary) type[edit]


"pair" is defined here now as "a compound ZObject that contains two ZObjects of specific (but arbitrary) type."

The "specific (but arbitrary) type" part is quite confusing. Is it specific or arbitrary? --Amir E. Aharoni (talk) 14:00, 25 December 2020 (UTC)

I think this means that the two types must be specified, but each one can be arbitrary; this creates then a specific subtype of the generic Pair type, for the two types associated. So Pair(List(...), List(...)) is not the same type as Pair(List(...),Integer(...)).
The same situation applies to the List(T) generic type which allows an arbitrary but specific (i.e. required) type. Here, "specific" here is opposed to "generic". verdy_p (talk) 16:46, 25 December 2020 (UTC)
I meant it is one specific type, but you can choose that one yourself. --DVrandecic (WMF) (talk)


Jdforrester (WMF) removed the word "anyone" from the definition of wiki with the explanation "we block millions of IPs".

It's true we block lots of accounts and IPs that are used for vandalism, but nevertheless, by default, the intention of a wiki is that anyone can edit it. If this word is good enough to appear at the top of the main page of the English Wikipedia and of (probably) most other wikis Wikimedia maintains, why can't it appear here, too? --Amir E. Aharoni (talk) 14:53, 18 January 2021 (UTC)

Does "wiki" need to be in the glossary at all? If it's useful, why would its definition differ from Glossary#wiki and why would that differ from d:Lexeme:L364 or wikt:wiki or the first sentence of en:wiki? (Yes, they are all different.) In the context of this project, I think we want to emphasise collaborative editing that is (generally) open to "anyone", so perhaps "A collaborative website that people can easily edit."?--GrounderUK (talk) 11:36, 19 January 2021 (UTC)
The term "anyone" is correct: everyone has the right to edit (under the conditions/terms widely exposed, even without creating an account). Every edit can then be changed and will be peer-review. When a user does not follow the conditions, and vandalizes pages or violates a required rule (e.g. copyvio), he may get blocked. But they got the right to edit since the first time. note that reverting someone ie not a block, anyone on any wiki has some of their edits reverted or changed later by someone else, without even any adminsitrative action: reverts are also normal edits, and all edits in public wikis are still reviewable after, because the history is visible and permanent (except for legal or privacy issues, where some edits may be permanently redacted and even hidden in the history), including after a demand by the user that made it (possibly an error, or unexpected edit on the wrong page, or unexpected copy-paste from personal data that should have not been public, or because this edit was asked by someone else but made in the wrong place for strictly private communications). USers can even revert themselves (sometimes temporarily, or this edit was for a temporary test that failed and has to be delayed due to other problems to solve first): users can then take back their reverted edit when the other problem is solved). Many/most edits are small and progressive, added incrementally instead of rewriting everything at once. In some cases, these incremental edits may be containing local inaccuracies, but they are in an intermediate stage when other parts or other pages/tempaltes may need some update. Some edits arte made only as workarounds as well and may not last for very long, or are made for compatibility reasons, to avoid breaking the rest on many pages (in such temporary states, local inaccuracies should contain some HTML comment or a ref to a note, or at least an edit summary, possibly a new section on the talk page to explain what remains to do, or to decide with others when there are incoherences or multiple solutions. sometimes this is also needed because there are multiple users working in cooperation on different parts, and synchronization of their work and progress is tracked by some "wikiproject" or in a summary posted on the talk page. Finally some edits depend on data present on another wiki. All this is lot of work, and any one (who respects the charts, guidelines, and legal requirements can work). Beside that, not all edits are made by users but by automated processes: they do thei work by "guessing" on the most probable possibilities for simple fixes, but as this is an heuristic, it may have some level of failures. Finally edits made by external bots (frequently not even creating an account and ignoring all policies) have to be blocked: they are not part of "anyone" because these are automated, not persons; and there are users that want to hide thier track using stroing anonymization via open proxies, plus abuses made by malwares trying to attack the site: these have to be monitored and blocked to avoid massive damages affecting many/most wikimedians or many pages (e.g. critical templates that are widely used). A page may also be brokken sometimes by a failure in the MediaWiki software after some new feature deployment, requiring further changes to remain compatible, or because of new technical issues or breaking changes in major browers or standard protocols, or after a collective decision in Wikimedia (whicch can still be changed and discussed again later when ther reasons for this past decision are no longer valid). So I don't know why you think "anyone" is incorrect: it is fully correct from the beginning.
However the term "wiki" is not restricted to just those of Wikimedia: even Wikimedia has its own private wikis. "Anyone" is correct for all wikis for open projects of Wikimedia, not for the wiki of the WMF, or the wiki of chapters, and not for many other wikis existing in organizations (including commercial wikis, editable only by the members of the organization or a limited staff: the result may be publicly readable only, or could remain also private for read). A wiki is just a web-based content management system (CMS), it does not indicate the goals, the topics, or the access rights. verdy_p (talk) 12:03, 19 January 2021 (UTC)

the intention of a wiki is that anyone can edit it

This is a nice claim philosophically about some wiki's intent, but it's a lie in practice for almost all wikis, including all Wikimedia wikis, and always has been. It also entirely glosses over how the concept of wikis mitigates against participation from huge swathes of humanity – people who are illiterate, disabled, unable to access to technology, busy, and others.
I don't think we should continue using intentionally-wrong language that mis-leads readers just so that a handful of editors feel slightly nicer about it.
However, as @Verdy p points out, there's not much need to have the "wiki" term in this glossary at all; Wikibase Lexemes have a lot more opportunity to serve readers well. :-) Jdforrester (WMF) (talk) 17:04, 19 January 2021 (UTC)

Invoke vs Call[edit]

There are two messages in the WikiLambda extension that use the word "Invoke":

  • Invoke Z802 (If) with false predicate
  • Invoke a function by calling the function-orchestrator

Intuitively, "Invoke" sounds like a synonym of "Call", but I need to verify: Is it actually a synonym?

If it is, can it be either changed to "call" in the messages, or added to the glossary as a synonym of call?

If it is not, can its definition be added to the glossary?

Now that I check it, the glossary doesn't have an entry for "call", although it does have an entry to "function call". An entry for "call" should probably be added, even it just says "see function call".

@Quiddity (WMF) Amir E. Aharoni (talk) 20:44, 1 May 2021 (UTC)

@DVrandecic (WMF) said on Telegram that they are synonyms, so I edited accordingly. Feel free to improve further. Amir E. Aharoni (talk) 16:20, 6 May 2021 (UTC)
Just wanted to confirm on-wiki as well - "invoke" in this case is used as a synonym in order to avoid the phrase "call a call" :) --DVrandecic (WMF) (talk) 22:13, 6 May 2021 (UTC)