Wikifunctions:Glossary - Wikifunctions
Jump to content
From Wikifunctions
Translate this page
Other languages:
Bahasa Indonesia
Bahasa Melayu
British English
Igbo
Lëtzebuergesch
Nederlands
Scots
Sunda
Tyap
Türkçe
dagbanli
dansk
galego
hrvatski
italiano
latviešu
polski
português
português do Brasil
svenska
čeština
беларуская
русский
українська
עברית
العربية
پنجابی
हिन्दी
বাংলা
ਪੰਜਾਬੀ
ગુજરાતી
മലയാളം
ไทย
中文(简体)
中文(繁體)
ꯃꯤꯇꯩ ꯂꯣꯟ
한국어
See also
wikt:en:Appendix:Glossary
Feel free to ask for terms on the
talk page
, or to add more terms and improve the definitions.
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
prototype
implementation
of the
Wikifunctions
idea.
Abstract Article
A page in the main namespace of
Abstract Wikipedia
; a page that is similar to a Wikipedia article, but that is
abstract
. The opposite of
concrete article
. ("Abstract" is an adjective here; it
doesn't
mean "a summary of an article".)
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
an alternative label for an object, used foremost to find the object.
argument
an input given to a
function call
argument reference
reference
to one of the supplied arguments within a
composition
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 a
Wikipedia
in a particular language, usually representing one entry in Wikipedia in that language. Unlike an
Abstract Article
, an article is
concrete
, and may also be called "concrete article".
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
a value that can have 2 states, usually denoted true and false.
built-in
a native implementation of a function that is provided by the evaluator and that is not editable through the wiki interface.
call
see
function call
. In English, the term
invoke or invocation
may also be used.
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
character
a character as defined by Unicode, a constituent of a String; a character can consist of several bytes (or octets).
claim
In the
Wikibase data model
, a claim is a main snak plus optional qualifiers, expressing an assertion about an entity (without references or rank).
Example: Entity: Albert Einstein
Claim: Spouse = Mileva Marić, starting in 1903
Main snak: P26 (spouse) → Q937 (Mileva Marić)
Qualifier snak: P580 (start time) → 1903
→ “Albert Einstein’s spouse was Mileva Marić, starting in 1903.”
The claim can later be turned into a statement by adding a reference and rank.
composition
a form of implementation of a function, where the implementation is given by the combination of other functions; see
Function model
composition notation
an easy-to-read notation for compositions; see
Function model
concrete
in a specific
natural language
. The opposite of
abstract
concrete article
See
article
. The opposite of
Abstract Article
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
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
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
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.
deserialization
Opposite of
serialization
development project
a project to develop
Wikifunctions
and
Abstract Wikipedia
; see
Abstract Wikipedia plan
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
human-readable text explaining an object.
eneyj
prototype model of
Wikifunctions
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
The action performed by the
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
The action performed by the
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
function
the specification of a computation that takes some input and returns output; see
Function (computer science)
in Wikipedia.
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
See
evaluator
function executor
See
executor
function model
see
Function model
function orchestrator
See
orchestrator
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
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
generic type
a type generated by
evaluation
of a function call.
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
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
Every ZObject is an instance of its type.
invoke
synonym for
call
in English. See
function call
item
an entry in
Wikidata
's knowledge base; see
Item
in the Wikidata glossary.
JSON
a widely used data transfer format; see
JSON
in Wikipedia.
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
label
main name given to identify a ZObject. May only be plain text.
lexeme
an entry in
Wikidata
storing lexicographic knowledge about, roughly, a word; see
Lexeme
in the Wikidata glossary.
linearizer
(this term is no longer used in current terminology, but can still be found in older documents) synonym of
renderer
(1).
list
a data type that groups an arbitrary number of instances in an ordered entity; see
List (abstract data type)
in Wikipedia.
literal
a value that is not a ZObject. Currently the only accepted literal is string.
local Wikipedia
Wikipedia
in a specific language, such as Hebrew Wikipedia, Japanese Wikipedia, or Italian Wikipedia.
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
natural language
a specific natural language in the wider sense, such as English, Tagalog, or Swahili; see
Natural language
in Wikipedia.
normal
an extended, easily processable and very uniform way to represent
ZObjects
in
JSON
. This is opposed to
canonical
nothing
a data type that can have no instances; see
Bottom type
in Wikipedia.
object
In JavaScript or JSON, an object is basically an associative array; see
Associative array
in Wikipedia.
In Wikifunctions, synonym of
ZObject
orchestration
The action performed by the
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
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
a function to convert a string to a ZObject. The opposite of
renderer
pair
a compound ZObject that contains two ZObjects of specific (but arbitrary) type.
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
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
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
used to make a
statement
about an
Item
in
Wikidata
's knowledge base; see
Property
in the Wikidata glossary.
quote
a data structure that is not to be evaluated but kept verbatim.
QID
identifier for an item in
Wikidata
, comprising the letter "Q" followed by an integer.
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
This term has a completely different meaning than on Wikidata; see
Reference (computer science)
in Wikipedia.
renderer
(1)
a function to convert a ZObject to a string. The opposite of
parser
. (formerly called "linearizer")
renderer
(2)
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
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
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
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
schemata
See
function schemata
serialization
Ways to represent
ZObjects
in
JSON
; see also
canonical
normal
snak
In the
Wikibase data model
, a snak is the smallest unit of a statement, linking a property to either a value, “no value”, or “some value.”
Example
statement
for
Albert Einstein
(Q937)
with 3 snaks:
Main snak:
Property:
spouse
(P26)
→ Value:
Mileva Marić
(Q76346)
Qualifier snak (adds context):
Property:
start time
(P580)
→ Value: 1903
Reference snak (supports the claim):
Property:
stated in
(P248)
→ Value:
Catalog of the German National Library
(Q23833686)
Resulting statement (in words): “Albert Einstein’s spouse was Mileva Marić, starting in 1903, as stated in the Catalog of the German National Library.”
statement
used to represent an assertion about an
Item
from
Wikidata
's knowledge base; see
Statement
in the Wikidata glossary (but note that a “claim” without
references
is still represented as a
Wikidata statement (
Z6003
).
string
a sequence of characters.
sum type
a type that can have instances of any of its constituent types; see
Sum type
in Wikipedia; see
Function model
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
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
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
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
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
value
the string or
ZObject
associated with a
key
in another ZObject.
validation
The action performed by the
validator
validator
A function taking a ZObject as argument and returning a list of errors found.
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
the software used to power the project,
Extension:WikiLambda
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
organization that supports the Wikimedia movement; see
Wikimedia Foundation
Wikipedia
a project of the
Wikimedia Foundation
, a free, collaboratively edited encyclopedia; see
Wikipedia
Wikipedia, Abstract
see
Abstract Wikipedia
Wikipedia, multilingual
see
multilingual Wikipedia
ZID
an ID starting with the letter Z and followed by a natural number. Used to identify
persistent
ZObjects
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
ZObject
defining a
key
for a particular
type
ZList
ZObject
for an ordered sequence of other ZObjects.
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
ZObject
that represents a
Unit type
Retrieved from "
Category
Glossary
Wikifunctions
Glossary
Add topic
US