Jump to content

Wikifunctions:ꯋꯥꯍꯟ-ꯋꯥꯍꯩ

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

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

A

ꯑꯞꯁꯇ꯭ꯔꯦꯛ (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: AbstractText)
prototype implementation of the Wikifunctions idea.
ꯑꯞꯁꯇ꯭ꯔꯦꯛ ꯑꯌꯥꯎꯕꯁꯤꯡ (ꯏꯪꯂꯤꯁ: abstract content)
see content.
ꯑꯕꯁꯇ꯭ꯔꯦꯛ ꯋꯤꯀꯤꯄꯦꯗꯤꯌꯥ (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: alias)
an alternative label for an object, used foremost to find the object.
argument (ꯏꯪꯂꯤꯁ: argument)
an input given to a function call.
argument reference (ꯏꯪꯂꯤꯁ: argument reference)
a reference to one of the supplied arguments within a composition.
array (ꯏꯪꯂꯤꯁ: array)
Many programming languages have an "array" type. The counterparts in Wikifunctions are list and typed list. See also Benjamin array.
ꯋꯥꯔꯦꯡ (ꯏꯪꯂꯤꯁ: article)
a page in the main namespace of Wikipedia, usually representing one entry in Wikipedia.

B

Benjamin array (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: boolean)
a value that can have 2 states, usually denoted true and false.
built-in (ꯏꯪꯂꯤꯁ: 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)
see function call. In English, the term invoke or invocation may also be used.
canonical, canonicalized, canonicalised (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: car)
alternative name of head; see CAR and CDR in Wikipedia. See also cdr.
cdr (ꯏꯪꯂꯤꯁ: cdr)
alternative name for tail; see CAR and CDR in Wikipedia. See also car.
character (ꯏꯪꯂꯤꯁ: character)
a character as defined by Unicode, a constituent of a String; a character can consist of several bytes (or octets).
composition (ꯏꯪꯂꯤꯁ: composition)
a form of implementation of a function, where the implementation is given by the combination of other functions; see Function model.
composition notation (ꯏꯪꯂꯤꯁ: composition notation)
an easy-to-read notation for compositions; see Function model.
concrete (ꯏꯪꯂꯤꯁ: concrete)
in a specific natural language. The opposite of abstract.
cons (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: deserialization)
Opposite of serialization.
development project (ꯏꯪꯂꯤꯁ: development project)
a project to develop Wikifunctions and Abstract Wikipedia; see Abstract Wikipedia plan.
display function (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: documentation)
human-readable text explaining an object.

E

eneyj (ꯏꯪꯂꯤꯁ: eneyj)
  1. prototype model of Wikifunctions;
  2. a JavaScript implementation of an evaluator of that model provided in abstracttext.
ꯑꯔꯥꯟꯕ (ꯏꯪꯂꯤꯁ: error)
a type whose instances indicate problems in evaluation or validation; see Function model.
evaluation (ꯏꯪꯂꯤꯁ: evaluation)
The action performed by the evaluator.
evaluator (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: execution)
The action performed by the executor.
executor (ꯏꯪꯂꯤꯁ: 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

ꯃꯊꯧ (ꯏꯪꯂꯤꯁ: function)
the specification of a computation that takes some input and returns output; see Function (computer science) in Wikipedia.
function call (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: function evaluator)
See evaluator.
function executor (ꯏꯪꯂꯤꯁ: function executor)
See executor.
function model (ꯏꯪꯂꯤꯁ: function model)
see Function model.
function orchestrator (ꯏꯪꯂꯤꯁ: function orchestrator)
See orchestrator.
function schemata (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: generic type)
a type generated by evaluation of a function call.

H

ꯃꯀꯣꯛ (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: instance)
Every ZObject is an instance of its type.
invoke (ꯏꯪꯂꯤꯁ: invoke)
synonym for call in English. See function call.
ꯄꯣꯠꯂꯝ (ꯏꯪꯂꯤꯁ: item)
an entry in Wikidata's knowledge base; see Item in the Wikidata glossary.

J

JSON (ꯏꯪꯂꯤꯁ: JSON)
a widely used data transfer format; see JSON in Wikipedia.

K

key (ꯏꯪꯂꯤꯁ: 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

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

M

ꯂꯣꯟꯃꯌꯥꯝ ꯋꯤꯀꯤꯄꯦꯗꯤꯌꯥ (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: natural language)
a specific natural language in the wider sense, such as English, Tagalog, or Swahili; see Natural language in Wikipedia.
normal (ꯏꯪꯂꯤꯁ: normal)
an extended, easily processable and very uniform way to represent ZObjects in JSON. This is opposed to canonical.
nothing (ꯏꯪꯂꯤꯁ: nothing)
a data type that can have no instances; see Bottom type in Wikipedia.

O

ꯄꯣꯠ (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: orchestration)
The action performed by the orchestrator.
orchestrator (ꯏꯪꯂꯤꯁ: 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)
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 (ꯏꯪꯂꯤꯁ: parser)
a function to convert a string to a ZObject. The opposite of renderer.
pair (ꯏꯪꯂꯤꯁ: pair)
a compound ZObject that contains two ZObjects of specific (but arbitrary) type.
Part P1 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: property)
used to make a statement about an Item in Wikidata's knowledge base; see Property in the Wikidata glossary.

Q

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

R

reading function (ꯏꯪꯂꯤꯁ: 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)
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 (ꯏꯪꯂꯤꯁ: renderer) (1)
a function to convert a ZObject to a string. The opposite of parser. (formerly called "linearizer")
renderer (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: schemata)
See function schemata.
serialization (ꯏꯪꯂꯤꯁ: serialization)
Ways to represent ZObjects in JSON; see also canonical, normal.
statement (ꯏꯪꯂꯤꯁ: statement)
used to provide knowledge about an Item in Wikidata's knowledge base; see Statement in the Wikidata glossary.
string (ꯏꯪꯂꯤꯁ: string)
a sequence of characters.
sum type (ꯏꯪꯂꯤꯁ: sum type)
a type that can have instances of any of its constituent types; see Sum type in Wikipedia; see Function model.

T

tail (ꯏꯪꯂꯤꯁ: tail)
a list without its first element. Also known as cdr. The first element is known as head or car. See phab:T261474.
template (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: transient)
Opposite of persistent.
ꯃꯈꯜ (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: value)
the string or ZObject associated with a key in another ZObject.
validation (ꯏꯪꯂꯤꯁ: validation)
The action performed by the validator.
validator (ꯏꯪꯂꯤꯁ: validator)
A function taking a ZObject as argument and return a list of errors found.

W

ꯋꯤꯀꯤ (ꯏꯪꯂꯤꯁ: wiki)
a web site that allows for the easy and collaborative editing of its pages.
ꯋꯤꯀꯤꯗꯥꯇꯥ (ꯏꯪꯂꯤꯁ: Wikidata)
a project of the Wikimedia Foundation, a free, collaboratively edited knowledge base; see Wikidata.
ꯋꯤꯀꯤꯃꯊꯧ (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: WikiLambda)
the software used to power the project, Extension:WikiLambda.
WikiLambda system (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: Wikimedia Foundation)
organization that supports the Wikimedia movement; see Wikimedia Foundation.
Wikipedia (ꯏꯪꯂꯤꯁ: Wikipedia)
a project of the Wikimedia Foundation, a free, collaboratively edited encyclopedia; see Wikipedia.
Wikipedia, Abstract (ꯏꯪꯂꯤꯁ: Wikipedia, Abstract)
see Abstract Wikipedia.
Wikipedia, multilingual (ꯏꯪꯂꯤꯁ: Wikipedia, multilingual)
see multilingual Wikipedia.

Z

ZID (ꯏꯪꯂꯤꯁ: ZID)
an ID starting with the letter Z and followed by a natural number. Used to identify persistent ZObjects.
ZFunction (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: ZKey)
a ZObject defining a key for a particular type.
ZList (ꯏꯪꯂꯤꯁ: ZList)
a ZObject for an ordered sequence of other ZObjects.
ZObject (ꯏꯪꯂꯤꯁ: 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 (ꯏꯪꯂꯤꯁ: ZUnit)
a ZObject that represents a Unit type.