Wikifunctions:Glossary/pnb

From Wikifunctions
This page is a translated version of the page Wikifunctions:Glossary and the translation is 3% complete.

Feel free to ask for terms on the talk page, or to add more terms and improve the definitions.

A

abstract (English: abstract)
not in a specific natural language but abstracting from it; aiming to provide a notation for the meaning behind natural language texts, sentences, or phrases. The opposite of concrete.
AbstractText (English: AbstractText)
prototype implementation of the Wikifunctions idea.
abstract content (English: abstract content)
see content.
Abstract Wikipedia (English: Abstract Wikipedia)
preliminary name of all the Content that can be used by local Wikipedias to render an article in natural language; currently proposed to live in Wikidata next to the corresponding Item, but that will be discussed before Part P2 of the development project.
alias (English: alias)
an alternative label for an object, used foremost to find the object.
argument (English: argument)
an input given to a function call.
argument reference (English: argument reference)
a reference to one of the supplied arguments within a composition.
array (English: array)
Many programming languages have an "array" type. The counterparts in Wikifunctions are list and typed list. See also Benjamin array.
article (English: article)
a page in the main namespace of Wikipedia, usually representing one entry in Wikipedia.

B

Benjamin array (English: Benjamin array)
a way to denote typed list proposed by Benjamin Degenhart, where a typed list is stored as a JSON list whose first element denotes the type. This is in contrast with the previous proposed schema, which uses LISP-style singly-linked lists, in which the type must be stored once in each node.
boolean (English: boolean)
a value that can have 2 states, usually denoted true and false.
built-in (English: built-in)
a native implementation of a function that is provided by the evaluator and that is not editable through the wiki interface.

C

call (English: call)
see function call. In English, the term invoke or invocation may also be used.
canonical, canonicalized, canonicalised (English: canonical, canonicalized, canonicalised)
a specific, less verbose and thus more readable way to represent ZObjects in JSON; it is the usual representation ZObjects are stored in Wikifunctions. This is opposed to normal.
car (English: car)
alternative name of head; see CAR and CDR in Wikipedia. See also cdr.
cdr (English: cdr)
alternative name for tail; see CAR and CDR in Wikipedia. See also car.
character (English: character)
a character as defined by Unicode, a constituent of a String; a character can consist of several bytes (or octets).
composition (English: composition)
a form of implementation of a function, where the implementation is given by the combination of other functions; see Function model.
composition notation (English: composition notation)
an easy-to-read notation for compositions; see Function model.
concrete (English: concrete)
in a specific natural language. The opposite of abstract.
cons (English: cons)
a function to create a new list by adding an element at the top of it; see phab:T261474. See cons in Wikipedia.
constructor (English: constructor)
an abstract building block of content. A constructor aims to capture the meaning of a single phrase or sentence structure. It often has slots that can take other constructors, and can itself be used as a value to fill the slots of other constructors.
content, abstract content (English: content, abstract content)
abstract representation of a text or text fragment, assembled from constructors. Technically, an instance of a constructor. The top level constructor is used to represent a whole article and stored in Abstract Wikipedia, but content can be also for just a sentence or phrase. Sometimes called abstract content.
curried, curry, currying (English: curried, curry, currying)
A curried function is a function that was translated from taking multiple arguments into a sequence of functions, each with a single argument. This technique is named after the American mathematician Haskell Curry. See Currying in Wikipedia.

D

deserialization (English: deserialization)
Opposite of serialization.
development project (English: development project)
a project to develop Wikifunctions and Abstract Wikipedia; see Abstract Wikipedia plan.
display function (English: display function)
a synonym of renderer. For example, a function that converts a type into a string that users can understand, such as converting a Number 123456 to "123,456" in (International) English, "1,23,456" in Indian English, "123.456" in French, etc., or converting the Date '2024','03','12' to '2024-03-12', and so on.
documentation (English: documentation)
human-readable text explaining an object.

E

eneyj (English: eneyj)
  1. prototype model of Wikifunctions;
  2. a JavaScript implementation of an evaluator of that model provided in abstracttext.
error (English: error)
a type whose instances indicate problems in evaluation or validation; see Function model.
evaluation (English: evaluation)
The action performed by the evaluator.
evaluator (English: evaluator)
a piece of software that takes a ZObject and evaluates it, that is 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. Compare to executor and orchestrator.
execution (English: execution)
The action performed by the executor.
executor (English: executor)
one of a set of internal services which are not exposed to the public. They can be only called by the orchestrator. They run native code in a specific programming language. There would be one executor for Lua, one for JavaScript, one for Python, etc. See the service documentation. Compare to evaluator and orchestrator.

F

پھلن (English: function)
the specification of a computation that takes some input and returns output; see Function (computer science) in Wikipedia.
پھلن سدݨ (English: function call)
A function call is a ZObject consisting of a function and the required arguments for the function, and can be evaluated to another ZObject. In English, the term "invoke" may also be used.
function evaluator (English: function evaluator)
See evaluator.
function executor (English: function executor)
See executor.
function model (English: function model)
see Function model.
function orchestrator (English: function orchestrator)
See orchestrator.
function schemata (English: function schemata)
a set of pre-defined ZObjects used in orchestrator and evaluator. The WikiLambda system account also populates pre-defined ZObjects on-wiki from function schemata.
functional (English: functional)
short for "purely functional", meaning that the evaluation of such a function has no side-effects and is deterministic, that is always the same; see Purely functional programming in Wikipedia; see Function model.

G

generic type (English: generic type)
a type generated by evaluation of a function call.

H

head (English: head)
the first element of a list. Also known as car. The rest of the list is known as tail or cdr. See phab:T261474.

I

identity (English: identity)
The identity of a type is an instance of (specific) function that evaluates to the type. For a simple type, it is a reference to the type itself.
implementation (English: implementation)
a particular way to execute a function. An implementation may be a piece of code in a certain programming language, refer to functionality “built into” the evaluator, or compose calls to other functions. A function may have many implementations, which should all be equivalent. Short for "ZFunction implementation".
instance (English: instance)
Every ZObject is an instance of its type.
invoke (English: invoke)
synonym for call in English. See function call.
مد (English: item)
an entry in Wikidata's knowledge base; see Item in the Wikidata glossary.

J

JSON (English: JSON)
a widely used data transfer format; see JSON in Wikipedia.

K

کنجی (English: key)
a string which ends with the letter K followed by a natural number, and is optionally preceded by a ZID. Keys are defined in Wikifunctions usually on Types or Functions, and are used to build up ZObjects.

L

چیپی (English: label)
main name given to identify a ZObject. May only be plain text.
شبداولی (English: lexeme)
an entry in Wikidata storing lexicographic knowledge about, roughly, a word; see Lexeme in the Wikidata glossary.
linearizer (English: linearizer)
(this term is no longer used in current terminology, but can still be found in older documents) synonym of renderer (1).
list (English: list)
a data type that groups an arbitrary number of instances in an ordered entity; see List (abstract data type) in Wikipedia.
literal (English: literal)
a value that is not a ZObject. Currently the only accepted literal is string.
local Wikipedia (English: local Wikipedia)
a Wikipedia in a specific language, such as Hebrew Wikipedia, Japanese Wikipedia, or Italian Wikipedia.

M

multilingual Wikipedia (English: multilingual Wikipedia)
the architecture that allows local Wikipedias to enrich themselves by rendering the Content from Abstract Wikipedia and thus have a more comprehensive, current, and correct Wikipedia in their language; see Abstract Wikipedia architecture.

N

natural language (English: natural language)
a specific natural language in the wider sense, such as English, Tagalog, or Swahili; see Natural language in Wikipedia.
normal (English: normal)
an extended, easily processable and very uniform way to represent ZObjects in JSON. This is opposed to canonical.
nothing (English: nothing)
a data type that can have no instances; see Bottom type in Wikipedia.

O

object (English: object)
  1. In JavaScript or JSON, an object is basically an associative array; see Associative array in Wikipedia.
  2. In Wikifunctions, synonym of ZObject.
orchestration (English: orchestration)
The action performed by the orchestrator.
orchestrator (English: orchestrator)
a service that takes a ZObject and returns an evaluated version of it. To do this, it will make calls to the wiki for other ZObjects it needs, to the executor to evaluate some function calls, and other services such as Wikidata. See the service documentation. Compare to evaluator and executor.

P

page (English: page)
a part of a wiki. A wiki consists of a number of individual pages, which can be edited independently, have internal links to each other, etc.
parser (English: parser)
a function to convert a string to a ZObject. The opposite of renderer.
pair (English: pair)
a compound ZObject that contains two ZObjects of specific (but arbitrary) type.
Part P1 (English: Part P1)
the part of the development project that deals with creating Wikifunctions. It starts at the beginning of the project and goes on throughout its whole lifetime; see Part P1: Wikifunctions.
Part P2 (English: Part P2)
the part of the development project that deals with creating Abstract Wikipedia. It starts after about a year in the project and goes on throughout the second half of its lifetime; see Part P2: Abstract Wikipedia.
persistent (English: persistent)
a ZObject with a ZID and with its own page in the wiki. Most persistent ZObjects will include values that are ZObjects with no ZID, and are therefore not persistent.
property (English: property)
used to make a statement about an Item in Wikidata's knowledge base; see Property in the Wikidata glossary.

Q

quote (English: quote)
a data structure that is not to be evaluated but kept verbatim.
QID (English: QID)
identifier for an item in Wikidata, comprising the letter "Q" followed by an integer.

R

reading function (English: reading function)
a synonym of parser. A function that converts user text input from a string into a given Type. For example, converting the String "123456" to the Number '123456', or the string "2024-03-12" to the Date '2024', '03', '12'.
reference (English: reference)
an ID denoting the underlying object. For example, the string "Z11" refers to the Type Z11/Monolingual text.
Note Note: This term has a completely different meaning than on Wikidata; see Reference (computer science) in Wikipedia.
renderer (English: renderer) (1)
a function to convert a ZObject to a string. The opposite of parser. (formerly called "linearizer")
renderer (English: renderer) (2)
a function that gets a content and an identifier for a natural language as an input and returns text in that natural language as output, representing the content as concrete text, using knowledge from lexemes.
Note Note: This is a future feature, and the meaning of the term "renderer" in the original proposal; this term collides with the current usage of "renderer", so it may be renamed in the future.
reify (English: reify)
a function that deconstructs an object into its constituent parts so that the parts can be individually accessed; see Reification in Wikipedia; see phab:T261474.
REPL (English: REPL)
a Read / Eval / Print - Loop, a command line interface that takes some input, evaluates it, and displays the result; see REPL in Wikipedia; see Function model.

S

schemata (English: schemata)
See function schemata.
serialization (English: serialization)
Ways to represent ZObjects in JSON; see also canonical, normal.
statement (English: statement)
used to provide knowledge about an Item in Wikidata's knowledge base; see Statement in the Wikidata glossary.
string (English: string)
a sequence of characters.
sum type (English: sum type)
a type that can have instances of any of its constituent types; see Sum type in Wikipedia; see Function model.

T

tail (English: tail)
a list without its first element. Also known as cdr. The first element is known as head or car. See phab:T261474.
template (English: template)
a way to specify a renderer as text interspersed with place-holders, or slots, which can be filled with data from constructors, function calculation, or content from another template. See the document Template Language for Wikifunctions for a detailed discussion of the template syntax.
tester (English: tester)
a way to automatically determine if a given ZFunction is doing the right thing. A function will typically have multiple testers, each specifying some input to the function and conditions the output for the given input must fulfil. For example, testers 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”.
transient (English: transient)
Opposite of persistent.
type (English: type)
The type of an object tells us how to interpret and understand the given object, and what can be done with the object. For example, if we have an object with the value “2023”, depending on whether its type is integer, or year, or string, we understand that object differently. Every object refers to “a thing in the real world”. The integer 2023 is different from the year 2023. The type tells us how to interpret a given object, so that we know which thing in the real world it refers to. Technically, it defines how objects of that type are structured and what conditions they need to fulfill to be a valid object of that type. A type defines the conditions for a ZObject to be a valid instance of this type, by providing a function that validates a ZObject. Types are ZObjects themselves, so that contributors of Wikifunctions can create new types.
type converter (English: type converter)
A script written in some programming language (such as JavaScript), taking a native object (such as BigInt), and returning a JSON object representing the corresponding ZObject; or vice versa.
typed list (English: typed list)
A typed list is a list in which all members of the list are of a specific, predefined type. For example, a typed list of strings is a list in which all members of the list are strings. A typed list takes one argument: the type that all the members of the list have to be an instance of. Typed lists are probably the most widely used generic type.

V

value (English: value)
the string or ZObject associated with a key in another ZObject.
validation (English: validation)
The action performed by the validator.
validator (English: validator)
A function taking a ZObject as argument and return a list of errors found.

W

wiki (English: wiki)
a web site that allows for the easy and collaborative editing of its pages.
Wikidata (English: Wikidata)
a project of the Wikimedia Foundation, a free, collaboratively edited knowledge base; see Wikidata.
Wikifunctions (English: Wikifunctions)
new project of the Wikimedia Foundation; a free, collaboratively developed and maintained catalog of functions. It was initially known as Wikilambda in the original proposal (that name is now used for the WikiLambda extension).
WikiLambda (English: WikiLambda)
the software used to power the project, Extension:WikiLambda.
WikiLambda system (English: WikiLambda system)
an automated system account that is a key part of the WikiLambda extension. See User:WikiLambda system for its current function.
Wikimedia Foundation (English: Wikimedia Foundation)
organization that supports the Wikimedia movement; see Wikimedia Foundation.
Wikipedia (English: Wikipedia)
a project of the Wikimedia Foundation, a free, collaboratively edited encyclopedia; see Wikipedia.
Wikipedia, Abstract (English: Wikipedia, Abstract)
see Abstract Wikipedia.
Wikipedia, multilingual (English: Wikipedia, multilingual)
see multilingual Wikipedia.

Z

ZID (English: ZID)
an ID starting with the letter Z and followed by a natural number. Used to identify persistent ZObjects.
ZFunction (English: ZFunction)
a wiki page on Wikifunctions that describes a particular function that can be used through the evaluator. Each ZFunction can be realised in code by one or more Implementations, and said implementations can be verified as correct by one or more Tester ZFunctions.
ZKey (English: ZKey)
a ZObject defining a key for a particular type.
ZList (English: ZList)
a ZObject for an ordered sequence of other ZObjects.
ZObject (English: ZObject)
every entry in Wikifunctions is a ZObject. ZObjects stored in Wikifunctions have ZIDs and can be of numerous types, such as Constructors, Functions, Types, etc. A ZObject consists of a set of Key/Value pairs, with each Key appearing only once per ZObject and Values being ZObjects.
ZUnit (English: ZUnit)
a ZObject that represents a Unit type.