11. Glossary¶
11.1. Language and runtime¶
- value¶
The primitive unit of data. Can be abbreviated to “val”. See Values.
- embedded properties¶
Data contained in a value not via variables. See Embedded properties.
- variable¶
A pair of the owner value and the symbol, which can have a content value. See Variables.
- owner of the variable¶
- symbol of the variable¶
The Unicode code point sequence of the variable. Can be abbreviated to “sym”. See Variables.
- function symbol¶
A symbol which is accepted by
[a-z_][a-z0-9_?]*. See Variables.- data symbol¶
A symbol which is accepted by
([a-z_][a-z0-9_?]*)?[A-Z][a-zA-Z0-9_?]*. See Variables.- variable-load operation¶
- variable-store operation¶
- variable-symbols operation¶
Three primitive operations about variables. See Variable operations.
- compile¶
Steps to convert a program to a function. Compilation is done by Program.compile. See Language specification for the specification of compilation.
- desugaring¶
A step of compile which transforms a program to its desugared form. See Desugaring.
- desugared form¶
A program made by desugaring. A program in the desugared form can be an input of translation. See Desugaring.
- translation¶
A step of compile which converts a program in the desugared form into abstract instructions. See Translation.
- abstract stack machine¶
An abstract machine which evaluates abstract instruction. See Evaluation.
- abstract instruction¶
An instruction which is evaluated by abstract stack machine. See Evaluation.
- call stack¶
The stack of an abstract stack machine, which consists of a sequence of abstract instructions. See Call stack.
- tail call¶
A function call done at the end of a function call, which is done by tailcall instruction.
- tail call elimination¶
The requirement for the runtime that consecutive tail calls do not cause stack overflow. See tailcall instruction.
- delimited continuation¶
A function to resume the evaluation from an invocation of Kont_tag.shift to the end of an invocation of Kont_tag.reset. Can be abbreviated to “kont”. See kont instruction for the definition.
- host procedure¶
An abstract unit of information to specify a procedure within the host system. See hostcall instruction.
- runtime¶
The runtime is a system which consists of values, executors and other components.
- host system¶
The host system is a system on which the runtime is implemented. Typically, the host system is a Java Virtual Machine.
- module system¶
A subsystem of the runtime which manages modules. See Module system.
- module¶
A value loaded by the module system. Can be abbreviated to “mod”. See Module system.
- module base paths¶
A set of directories where module sources can be placed. See Module base paths.
11.2. Builtin library¶
- function¶
A value of type fun. Can be abbreviated to “fun”.
- variable reference¶
A value of type varref. Can be abbreviated to “varref”.
- vector¶
A value of type vec. Can be abbreviated to “vec”.
- bool¶
- exception¶
A value of type exception, which represents a runtime error.
- delimited continuation tag¶
A value of type kont_tag. See delimit instruction.
11.3. Patterns and conventions¶
- method¶
A function which is stored in a variable of a value, and used to do an operation for the value as the receiver. See Methods.
- constructor¶
A function which creates a new value. See Constructors.
- trait¶
A vec which stores methods and the symbols, which are spreaded as arguments of new_val. See Constructors.
- thunk¶
A function that is not used as a method, and takes no arguments. See Thunks.
- predicate¶
A function that is not used as a method, takes one argument, and returns a bool. See Predicates.
- constant¶
A thunk which returns a same value every time. See Constants.
- continuation¶
A function which is called at the tail of a function call. Don't confuse with delimited continuation. See Continuation.
- continuation passing style¶
Composition of a program where the continuation is passed from the caller. See Continuation.
- kinkdoc¶
API documentation system for Kink programs. See Kinkdoc: API Documentation system.