quarb 0.41.0

Query engine for arbors (arboreal graphs - tree-spanned or tree-dominated graphs)
Documentation
# langspec/commands.tsv — the command inventory of the built-in library (and the model for every command library).
# One row per command. Columns (tab-separated):
#   name      the command's name as written in a query
#   library   the prefix of its library; empty = the built-in library
#   pipes     the pipes it rides: | @| $| (space-separated)
#   synopsis  the call forms, ' / '-separated: substr(a..b) / substr(n)
#   kind      the registry kind: scalar reducing context keyed assoc rendering both
#   typed     the signature(s), ';'-separated, 'in → out': text number int float bool quantity(D) instant duration period
#             list(T) record table node reference null value; the input is what the command receives on stdin: the topic after |
#             or the list of all topics after @|; 'T…' after → = several results, one thread each
#   onnull    the result on a null topic: null (the default, left out of the appendix), 'no thread' (an expander forks the thread into one per result and a null topic forks it into none), unchanged, or the value
#   en / ru   the one-line description, English and Russian
#   note_en / note_ru  coercions, pass-through, refusals and edges, one sentence each
#   anchor    the spec label of the section that discusses the command
#   issues    internal: behaviour that looks inconsistent, to be raised; not rendered
name	library	pipes	synopsis	kind	typed	onnull	en	ru	note_en	note_ru	anchor	issues
upper		|	upper	scalar	value → text	null	the text in upper case	текст в верхнем регистре	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
lower		|	lower	scalar	value → text	null	the text in lower case	текст в нижнем регистре	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
title		|	title	scalar	value → text	null	the text with each word's first letter in upper case and the rest in lower	текст, в котором первая буква каждого слова прописная, остальные строчные	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
trim		|	trim	scalar	value → text	null	the text without leading and trailing whitespace	текст без начальных и конечных пробельных символов	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
ltrim		|	ltrim	scalar	value → text	null	the text without leading whitespace	текст без начальных пробельных символов	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
rtrim		|	rtrim	scalar	value → text	null	the text without trailing whitespace	текст без конечных пробельных символов	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
alpha		|	alpha / alpha(keep)	scalar	value → text	null	the letters of the text, every other character turned into a space	буквы текста, каждый прочий символ заменён пробелом	keep names extra characters to keep, alpha("’") for apostrophes; a class, not a parser	keep называет дополнительные символы, которые сохраняются, alpha("’") для апострофов; это класс, а не парсер	sec:value-commands	
digit		|	digit / digit(keep)	scalar	value → text	null	the digits of the text, every other character turned into a space	цифры текста, каждый прочий символ заменён пробелом	digit(".,-") keeps decimals and signs; the kept text becomes a number by the numeric coercion	digit(".,-") сохраняет десятичные знаки и знаки чисел; сохранённый текст становится числом через числовое приведение	sec:value-commands	
alnum		|	alnum / alnum(keep)	scalar	value → text	null	the letters and digits of the text, every other character turned into a space	буквы и цифры текста, каждый прочий символ заменён пробелом	alnum("-") keeps hyphenated words	alnum("-") сохраняет слова через дефис	sec:value-commands	
cc		|	cc	scalar	value → int	null	the count of codepoints	число кодовых точек	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
gc		|	gc	scalar	value → int	null	the count of grapheme clusters (UAX #29), what the eye counts	число графемных кластеров (UAX #29), то, что считает глаз	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
bc		|	bc	scalar	value → int	null	the count of UTF-8 bytes	число байтов UTF-8	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
wc		|	wc	scalar	value → int	null	the count of words	число слов	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
lc		|	lc	scalar	value → int	null	the count of lines	число строк	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
sc		|	sc	scalar	value → int	null	the count of sentences (UAX #29)	число предложений (UAX #29)	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
lines		|	lines	scalar	text → text…	no thread	the lines of the text, one thread each	строки текста, по нити на каждую	expands: the thread forks once per line	разветвляет: нить расходится по одной на строку	sec:value-commands	
words		|	words	scalar	text → text…	no thread	the whitespace-separated words of the text, one thread each	слова текста, разделённые пробельными символами, по нити на каждое	expands; | lower | alpha | words is a tokenizer	разветвляет; | lower | alpha | words — токенизатор	sec:value-commands	
sentences		|	sentences	scalar	text → text…	no thread	the sentences of the text (UAX #29), one thread each, under the session's sentence bonds	предложения текста (UAX #29), по нити на каждое, с учётом связок предложений сессии	expands; segments trimmed, empties dropped; abbreviations need a bond file (--desm)	разветвляет; сегменты обрезаны, пустые отброшены; сокращениям нужен файл связок (--desm)	sec:value-commands	
ngrams		| @|	ngrams / ngrams(n)	both	text → text…; list(T) → list(text)	no thread	the n-word windows of the text joined by one space, one thread each; as an aggregate, the adjacent n-windows of the stream, full windows only	окна по n слов текста, соединённые одним пробелом, по нити на каждое; как агрегат — соседние окна по n элементам потока, только полные	n defaults to 2; a text shorter than n yields nothing; a window never straddles two values of a spread	n по умолчанию 2; текст короче n не даёт ничего; окно никогда не пересекает два значения спреда	sec:value-commands	
tokens		|	tokens / tokens(class)	scalar	text → text…	no thread	the corpus reading's tokens of the text, one thread each: words, numbers and punctuation alike	токены корпусного прочтения, по нити на каждый: слова, числа и пунктуация равно	expands; tokens(word), tokens(number), tokens(punct) keep one class; the tokenizer a corpus mount uses	разветвляет; tokens(word), tokens(number), tokens(punct) оставляют один класс; тот же токенизатор, что у монтирования corpus	sec:value-commands	
levenshtein		|	levenshtein(other) / levenshtein(a; b)	scalar	text, text → int	null	the edit distance to the argument, in codepoints: insertions, deletions and substitutions at one each	расстояние редактирования до аргумента, в кодовых точках: вставки, удаления и замены по единице	a null topic or a null other gives null	null в топике или в other даёт null	sec:value-commands	
jaro_winkler		|	jaro_winkler(other) / jaro_winkler(a; b)	scalar	text, text → float	null	the Jaro–Winkler similarity to the argument, from 0 to 1, with the standard prefix bonus	сходство Джаро — Винклера с аргументом, от 0 до 1, со стандартной премией за префикс	a null other gives null; the measure of record linkage for names	null в качестве other даёт null; мера связывания записей для имён	sec:value-commands	
casefold		|	casefold	scalar	value → text	null	Unicode case folding, the full mapping where lower is the simple one: Straße becomes strasse, a final sigma folds	свёртка регистра Unicode, полное отображение там, где lower — простое: Straße становится strasse, конечная сигма сворачивается	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
deaccent		|	deaccent / deaccent(lang)	scalar	value → text	null	the text without the marks a language counts as accents, its letters kept; bare, every combining mark removed (= strip)	текст без знаков, которые язык считает акцентами, буквы сохранены; без аргумента — без всех комбинируемых знаков (= strip)	refused for a language without an accent table	отвергается для языка без таблицы акцентов	sec:script-commands	
strip		|	strip	scalar	value → text	null	the text without any combining mark	текст без всех комбинируемых знаков	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:script-commands	
stem		|	stem(lang)	scalar	text → text	null	the Snowball stem of each word of the text under the named language: running quickly becomes run quick	основа Snowball каждого слова текста под названным языком: running quickly становится run quick	refused for a language the stemmer lacks, naming the eighteen it ships; casefold comes before it	отвергается для языка, которого нет у стеммера, с перечнем восемнадцати поставляемых; casefold идёт перед ним	sec:value-commands	
s		|	s/pattern/replacement/mods	scalar	value → text	null	regex substitution: the first occurrence, g every one; the mods g i m s x as in the pattern literal; $1 captures in the replacement	подстановка по регулярному выражению: первое вхождение, g — все; модификаторы g i m s x как в литерале шаблона; захваты $1 в замене	takes the text coercion of any value, a structure by its output form	берёт текстовое приведение любого значения, структуру — в её форме вывода	sec:value-commands	
split		|	split / split(sep)	scalar	text → text…	no thread	the pieces between a separator, whitespace unless given, one thread each	куски между разделителями, пробельными по умолчанию, по нити на каждый	expands	разветвляет	sec:value-commands	
substr		|	substr(a..b) / substr(n)	scalar	text → text	null	the codepoints of a 1-based inclusive range, negative counting from the end; a bare position one character	кодовые точки диапазона с отсчётом от 1 включительно, отрицательные — от конца; одна позиция — один символ	out of range clamps, a crossed range is empty; 0 refuses, it is no position	выход за границы обрезается, перекрёстный диапазон пуст; 0 отвергается, это не позиция	sec:value-commands	
pad		|	pad(n) / pad(n; fill)	scalar	text → text	null	the text padded to n grapheme cells, centered, with spaces or the fill text repeated and cut to fit	текст, дополненный до n графемных ячеек, по центру, пробелами или текстом fill, повторённым и обрезанным по месту	text already wide enough passes untouched; the odd extra cell falls right	достаточно широкий текст проходит нетронутым; лишняя нечётная ячейка уходит вправо	sec:value-commands	
lpad		|	lpad(n) / lpad(n; fill)	scalar	text → text	null	the text padded on the left to n grapheme cells	текст, дополненный слева до n графемных ячеек	lpad(n; "0") is the SQL shape; wide enough text passes untouched	lpad(n; "0") — форма SQL; достаточно широкий текст проходит нетронутым	sec:value-commands	
rpad		|	rpad(n) / rpad(n; fill)	scalar	text → text	null	the text padded on the right to n grapheme cells	текст, дополненный справа до n графемных ячеек	wide enough text passes untouched	достаточно широкий текст проходит нетронутым	sec:value-commands	
repeat		|	repeat(n)	scalar	text → text	null	the text n times, 0 the empty string	текст n раз, 0 — пустая строка	a negative n is null; "a" * 3 stays arithmetic, never concatenation	отрицательное n даёт null; "a" * 3 остаётся арифметикой, а не конкатенацией	sec:value-commands	
indent		|	indent(n) / indent(n; unit)	scalar	text → text	null	every line of the text behind n copies of two spaces, or of the unit	каждая строка текста за n копиями двух пробелов или заданной единицы	a null or negative n indents by nothing	null или отрицательное n не делает отступа	sec:value-commands	
default		|	default(v)	scalar	value → value	v	the argument where the topic is null, else the topic unchanged	аргумент там, где топик null, иначе топик без изменений	the expression form of the null-default operator a ?? b	форма команды для оператора null-умолчания a ?? b	sec:value-commands	
round		|	round / round(d)	scalar	number → int; number → float with d; quantity(D) → quantity(D)	null	the number rounded to an integer, or to d decimal places (negative d reaching left of the point), a quantity rounded in its written unit	число, округлённое до целого или до d десятичных знаков (отрицательное d — влево от запятой), величина — в её записанной единице	round(d) answers a float, round(0) included; the sanctioned finisher for presenting float arithmetic; a value with no numeric coercion is null	round(d) отвечает float, включая round(0); узаконенный финишёр для показа арифметики с плавающей точкой; значение без числового приведения — null	sec:value-commands	
floor		|	floor	scalar	number → int	null	the number rounded down	число, округлённое вниз	over the numeric coercion of the topic	над числовым приведением топика	sec:value-commands	
ceil		|	ceil	scalar	number → int	null	the number rounded up	число, округлённое вверх	over the numeric coercion of the topic	над числовым приведением топика	sec:value-commands	
abs		|	abs	scalar	number → number; quantity(D) → quantity(D)	null	the absolute value, a quantity's in its written unit	модуль числа, у величины — в её записанной единице	over the numeric coercion of the topic	над числовым приведением топика	sec:value-commands	
log		|	log / log(b) / log(x; b)	scalar	number → float	null	the natural logarithm, or to the base b	натуральный логарифм или по основанию b	a non-positive argument is null; the expression form takes the operand first	неположительный аргумент даёт null; форма выражения берёт операнд первым	sec:value-commands	
log2		|	log2	scalar	number → float	null	the binary logarithm	двоичный логарифм	a non-positive argument is null	неположительный аргумент даёт null	sec:value-commands	
log10		|	log10	scalar	number → float	null	the decimal logarithm	десятичный логарифм	a non-positive argument is null	неположительный аргумент даёт null	sec:value-commands	
exp		|	exp	scalar	number → float	null	e to the power of the number	e в степени числа	an overflow is null	переполнение даёт null	sec:value-commands	
sqrt		|	sqrt	scalar	number → float	null	the square root	квадратный корень	a negative argument is null	отрицательный аргумент даёт null	sec:value-commands	
pow		|	pow(y) / pow(x; y)	scalar	number, number → number	null	the number to the power y: an integer raised to a non-negative integer stays an integer while it fits, else a float	число в степени y: целое в неотрицательной целой степени остаётся целым, пока помещается, иначе float	an overflow is null	переполнение даёт null	sec:value-commands	
loglik		|	loglik(n_a; b; n_b) / loglik(a; n_a; b; n_b)	scalar	int, int, int, int → float	null	Dunning's log-likelihood keyness G² of a word seen a times in n_a tokens against b times in n_b, signed positive where the first corpus over-represents it	кейнесс G² Даннинга для слова, встреченного a раз на n_a токенов против b раз на n_b, со знаком плюс там, где первый корпус его переупотребляет	on the pipe the topic is a; a count above its total, an empty corpus or a word absent from both is null	на пайпе топик — a; счёт выше своего итога, пустой корпус или слово, отсутствующее в обоих, дают null	sec:value-commands	
chi2		|	chi2(n_a; b; n_b) / chi2(a; n_a; b; n_b)	scalar	int, int, int, int → float	null	Pearson's χ² keyness on the same 2×2 table as loglik, signed the same way	кейнесс χ² Пирсона на той же таблице 2×2, что у loglik, с тем же знаком	as loglik	как loglik	sec:value-commands	
mi		|	mi(f_x; f_y; n) / mi(f_xy; f_x; f_y; n)	scalar	int, int, int, int → float	null	pointwise mutual information of a pair seen f_xy times whose words are seen f_x and f_y times in n tokens	поточечная взаимная информация пары, встреченной f_xy раз, слова которой встречены f_x и f_y раз на n токенов	on the pipe the topic is f_xy; a zero count or size, or a pair seen more often than one of its words, is null	на пайпе топик — f_xy; нулевой счёт или размер, или пара чаще одного из своих слов, дают null	sec:value-commands	
t_score		|	t_score(f_x; f_y; n) / t_score(f_xy; f_x; f_y; n)	scalar	int, int, int, int → float	null	the t-score of a collocation	t-оценка коллокации	as mi; tscore is the same command	как mi; tscore — та же команда	sec:value-commands	
tscore		|	tscore(f_x; f_y; n)	scalar	int, int, int, int → float	null	t_score, the same command without the underscore	t_score, та же команда без подчёркивания			sec:value-commands	
log_dice		|	log_dice(f_x; f_y) / log_dice(f_xy; f_x; f_y)	scalar	int, int, int → float	null	logDice of a collocation, 14 + log₂(2f_xy / (f_x + f_y)), at most 14, needing no corpus size	logDice коллокации, 14 + log₂(2f_xy / (f_x + f_y)), не больше 14, без размера корпуса	as mi; logdice is the same command	как mi; logdice — та же команда	sec:value-commands	
logdice		|	logdice(f_x; f_y)	scalar	int, int, int → float	null	log_dice, the same command without the underscore	log_dice, та же команда без подчёркивания			sec:value-commands	
dice		|	dice(f_x; f_y) / dice(f_xy; f_x; f_y)	scalar	int, int, int → float	null	the Dice coefficient of a collocation, 2f_xy / (f_x + f_y), from 0 to 1	коэффициент Дайса коллокации, 2f_xy / (f_x + f_y), от 0 до 1	as mi	как mi	sec:value-commands	
haversine		|	haversine(lon1; lat2; lon2) / haversine(lat1; lon1; lat2; lon2)	scalar	number, number, number, number → float	null	the great-circle distance between two points in kilometres, on a sphere of 6371 km	расстояние по дуге большого круга между двумя точками в километрах, на сфере 6371 км	on the pipe the topic is the first latitude; a missing coordinate is null	на пайпе топик — первая широта; отсутствующая координата даёт null	sec:value-commands	
nfc		|	nfc	scalar	value → text	null	the text in Unicode normalization form C	текст в форме нормализации Unicode C	composes what has a letter (и + U+0306 becomes й); a stressed Cyrillic vowel keeps its two codepoints	составляет то, у чего есть буква (и + U+0306 становится й); ударная кириллическая гласная сохраняет две кодовые точки	sec:value-commands	
nfd		|	nfd	scalar	value → text	null	the text in Unicode normalization form D	текст в форме нормализации Unicode D			sec:value-commands	
vowels		|	vowels / vowels(alphabet)	scalar	text → int	null	the count of vowel letters of the word, Cyrillic and Latin, case-folded	число гласных букв слова, кириллических и латинских, без учёта регистра	the argument names the vowel alphabet	аргумент называет алфавит гласных	sec:value-commands	
stress		|	stress(n) / stress(n; alphabet)	scalar	text → text	null	the word with the acute (U+0301) after its n-th vowel, 1-based, negative from the end	слово с акутом (U+0301) после n-й гласной, отсчёт от 1, отрицательные — от конца	a word with fewer vowels is null; 0 refuses; a marked vowel stays; ё counts and is never marked	слово с меньшим числом гласных даёт null; 0 отвергается; уже помеченная гласная остаётся; ё считается и не помечается	sec:value-commands	
stress_at		|	stress_at	scalar	text → int	null	the ordinal of the stressed vowel read back from a marked form: the vowel before the acute, else a ё, else the one vowel of a monosyllable	порядковый номер ударной гласной, прочитанный из помеченной формы: гласная перед акутом, иначе ё, иначе единственная гласная односложного слова	null when nothing decides	null, когда ничто не решает	sec:value-commands	
unstress		|	unstress	scalar	text → text	null	the word without the acute and the grave	слово без акута и грависа			sec:value-commands	
accent		|	accent(style)	scalar	text → text	null	a marked form rendered in a display convention: "acute" (as stored), "upper" (the stressed vowel in capitals, замОк), "apostrophe" (замо'к), "none"	помеченная форма в условном показе: "acute" (как хранится), "upper" (ударная гласная прописной, замОк), "apostrophe" (замо'к), "none"	the data keeps the acute; display is a function of it; an unknown style is refused naming the four	данные хранят акут; показ — функция от него; неизвестный стиль отвергается с перечнем четырёх	sec:value-commands	
translit		|	translit / translit(table)	scalar	value → text	null	the text transliterated under a named table, the script's ISO table by default	текст, транслитерированный по названной таблице, по умолчанию — таблица ISO для письменности	refused for an unknown table, naming the tables; the tables and their standards in the Transliteration appendix	отвергается для неизвестной таблицы с перечнем таблиц; таблицы и их стандарты — в приложении о транслитерации	sec:script-commands	
modernize		|	modernize(table)	scalar	value → text	null	a historical spelling folded to the modern one, letter by letter, case kept: ru-1918 (the pre-reform Russian alphabet) and long-s (early-modern Latin typography)	историческое написание, сведённое к современному побуквенно, с сохранением регистра: ru-1918 (дореформенная русская азбука) и long-s (раннее новоевропейское латинское письмо)	typography, not orthography; an unknown table refuses	типографика, а не орфография; неизвестная таблица отвергается	sec:value-commands	
sha256		|	sha256	scalar	value → text	null	the SHA-256 digest of the text's UTF-8 bytes, as lowercase hex	дайджест SHA-256 байтов UTF-8 текста, строчным hex	one-way: decode(sha256) is a parse error	односторонний: decode(sha256) — ошибка разбора	sec:value-commands	
base64		|	base64	scalar	value → text	null	the text's bytes in base64, padded (RFC 4648)	байты текста в base64 с дополнением (RFC 4648)			sec:value-commands	
base64url		|	base64url	scalar	value → text	null	the text's bytes in URL-safe base64, unpadded, the JWT convention	байты текста в URL-безопасном base64 без дополнения, по соглашению JWT			sec:value-commands	
base32		|	base32	scalar	value → text	null	the text's bytes in base32, padded (RFC 4648)	байты текста в base32 с дополнением (RFC 4648)			sec:value-commands	
crockford32		|	crockford32	scalar	value → text	null	the text's bytes in Crockford's base32, the transcription-safe alphabet without I, L, O, U, unpadded	байты текста в base32 Крокфорда, алфавите без I, L, O, U, безопасном для переписывания, без дополнения			sec:value-commands	
hex		|	hex	scalar	value → text	null	the text's bytes in hexadecimal	байты текста в шестнадцатеричной записи			sec:value-commands	
decode		|	decode(scheme) / decode(fmt)	scalar	text → text with a scheme; text → value with a format	null	the text decoded from base64, base64url, base32, crockford32 or hex, each lenient; or parsed from json, yaml, toml or xml into a value	текст, декодированный из base64, base64url, base32, crockford32 или hex, каждый снисходительно; или разобранный из json, yaml, toml или xml в значение	malformed input, or bytes that are not UTF-8, is null; a JSON object becomes a record, an array a list; decode(sha256) is a parse error; the value composes with the spread and $|	испорченный вход или байты не в UTF-8 дают null; объект JSON становится записью, массив — списком; decode(sha256) — ошибка разбора; значение сочетается со спредом и $|	sec:value-commands	
dec		|	dec(scheme)	scalar	text → text	null	decode, the short name	decode, короткое имя			sec:value-commands	
quantity		|	quantity	scalar	text → quantity(D)	null	the unit text read as a quantity, the cast of the quantity coercion	текст с единицей, прочитанный как величина, — приведение-каст для величин	text that is no quantity is null; a quantity passes through	текст, не являющийся величиной, даёт null; величина проходит как есть	sec:quantity-commands	
convert		|	convert(U)	scalar	quantity(D) → quantity(D)	null	the quantity re-expressed in the compatible unit U, the base magnitude untouched	величина, перевыраженная в совместимой единице U, базовая магнитуда не тронута	a dimension mismatch or a non-quantity topic is null; an unknown U is refused naming the nearest units; an opaque factor must be the same on both sides	несовпадение размерности или топик-невеличина дают null; неизвестная U отвергается с указанием ближайших единиц; непрозрачный множитель должен совпадать по обе стороны	sec:quantity-commands	
unit		|	unit / unit(U)	scalar	quantity → text; number → quantity with U; quantity → quantity with U	null	bare, the written unit of the quantity as unit text; with U, a number given the unit, a quantity converted to it	без аргумента — записанная единица величины как текст единицы; с U — число, получившее единицу, или величина, преобразованная в неё	a bare number has no unit, null; an unknown U is refused as in convert	у голого числа единицы нет, null; неизвестная U отвергается, как в convert	sec:quantity-commands	
magnitude		|	magnitude / magnitude(U)	scalar	quantity → number	null	the number of the quantity in its written unit, or in U	число величины в её записанной единице или в U	a non-quantity is null; an unknown U is refused as in convert	невеличина даёт null; неизвестная U отвергается, как в convert	sec:quantity-commands	
scale		|	scale / scale(binary)	scalar	quantity(D) → quantity(D)	null	the quantity in the thousand-step prefix of its unit that brings the magnitude to one or above: 1400000_B is 1.4_MB; a duration walks s, min, h, d	величина в тысячном префиксе своей единицы, при котором магнитуда не меньше единицы: 1400000_B — это 1.4_MB; длительность идёт по лестнице s, min, h, d	display-only; a unit that takes no prefix stays; scale(binary) steps the binary prefixes of information	только для показа; единица без префиксов остаётся; scale(binary) идёт по двоичным префиксам информации	sec:quantity-commands	
exchange		|	exchange(RATES) / exchange(RATES; TARGET)	scalar	quantity, record → quantity	null	the currency conversion by a rates record whose keys are currencies and values quantities in another: %(EUR = 1.23 USD); direct entry first, inverse second, the shortest chain last	обмен валюты по записи курсов, ключи которой — валюты, а значения — величины в другой: %(EUR = 1.23 USD); сначала прямая запись, затем обратная, затем кратчайшая цепочка	a record of several entries needs TARGET or is refused; a topic without exactly one named factor, or a rate the record does not reach, is null; nothing is looked up elsewhere	запись из нескольких статей требует TARGET, иначе отвергается; топик без ровно одного названного множителя или недостижимый курс дают null; ничего не ищется снаружи	sec:quantity-commands	
dfmt		|	dfmt / dfmt(LOCALE) / dfmt(iso)	scalar	duration → text	null	the duration as mixed span text, 1h 30min, in a locale's designations, or ISO 8601 with iso	длительность как смешанный интервал, 1h 30min, в обозначениях локали или ISO 8601 при iso	a non-duration is null	недлительность даёт null	sec:quantity-commands	
dimension		|	dimension	scalar	quantity → text; table → list(text)	null	the dimension of the quantity over the base dimensions: L/T for a speed, EUR/M for a price per mass, 1 for a ratio	размерность величины над базовыми размерностями: L/T для скорости, EUR/M для цены за массу, 1 для отношения	a non-quantity is null; on a table one entry per column in header order	невеличина даёт null; на таблице по записи на колонку в порядке заголовка	sec:quantity-commands	
@		| @|	| @ / @| @	both	record(list) → record…; opaque → record…; list(T) → list(record)	no thread	the row reading: a record of lists as one record per position, a library value as its rows	чтение по строкам: запись списков как по записи на позицию, библиотечное значение — как его строки	the bare constructor reading stdin (not a command); written spaced before another pipe, | @ | …; rows is its name	голый конструктор, читающий stdin (не команда); перед следующим пайпом пишется через пробел, | @ | …; rows — её имя	sec:tables-reshapes	
%		| @|	| % / @| %	both	list(record) → record(list); opaque → record(list)	null	the column reading: a list of records as one record of lists keyed by field, a library value as its columns	чтение по колонкам: список записей как одна запись списков по полям, библиотечное значение — как его колонки	the bare constructor reading stdin (not a command); null where a record lacks the field; columns is its name	голый конструктор, читающий stdin (не команда); null там, где у записи нет поля; columns — её имя	sec:tables-reshapes	
#		| @|	| # / @| # / #(--width=n) / #(--header=list) / #(--header=record)	both	list → table; list(record) → table; list(node) → table; list(list) → table	null	the table reading: a list of records as a frame, a list of lists as an array, a list of values as a sample; the stream built into one table	чтение как таблица: список записей — фрейм, список списков — массив, список значений — выборка; поток, собранный в одну таблицу	the bare constructor reading stdin (not a command); options stand alone in the parenthesis, never beside an item: --width=n (-w=n) lays the items in rows of n, --header=list (-h=list) names the columns; --header=record (-h=record) names and types them, every cell of a declared column cast to its type (a cell that does not cast refuses naming the column and the first offending row; a declared column the data lacks refuses; undeclared columns are inferred; the record's order is the column order); the frame's header is the union of the fields in first-seen order; nodes give the records of their properties	голый конструктор, читающий stdin (не команда); опции стоят в скобках одни, без элементов рядом: --width=n (-w=n) кладёт элементы строками по n, --header=list (-h=list) именует столбцы; --header=record (-h=record) именует и типизирует их: каждая ячейка объявленного столбца приводится к его типу (ячейка, которая не приводится, отказывает, называя столбец и первую такую строку; объявленный столбец, которого нет в данных, отказывает; необъявленные столбцы выводятся; порядок записи — порядок столбцов);  именует столбцы; заголовок фрейма — объединение полей в порядке первого появления; узлы дают записи своих свойств	sec:tables-reshapes	
rows		| @|	rows	both	as @	no thread	the row reading of a table or a library value, the name of | @	чтение по строкам таблицы или библиотечного значения, имя для | @			sec:tables-reshapes	
columns		| @|	columns	both	as %	null	the column reading of a table or a library value, the name of | %	чтение по колонкам таблицы или библиотечного значения, имя для | %			sec:tables-reshapes	
header		| @|	header	both	table → record; list(record) → record	null	a table's header as a record, the column names as keys and the column types (the words type answers) as values; on a list of records the union of their names in order of first appearance with the least coercible type of each; keys answers the names alone, type the types alone	заголовок таблицы как запись: имена столбцов — ключи, типы столбцов (слова, которыми отвечает type) — значения; на списке записей объединение имён в порядке первого появления с наименьшим приводимым типом каждого; одни имена отвечает keys, одни типы — type	null on the array face; :::header is the projection form on a record or a table	null на безымянной стороне (массиве); :::header — форма проекции на записи или таблице	sec:tables-reshapes	
dim		| @|	dim	both	table → list(int)	null	a table's shape, @(rows; columns)	форма таблицы, @(строк; колонок)	:::dim is the projection form on a record or a table, :::nrows and :::ncols its two numbers	:::dim — форма проекции на записи или таблице, :::nrows и :::ncols — его два числа	sec:tables-reshapes	
keys		| @|	keys	both	record → list(text); table → list(text); list(record) → list(list<text)>	null	a record's field names as a list, in order; a table's column names; on a list of records one list per record	имена полей записи списком, по порядку; имена столбцов таблицы; на списке записей — по списку на запись	:::keys is the projection form on a record or a table	:::keys — форма проекции на записи или таблице	sec:tables-reshapes	
fields		| @|	fields	both	record → list(projection); table → list(projection); node → list(projection); list(record) → list(projection)	null	the field projections of the topic as projection values: a record's fields @(:a; :b), a table's columns @(:name; :age) (by position on a headerless table), a node's core fields as :fields has them; over a stream of records the union of their fields in first-seen order	проекции полей топика значениями-проекциями: поля записи @(:a; :b), столбцы таблицы @(:name; :age) (по позициям без заголовка), поля ядра узла, как их даёт :fields; над потоком записей — объединение их полей в порядке первого появления	where keys and header answer the names as text, fields answers how to reach them; a projection value prints as written (::title) and coerces to text as the bare key; :::fields is the projection form on a record or a table (on a node :fields)	там, где keys и header отвечают именами как текстом, fields отвечает тем, как до них добраться; значение-проекция печатается как пишется (::title) и приводится к тексту как голый ключ; :::fields — форма проекции на записи или таблице (на узле :fields)	sec:tables-reshapes	
project		|	project(expr) / project(expr; --record)	expression	value → value	null	the operand evaluated on the cursor with every projection value in it, at any depth of lists, records and tables, replaced by its reading on the same cursor, other values kept: a projection alone → its value, @(:id; 1) → @(17; 1), %(n = :name; fixed = 1) → %(n = "x"; fixed = 1); project(:fields) reads every core field, project(:meta) every declared metadatum, project($.cols) a projection map held as data	операнд, вычисленный на курсоре, в котором каждое значение-проекция на любой глубине списков, записей и таблиц заменено своим чтением на том же курсоре, остальные значения сохранены: проекция сама по себе → её значение, @(:id; 1) → @(17; 1), %(n = :name; fixed = 1) → %(n = "x"; fixed = 1); project(:fields) читает все поля ядра, project(:meta) — все объявленные метаданные, project($.cols) — карту проекций, которую держат как данные	--record (-r) turns a list of projections into the record keyed by their bare keys (a duplicate bare key refuses; -r on a record or a scalar refuses); project(:props; -r) is what | % on a node abbreviates; a table from a stream of such records is @| # as ever	--record (-r) превращает список проекций в запись с ключами — их голыми ключами (повтор голого ключа отвергается; -r на записи или скаляре отвергается); project(:props; -r) — то, что сокращает | % на узле; таблица из потока таких записей — @| #, как и всегда	sec:projection-values	
values		| @|	values	both	record → list; table → table; list(record) → list(list)	null	a record's values as a list, in order; a table's rows as a headerless table, columns and types kept	значения записи списком, по порядку; строки таблицы как таблица без заголовка, с сохранением колонок и типов			sec:tables-reshapes	
flatten		| @|	flatten / flatten(n)	both	list → list; table → list; list(list) → list(T)	unchanged	every nested list opened to any depth, scalars and nulls kept in order; flatten(n) opens n levels; a table's cells row by row as one list	каждый вложенный список раскрыт на любую глубину, скаляры и null сохранены по порядку; flatten(n) раскрывает n уровней; ячейки таблицы построчно одним списком	a record is refused by kind; any other value passes through; over a stream of lists the items come one row each	запись отвергается по роду; любое другое значение проходит как есть; над потоком списков элементы идут по одному на строку	sec:tables-reshapes	
type		| @|	type	both	value → text; table → list(text)	"null"	the type of the topic as one word: bool, int, float, text, null, instant, duration, period, quantity, list, record, table, or opaque; on a table one word per column	тип топика одним словом: bool, int, float, text, null, instant, duration, period, quantity, list, record, table или opaque; на таблице по слову на колонку	:::type is the projection form on a record or a table	:::type — форма проекции на записи или таблице	sec:tables-reshapes	
[]		| @|	| [n] / | [a..b]	both	table → record; table → table	null	a row of a table by position, or a slice of its rows, the index and range predicates read as commands	строка таблицы по позиции или срез её строк, индексный предикат и предикат диапазона, прочитанные как команды	on @| the positional selection of threads (Section sec:pipelines-syntax)	на @| — позиционный выбор нитей (раздел sec:pipelines-syntax)	sec:tables-reshapes	
cell		| @|	cell(i; j)	both	table, int, int|text → value	null	one cell of a table: the row by position, the column by position or by name	одна ячейка таблицы: строка по позиции, колонка по позиции или по имени			sec:tables-reshapes	
row-to-header		| @|	row-to-header	both	table → table	null	the first row lifted into the header	первая строка, поднятая в заголовок			sec:tables-reshapes	
header-to-row		| @|	header-to-row	both	table → table	null	the header lowered into the first row, as text, the table then an array	заголовок, опущенный в первую строку как текст; таблица становится массивом			sec:tables-reshapes	
transpose		| @|	transpose	both	table → table; list(list) → table; record → table	null	rows and columns exchanged: a headerless table or a list of lists as a matrix (the cells coerced together to the least type all admit, text at the top); a frame as a frame whose first column, "column", holds the old header and whose other columns are the old rows numbered by position; a record of lists as that frame	строки и столбцы переставлены: таблица без заголовка или список списков — как матрица (ячейки вместе приведены к наименьшему типу, который допускают все, текст наверху); фрейм — как фрейм, чей первый столбец «column» несёт прежний заголовок, а остальные — прежние строки по позициям; запись списков — как такой фрейм	a ragged row is refused by position; | values | transpose is the matrix of a frame's cells alone	рваная строка отвергается с указанием позиции; | values | transpose — матрица одних ячеек фрейма	sec:tables-reshapes	
pivot		| @|	pivot / pivot(row; column; value)	both	list(record) → list(record); table → table	null	long to wide: one record per row key with a field per column key, both in order of first appearance, null in an unfilled cell	из длинного в широкий: по записи на ключ строки с полем на ключ колонки, оба в порядке первого появления, null в незаполненной ячейке	two values on one cell are refused, so a table aggregates before it pivots; without operands the first three fields serve by position	два значения в одной ячейке отвергаются, так что таблица агрегируется до поворота; без операндов служат первые три поля по позиции	sec:tables-reshapes	
datetime		|	datetime / datetime(LOCALE)	scalar	value → instant	null	the instant: text parsed as ISO 8601 (its written offset kept), an instant passed through, the cast of the temporal coercion	инстант: текст, разобранный как ISO 8601 (с сохранением записанного смещения), инстант как есть, каст темпорального приведения	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
epoch		|	epoch	scalar	instant → int	null	the instant as seconds since the Unix epoch	инстант в секундах от эпохи Unix	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
isoformat		|	isoformat	scalar	instant → text	null	the instant formatted in ISO 8601, UTC	инстант в формате ISO 8601, UTC	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
year		|	year	scalar	instant → int; period → int	null	the year, UTC, or as the calendar reading counts it in its era	год, UTC, или как считает его календарное прочтение в своей эре	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
month		|	month / month(code)	scalar	instant → int; instant → text with code	null	the month's ordinal in the year; month(code) the CLDR month code, M01 to M13 with L on a leap month	порядковый номер месяца в году; month(code) — код месяца CLDR, от M01 до M13 с L у вставного месяца	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
day		|	day	scalar	instant → int	null	the day of the month	день месяца	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
hour		|	hour	scalar	instant → int	null	the hour, UTC	час, UTC	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
minute		|	minute	scalar	instant → int	null	the minute	минута	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
second		|	second	scalar	instant → int	null	the second	секунда	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
weekday		|	weekday	scalar	instant → int	null	the ISO weekday, 1 = Monday, the same in every calendar	день недели по ISO, 1 = понедельник, одинаков во всех календарях	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
date		|	date	scalar	instant → instant	null	the instant truncated to its UTC day	инстант, усечённый до своего дня по UTC	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
isodate		|	isodate	scalar	instant → text	null	the calendar key yyyy-mm-dd	календарный ключ yyyy-mm-dd	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
isomonth		|	isomonth	scalar	instant → text	null	the calendar key yyyy-mm	календарный ключ yyyy-mm	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
isoweek		|	isoweek	scalar	instant → text	null	the calendar key {iso-year}-W{ww}, proper ISO week numbering	календарный ключ {iso-год}-W{нн}, по нумерации недель ISO	over the temporal coercion of the topic; a topic with no coercion is null	над темпоральным приведением топика; топик без приведения даёт null	sec:temporal-commands	
seconds		|	seconds	scalar	number → duration; duration → number	null	over a number, that many seconds as a duration; over a duration, its length in seconds	над числом — столько секунд как длительность; над длительностью — её длина в секундах	the unit words work in both directions, decided by the topic's type	слова-единицы работают в обе стороны, по типу топика	sec:temporal-commands	
minutes		|	minutes	scalar	number → duration; duration → number	null	minutes, constructing from a number or reading a duration	минуты: построение из числа или чтение длительности	as seconds	как seconds	sec:temporal-commands	
hours		|	hours	scalar	number → duration; duration → number	null	hours, constructing from a number or reading a duration: (90 | minutes) | hours is 1.5	часы: построение из числа или чтение длительности: (90 | minutes) | hours — 1.5	as seconds	как seconds	sec:temporal-commands	
days		|	days	scalar	number → duration; duration → number	null	days, constructing from a number or reading a duration: 30 | days is 30_d	дни: построение из числа или чтение длительности: 30 | days — 30_d	as seconds; the span between two instants is a number of days in one word	как seconds; промежуток между двумя инстантами — число дней одним словом	sec:temporal-commands	
duration		|	duration / duration(TO) / duration(FROM; TO)	scalar	value → duration; instant, instant → duration	null	bare, the cast of the durational coercion: unit text in a time unit, span text or an ISO 8601 duration; with two instants, TO less FROM, negative when TO precedes	без аргументов — каст дурационного приведения: текст с единицей времени, текст промежутка или длительность ISO 8601; с двумя инстантами — TO минус FROM, отрицательная, когда TO раньше	after a pipe the topic is FROM; an argument that does not coerce makes the result null; td is the short name	после пайпа топик — FROM; аргумент без приведения даёт null; td — короткое имя	sec:temporal-commands	
td		|	td / td(TO)	scalar	value → duration	null	duration, the short name (time duration)	duration, короткое имя (time duration)			sec:temporal-commands	
strftime		|	strftime(fmt) / strftime(fmt; LOCALE) / strftime(fmt; LOCALE; CALENDAR)	scalar	instant → text	null	the instant written under a C/POSIX format, in its own offset, with English names unless a locale is named, in the Gregorian calendar unless one is named	инстант, записанный по формату C/POSIX, в собственном смещении, с английскими названиями, если не назван локаль, по григорианскому календарю, если не назван другой	a locale or calendar the implementation lacks is refused, naming the ones it carries; tfmt is the short name	локаль или календарь, которых нет у реализации, отвергаются с перечнем имеющихся; tfmt — короткое имя	sec:temporal-commands	
tfmt		|	tfmt(fmt)	scalar	instant → text	null	strftime, the short name	strftime, короткое имя			sec:temporal-commands	
strptime		|	strptime(fmt) / strptime(fmt; LOCALE) / strptime(fmt; LOCALE; CALENDAR)	scalar	text → instant	null	the text parsed under the same format standard, strftime's inverse: a %z offset kept, no offset read as UTC, missing fields from the epoch	текст, разобранный по тому же стандарту формата, обратное к strftime: смещение %z сохраняется, без смещения — UTC, отсутствующие поля — от эпохи	a non-text topic, or text that does not match the format, is null; tp is the short name	топик не-текст или текст, не подходящий под формат, дают null; tp — короткое имя	sec:temporal-commands	
tp		|	tp(fmt) / tp(fmt; LOCALE) / tp(fmt; LOCALE; CALENDAR)	scalar	text → instant	null	strptime, the short name (temporal parse)	strptime, короткое имя (temporal parse)			sec:temporal-commands	
now		expr	now()	function	→ instant		the invocation instant, the same for the whole query	инстант вызова, один на весь запрос	an expression function, not a pipe command; the member of the tfmt / td / tp / now family	функция выражения, не команда пайпа; член семейства tfmt / td / tp / now	sec:temporal-commands	not in the engine's command registry (an expression function)
calendar		|	calendar / calendar(NAME)	scalar	instant → instant; period → period; instant → text bare	null	the instant or period read in a named calendar, year, month, day and the locale's rendering following; bare, the name of the reading, gregorian for a fresh instant	инстант или период, прочитанный в названном календаре, за ним следуют year, month, day и показ локали; без аргумента — имя прочтения, gregorian для нового инстанта	the CLDR calendars, gregorian julian hebrew islamic islamic-tabular persian coptic ethiopian buddhist indian roc japanese chinese dangi, named in any shipped language; another name is refused	календари CLDR, gregorian julian hebrew islamic islamic-tabular persian coptic ethiopian buddhist indian roc japanese chinese dangi, называемые на любом поставляемом языке; иное имя отвергается	sec:temporal-commands	
era		|	era	scalar	instant → text	null	the CLDR code of the era of the instant's calendar reading: ce, reiwa, ah	код CLDR эры календарного прочтения инстанта: ce, reiwa, ah	null where the calendar has no era	null там, где у календаря нет эры	sec:temporal-commands	
period		|	period / period(GRAIN)	scalar	value → period	null	the cast of the calendar coercion: text at reduced precision at the grain written, an integer that year, an instant at its printing grain; period(GRAIN) the period of that grain holding the value	каст календарного приведения: текст пониженной точности на записанной грануляции, целое — тот год, инстант — на грануляции печати; period(GRAIN) — период этой грануляции, содержащий значение	the grains year month day hour minute second, in any shipped language; a grain finer than the value's own is null	грануляции year month day hour minute second на любом поставляемом языке; грануляция тоньше собственной даёт null	sec:temporal-commands	
grain		|	grain	scalar	period → text	null	a period's grain as the English word	грануляция периода английским словом	null for any other value	null для любого другого значения	sec:temporal-commands	
timex		|	timex(LOCALE)	scalar	text → record…	no thread	the time expressions of the text, one record %(text; at; kind; value; grain) each, in the order of the text	временные выражения текста, по записи %(text; at; kind; value; grain) на каждое, в порядке текста	expands	разветвляет	sec:timeline	
time_anchor		|	time_anchor(T)	scalar	text → period	null	a time expression valued against the anchor T: '+P2M' | time_anchor(1899-10-06) is 1899-12-06	временное выражение, вычисленное относительно якоря T: '+P2M' | time_anchor(1899-10-06) — 1899-12-06			sec:timeline	
timeline		@|	timeline(expr) / timeline(expr; anchor) / timeline(expr; anchor; forward)	context	list(record) → list(record)	no thread	the narrative point carried through the context: each time expression valued against the result before it, when and from added to its record	нарративная точка, проносимая через контекст: каждое временное выражение вычислено относительно предыдущего результата, в запись добавлены when и from	row-aligned	построчно	sec:timeline	
window		@|	window(span) / window(n) / window(span; key)	context	list(T) → list(list(T))	no thread	each thread with its context neighbours at ordinal offsets within the span as members, its topic their list: window(-1..1) centered, window(..0) expanding, window(n) the trailing n	каждая нить с соседями по контексту на порядковых смещениях в пределах span как членами, её топик — их список: window(-1..1) по центру, window(..0) нарастающее, window(n) — хвостовые n	row-aligned and thread-preserving; partial at the edges; a trailing key partitions, a null key matches nothing	построчно, с сохранением нитей; у краёв неполное; хвостовой ключ разбивает на части, null-ключ ничему не равен	sec:windows	
shift		@|	shift(n) / shift(n; key)	context	list(T) → list(T)	no thread	each thread's topic replaced by the effective topic of the thread n positions back, negative n looking forward, null past the edge	топик каждой нити заменён действующим топиком нити на n позиций назад, отрицательное n смотрит вперёд, за краем null	row-aligned; the lag of a difference idiom, | .now @| shift(1) | $.now - $_	построчно; лаг идиомы разности, | .now @| shift(1) | $.now - $_	sec:windows	
zscore		@|	zscore / zscore(key) / zscore(--sample) / zscore(key; --sample)	context	list(number) → list(float)	no thread	each numeric topic replaced by its standard score over the context, or over its partition under a key; sample selects the n−1 spread	каждый числовой топик заменён своей стандартной оценкой по контексту или по своей части под ключом; sample выбирает разброс по n−1	a topic with no numeric coercion, and every topic of a partition with no spread, is null	топик без числового приведения и все топики части без разброса дают null	sec:windows	
number		| @|	| number(LOCALE) / @| number / @| number(level)	both	text → number; list(T) → list(text)	null	on the pipe the numeric cast under a locale's conventions, number(fr) reading 1 234,56; on @| the outline command, each row's dotted number 1, 1.1, 1.2, 2 from a level per row	на пайпе — числовой каст по соглашениям локали, number(fr) читает 1 234,56; на @| — команда оглавления, нумерация каждой строки через точку 1, 1.1, 1.2, 2 по уровню строки	text that does not parse under the locale is null; a locale without a table is refused; without an argument the value at hand is the level	текст, не разбираемый под локалью, даёт null; локаль без таблицы отвергается; без аргумента уровнем служит само значение	sec:windows	
outline		@|	outline / outline(level; text) / outline(level; text; "1.")	context	list(T) → list(text)	no thread	each row as the line of a table of contents, the text indented two spaces per level below the shallowest, numbered with "1."; bare, the fields depth and title of a record stream	каждая строка как строка оглавления, текст с отступом в два пробела на уровень ниже самого мелкого, с номером при "1."; без аргументов — поля depth и title потока записей	row-aligned; a skipped level counts once; a row without a level stands at the top	построчно; пропущенный уровень считается один раз; строка без уровня стоит наверху	sec:windows	
group		@| |	group(key) / group(key; key…)	keyed	list(T) → list(list(T)); list → list(list)	no thread	the context partitioned into one thread per distinct key value, the members under it, the topic their list; on the plain pipe the same over a list topic	контекст, разбитый по одной нити на различное значение ключа, члены под ней, топик — их список; на простом пайпе то же над топиком-списком	several keys nest; a missing key does not compete	несколько ключей вкладываются; отсутствующий ключ не участвует	sec:keyed-aggregates	
ungroup		@|	ungroup	context	list(list(T)) → list(T)	no thread	the groups' members as the context again	члены групп снова как контекст			sec:keyed-aggregates	
sort_by		@| |	sort_by(key) / sort_by(key; key…)	keyed	list(T) → list(T)	no thread	the threads sorted by per-thread keys, nodes and capsae preserved; a unary minus on a numeric key flips its direction	нити, отсортированные по понитевым ключам, с сохранением узлов и капс; унарный минус у числового ключа переворачивает направление	ties break by the next key; a missing key does not compete	ничьи разрешает следующий ключ; отсутствующий ключ не участвует	sec:keyed-aggregates	
unique_by		@| |	unique_by(key) / unique_by(key; key…)	keyed	list(T) → list(T)	no thread	the first thread per distinct key	первая нить на каждое различное значение ключа			sec:keyed-aggregates	
min_by		@| |	min_by(key)	keyed	list(T) → T	no thread	the thread with the least key	нить с наименьшим ключом			sec:keyed-aggregates	
max_by		@| |	max_by(key)	keyed	list(T) → T	no thread	the thread with the greatest key	нить с наибольшим ключом			sec:keyed-aggregates	
top		@| |	top(n; key)	keyed	list(T) → list(T)	no thread	the n threads with the greatest key, in key order	n нитей с наибольшим ключом, в порядке ключа	on the plain pipe per group, after @| group; without a group before it the query is refused	на простом пайпе — по группам, после @| group; без группировки перед ней запрос отвергается	sec:keyed-aggregates	
bottom		@| |	bottom(n; key)	keyed	list(T) → list(T)	no thread	the n threads with the least key	n нитей с наименьшим ключом	as top	как top	sec:keyed-aggregates	
count		@| |	count / count(--values) / count(--nulls) / count(--of=expr)	reducing	list → int; record → int; table → int; scalar → 1	0	how many: the threads of the context, or the items of a list topic, nulls included	сколько: нитей контекста или элементов топика-списка, включая null	--values (-v) counts the values other than null, --nulls (-n) the nulls, bare count everything; --of=expr (-o=expr) names what to reduce in each member; a non-list topic counts as one	--values (-v) считает значения, кроме null, --nulls (-n) — null, голый count — всё; --of=expr (-o=expr) называет, что редуцировать у члена; топик не-список считается за один	sec:aggregate-commands	
sum		@| |	sum / sum(--of=expr)	reducing	list(number) → number; list(quantity(D)) → quantity(D); list(duration) → duration; record → number; table → record	null	the sum, exact while every operand is an integer; quantities sum within one dimension	сумма, точная, пока каждый операнд целый; величины суммируются в пределах одной размерности	--of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton	--of=expr (-o=expr) называет, что редуцировать у члена; над числовым приведением каждого значения; значение без приведения пропускается как отсутствующее; пустой вход даёт null; на простом пайпе то же над топиком-списком, не-список — как одиночка	sec:aggregate-commands	spec sentence fixed (quantity among numbers; two units)
product		@| |	product / product(--of=expr)	reducing	list(number) → number; record → number; table → record	1	the product, folded from 1, exact while every operand is an integer	произведение, свёрнутое от 1, точное, пока каждый операнд целый	--of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton	--of=expr (-o=expr) называет, что редуцировать у члена; над числовым приведением каждого значения; значение без приведения пропускается как отсутствующее; пустой вход даёт null; на простом пайпе то же над топиком-списком, не-список — как одиночка	sec:aggregate-commands	
min		@| |	min / min(--of=expr)	reducing	list(number) → number; list(quantity(D)) → quantity(D); list(instant) → instant; list(duration) → duration; record → number; table → record	null	the least value	наименьшее значение	--of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton; text does not order here, sort does	--of=expr (-o=expr) называет, что редуцировать у члена; над текстом не работает, для него есть sort	sec:aggregate-commands	
max		@| |	max / max(--of=expr)	reducing	list(number) → number; list(quantity(D)) → quantity(D); list(instant) → instant; list(duration) → duration; record → number; table → record	null	the greatest value	наибольшее значение	--of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton	--of=expr (-o=expr) называет, что редуцировать у члена; над числовым приведением каждого значения; значение без приведения пропускается как отсутствующее; пустой вход даёт null; на простом пайпе то же над топиком-списком, не-список — как одиночка	sec:aggregate-commands	
mean		@| |	mean / mean(--of=expr)	reducing	list(number) → float; list(quantity(D)) → quantity(D); record → number; table → record	null	the arithmetic mean	среднее арифметическое	--of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton; avg is the alias	--of=expr (-o=expr) называет, что редуцировать у члена; avg — псевдоним	sec:aggregate-commands	
avg		@| |	avg / avg(--of=expr)	reducing	list(number) → float; record → number; table → record	null	mean, the alias	mean, псевдоним	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
median		@| |	median / median(--of=expr)	reducing	list(number) → number; record → number; table → record	null	the median, the mean of the two middle values when even	медиана, среднее двух средних значений при чётном числе	--of=expr (-o=expr) names what to reduce in each member; over the numeric coercion of each value; a value with no coercion is skipped as missing; an empty input is null; on the plain pipe the same over a list topic, a non-list topic as a singleton	--of=expr (-o=expr) называет, что редуцировать у члена; над числовым приведением каждого значения; значение без приведения пропускается как отсутствующее; пустой вход даёт null; на простом пайпе то же над топиком-списком, не-список — как одиночка	sec:aggregate-commands	
percentile		@| |	percentile(p) / percentile(--of=expr)	reducing	list(number) → number; record → number; table → record	null	the p-th percentile, 0 ≤ p ≤ 100, interpolated linearly between the sorted values (R's type 7, NumPy's default); an integer result stays an integer when the rank lands on a value	p-й процентиль, 0 ≤ p ≤ 100, с линейной интерполяцией между отсортированными значениями (тип 7 в R, умолчание NumPy); целый результат остаётся целым, когда ранг попадает на значение	--of=expr (-o=expr) names what to reduce in each member; a p outside the range is refused	--of=expr (-o=expr) называет, что редуцировать у члена; p вне диапазона отвергается	sec:aggregate-commands	
std		@| |	std / std(--sample) / std(--of=expr) / std(--sample --of=expr)	reducing	list(number) → float; record → number; table → record	null	the population standard deviation; std(--sample) divides by n−1	стандартное отклонение генеральной совокупности; std(--sample) делит на n−1	--of=expr (-o=expr) names what to reduce in each member; null below two values with --sample; stddev is the alias	--of=expr (-o=expr) называет, что редуцировать у члена; null при менее чем двух значениях с --sample; stddev — псевдоним	sec:aggregate-commands	
stddev		@| |	stddev / stddev(--sample) / stddev(--of=expr) / stddev(--sample --of=expr)	reducing	list(number) → float; record → number; table → record	null	std, the alias	std, псевдоним	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
var		@| |	var / var(--sample) / var(--of=expr) / var(--sample --of=expr)	reducing	list(number) → float; record → number; table → record	null	the population variance; var(--sample) divides by n−1	дисперсия генеральной совокупности; var(--sample) делит на n−1	--of=expr (-o=expr) names what to reduce in each member; null below two values with --sample; variance is the alias	--of=expr (-o=expr) называет, что редуцировать у члена; null при менее чем двух значениях с --sample; variance — псевдоним	sec:aggregate-commands	
variance		@| |	variance / variance(--sample) / variance(--of=expr) / variance(--sample --of=expr)	reducing	list(number) → float; record → number; table → record	null	var, the alias	var, псевдоним	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
entropy		@| |	entropy / entropy(--of=expr)	reducing	list(int) → float (counts); list(value) → float (tokens)	null	the Shannon entropy in bits: a stream of numbers read as counts, any other stream as tokens whose distribution is measured	энтропия Шеннона в битах: поток чисел читается как счёты, любой другой поток — как токены, чьё распределение измеряется	--of=expr (-o=expr) names what to reduce in each member; //token<word>::lower @| entropy and the same through group | count agree	--of=expr (-o=expr) называет, что редуцировать у члена; //token<word>::lower @| entropy и то же через group | count совпадают	sec:aggregate-commands	
yule_k		@| |	yule_k / yule_k(--of=expr)	reducing	list(int) → float	null	Yule's K over a stream of counts, 10⁴(Σc² − N)/N²	K Юла над потоком счётов, 10⁴(Σc² − N)/N²	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
mtld		@| |	mtld / mtld(t) / mtld(--of=expr)	reducing	list(value) → float	null	the measure of textual lexical diversity over tokens: the mean run length over which the type-token ratio stays above t (0.72), forward and backward averaged	мера лексического разнообразия текста над токенами: средняя длина отрезка, на котором отношение типов к токенам держится выше t (0.72), усреднённая вперёд и назад	--of=expr (-o=expr) names what to reduce in each member; a stream that never falls below t is null	--of=expr (-o=expr) называет, что редуцировать у члена; поток, никогда не опускающийся ниже t, даёт null	sec:aggregate-commands	
ttr		@| |	ttr / ttr(--of=expr)	reducing	list(value) → float	null	the type-token ratio, distinct values over all	отношение типов к токенам, различные значения ко всем	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
hapax		@| |	hapax / hapax(--of=expr)	reducing	list(value) → list(value)	no thread	the values that occur once, one thread each in first-occurrence order	значения, встречающиеся один раз, по нити на каждое в порядке первого появления	--of=expr (-o=expr) names what to reduce in each member; @| hapax @| count is the figure	--of=expr (-o=expr) называет, что редуцировать у члена; @| hapax @| count — само число	sec:aggregate-commands	
sort		@| |	sort / sort(LOCALE) / sort(atergo) / sort(LOCALE; atergo) / sort(--of=expr)	reducing	list(T) → list(T)	no thread	the threads sorted by value, numbers before text; under a collation locale by that locale's CLDR order; atergo the inverse-lexicographic order from the last character	нити, отсортированные по значению, числа перед текстом; под локалью сортировки — по её порядку CLDR; atergo — обратно-лексикографический порядок от последнего символа	--of=expr (-o=expr) names what to reduce in each member; descending is | reverse composed; an invalid locale tag fails the parse, an untailored one collates by root	--of=expr (-o=expr) называет, что редуцировать у члена; по убыванию — через | reverse; неверный тег локали не проходит разбор, локаль без настройки сортируется по корню	sec:aggregate-commands	
unique		@| |	unique / unique(--of=expr)	reducing	list(T) → list(T)	no thread	the distinct values in order of first appearance, values by value and nodes by identity	различные значения в порядке первого появления, значения — по значению, узлы — по тождеству	--of=expr (-o=expr) names what to reduce in each member; it does not sort	--of=expr (-o=expr) называет, что редуцировать у члена; не сортирует	sec:aggregate-commands	
reverse		@| |	reverse / reverse(--of=expr)	reducing	list(T) → list(T)	no thread	the threads in reverse order	нити в обратном порядке	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
first		@| |	first / first(n) / first(--of=expr)	reducing	list(T) → T; list(T) → list(T) with n; value → value	null	the first value, or the first n in stream order	первое значение или первые n в порядке потока	--of=expr (-o=expr) names what to reduce in each member; an empty input is null; a non-list topic passes through	--of=expr (-o=expr) называет, что редуцировать у члена; пустой вход даёт null; топик не-список проходит как есть	sec:aggregate-commands	
last		@| |	last / last(n) / last(--of=expr)	reducing	list(T) → T; list(T) → list(T) with n; value → value	null	the last value, or the last n in stream order	последнее значение или последние n в порядке потока	--of=expr (-o=expr) names what to reduce in each member; an empty input is null; a non-list topic passes through	--of=expr (-o=expr) называет, что редуцировать у члена; пустой вход даёт null; топик не-список проходит как есть	sec:aggregate-commands	
join		@| |	join / join(sep) / join(--of=expr)	reducing	list(value) → text	""	the values joined into one text with the separator, none unless given	значения, соединённые в один текст разделителем, по умолчанию без него	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
frequencies		@| |	frequencies / frequencies(k) / frequencies(--nulls) / frequencies(--of=expr)	reducing	list(value) → list(record)	no thread	each distinct value with its count as %(value; n), most frequent first, equal counts by value ascending, nulls left out; frequencies(k) keeps the top k	каждое различное значение со своим счётом как %(value; n), сначала самые частые, равные счёты по возрастанию значения, null опущены; frequencies(k) оставляет верхние k	--nulls (-n) adds a row for the nulls, left out by default; --of=expr (-o=expr) names what to reduce in each member; | :n reads the count and | :value the value	--nulls (-n) добавляет строку для null, по умолчанию опущенных; --of=expr (-o=expr) называет, что редуцировать у члена; | :n читает счёт, | :value — значение	sec:aggregate-commands	
bins		@|	bins / bins(n) / bins(--of=expr)	reducing	list(number) → table	no thread	the numbers binned: n equal-width bins over min..max (10 unless given) as the table #(@(from; to; count)), one row per bin, open at to except the last, the nulls counted in a last row with null edges; edges printed at the precision that tells them apart	числа по корзинам: n корзин равной ширины между min и max (10, если не задано) таблицей #(@(from; to; count)), по строке на корзину, открытой на to, кроме последней, null сосчитаны в последней строке с границами null; границы печатаются с точностью, различающей их	--of=expr (-o=expr) names what to reduce in each member; text that reads as a number counts as one, any other value refuses naming histogram; bins(0) refuses	--of=expr (-o=expr) называет, что редуцировать у члена; текст, читающийся числом, считается им, любое другое значение отвергается с указанием на histogram; bins(0) отвергается	sec:aggregate-commands	
histogram		@|	histogram / histogram(n) / histogram(n; --width=w) / histogram(--of=expr)	reducing	list(value) → text	no thread	the stream drawn as bars, one text: numbers in n equal-width bins labelled from–to, whole numbers with no more distinct values than bins one bar per value in numeric order, other values one bar per distinct value most frequent first (n shown, the rest one "other" bar), the nulls a last bar, the count after each bar	поток столбиками, одним текстом: числа в n корзинах равной ширины с подписями from–to, целые с числом различных значений не больше корзин — по столбику на значение по порядку, другие значения — по столбику на различное значение, сначала самые частые (показаны n, остальные одним столбиком «other»), null последним столбиком, за каждым столбиком его счёт	--of=expr (-o=expr) names what to reduce in each member; --width=w (-w=w) the longest bar in cells (40): the longest drawn value sets the scale, the other and null bars stand outside it and fill the width past it, any count shows at least an eighth; switches last: histogram(5; -w=20)	--of=expr (-o=expr) называет, что редуцировать у члена; --width=w (-w=w) — самый длинный столбик в клетках (40): масштаб задаёт самое длинное нарисованное значение, столбики other и null стоят вне него и заполняют ширину, когда его превышают, любой счёт показывает хотя бы восьмую; переключатели последними: histogram(5; -w=20)	sec:aggregate-commands	
combinations		@| |	combinations(n) / combinations(--of=expr)	reducing	list(value) → list(list)	no thread	every unordered n-member subset of the stream's distinct values, each once, as a list in the values' own order	каждое неупорядоченное n-элементное подмножество различных значений потока, по разу, списком в собственном порядке значений	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
pairs		@| |	pairs / pairs(--of=expr)	reducing	list(value) → list(list)	no thread	combinations(2)	combinations(2)	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
triples		@| |	triples / triples(--of=expr)	reducing	list(value) → list(list)	no thread	combinations(3)	combinations(3)	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
bigrams		@| |	bigrams / bigrams(--of=expr)	reducing	list(T) → list(list)	no thread	the adjacent pairs of the stream in order, full windows only, ngrams(2)	соседние пары потока по порядку, только полные окна, ngrams(2)	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
trigrams		@| |	trigrams / trigrams(--of=expr)	reducing	list(T) → list(list)	no thread	the adjacent triples of the stream, ngrams(3)	соседние тройки потока, ngrams(3)	--of=expr (-o=expr) names what to reduce in each member	--of=expr (-o=expr) называет, что редуцировать у члена	sec:aggregate-commands	
skipgrams		@| |	skipgrams(n; k) / skipgrams(--of=expr)	reducing	list(T) → list(list)	no thread	the n-grams with up to k positions skipped: every subsequence of n values leaving out at most k of those it spans, in the lexicographic order of positions	n-граммы с пропуском до k позиций: каждая подпоследовательность из n значений, опускающая не более k из охваченных, в лексикографическом порядке позиций	--of=expr (-o=expr) names what to reduce in each member; skipgrams(n; 0) is ngrams(n)	--of=expr (-o=expr) называет, что редуцировать у члена; skipgrams(n; 0) — это ngrams(n)	sec:aggregate-commands	
jaccard		@| |	jaccard(list) / jaccard(--of=expr)	reducing	list(value), list → float	null	the Jaccard similarity of the stream's distinct values to the list's, the intersection over the union, 0 to 1	сходство Жаккара различных значений потока со значениями списка, пересечение к объединению, от 0 до 1	--of=expr (-o=expr) names what to reduce in each member; 0 where the two share nothing	--of=expr (-o=expr) называет, что редуцировать у члена; 0, когда общего нет	sec:aggregate-commands	
corr		@| |	corr(a; b)	assoc	list(value) → float	null	Pearson's r between two per-thread expressions	r Пирсона между двумя понитевыми выражениями	a thread missing either reading is dropped; fewer than two pairs, or no spread on a side, is null; on the plain pipe per group	нить без одного из чтений отбрасывается; менее двух пар или отсутствие разброса с одной стороны дают null; на простом пайпе — по группам	sec:aggregate-commands	
spearman		@| |	spearman(a; b)	assoc	list(value) → float	null	Spearman's ρ on average ranks	ρ Спирмена по средним рангам	as corr	как corr	sec:aggregate-commands	
cosine		@| |	cosine(a; b)	assoc	list(value) → float	null	the cosine of the two vectors	косинус двух векторов	as corr	как corr	sec:aggregate-commands	
delta		@| |	delta(a; b)	assoc	list(value) → float	null	Burrows's Delta, the mean absolute difference of two profiles' standard scores over the pairs	дельта Барроуза, среднее абсолютное различие стандартных оценок двух профилей по парам	as corr	как corr	sec:aggregate-commands	
dp		@| |	dp(n; size)	assoc	list(value) → float	null	Gries's deviation of proportions over pairs of a part's count of a word and the part's size: 0 an even spread, 1 a word confined to a vanishing part	отклонение пропорций Гриса по парам «счёт слова в части, размер части»: 0 — ровное распределение, 1 — слово, запертое в исчезающе малой части	a corpus without the word, or without tokens, is null	корпус без слова или без токенов даёт null	sec:aggregate-commands	
kappa		@| |	kappa(a; b)	assoc	list(value) → float	null	Cohen's κ agreement of two label expressions over the categories both sides name	согласие κ Коэна двух выражений-меток по категориям, которые называют обе стороны	a pair with a null side is dropped; no pairs, or one category on both sides, is null	пара с null с одной стороны отбрасывается; отсутствие пар или одна категория с обеих сторон дают null	sec:aggregate-commands	
precision		@| |	precision(a; b)	assoc	list(value) → float	null	the precision of the second expression against the first, a label positive by its truthiness	точность второго выражения относительно первого, метка положительна по своей истинности	a zero denominator is null	нулевой знаменатель даёт null	sec:aggregate-commands	
recall		@| |	recall(a; b)	assoc	list(value) → float	null	the recall of the second expression against the first	полнота второго выражения относительно первого	a zero denominator is null	нулевой знаменатель даёт null	sec:aggregate-commands	
f1		@| |	f1(a; b)	assoc	list(value) → float	null	the F₁ score of the second expression against the first	F₁-мера второго выражения относительно первого			sec:aggregate-commands	
json		| @|	json	both	value → text; node → text; list(T) → text	"null"	the value as JSON (a record an object, a list an array); in a node context the node's subtree; over the stream one array	значение как JSON (запись — объект, список — массив); в контексте узла — поддерево узла; над потоком — один массив	one string; the output form of the value	одна строка; форма вывода значения	sec:output-commands	
jsonl		| @|	jsonl	both	value → text; list(T) → text	"null"	over the stream JSON Lines, one document per line; on the pipe json under its other name	над потоком — JSON Lines, по документу на строку; на пайпе — json под другим именем			sec:output-commands	
csv		@| |	csv / csv(col; col…)	rendering	list(record) → text; table → text	null	the stream of records as one RFC 4180 CSV document: a header and a row per value, the columns the union of the fields in first-seen order or the named ones; a scalar under value	поток записей одним документом CSV по RFC 4180: заголовок и строка на значение, колонки — объединение полей в порядке первого появления или названные; скаляр под value	a missing field is an empty cell; on the plain pipe a table value only	отсутствующее поле — пустая ячейка; на простом пайпе — только значение-таблица	sec:output-commands	
pretty		@| |	pretty / pretty(col; col…)	rendering	list(record) → text; value → text	"null"	the stream of records as an aligned text table with a rule under the header; on the pipe the pretty-printer of any value, recursing: a record one field per line at every depth (a nested record opens after its field, its keys in one column under the first), a list on one line when it fits in 72 columns and holds no record, else one item per line, a table the grid, a scalar as it is	поток записей как выровненная текстовая таблица с чертой под заголовком; на пайпе — красивая печать любого значения, рекурсивно: запись по полю на строку на любой глубине (вложенная открывается после своего поля, её ключи в одной колонке под первым), список на одной строке, когда умещается в 72 колонки и не содержит записей, иначе по элементу на строку, таблица — сеткой, скаляр — как есть			sec:output-commands	
kaiv		| @|	kaiv	both	value → text; node → text; list(T) → text	null	the stream as one kaiv document, each result under /@results, typed values keeping their units; on the pipe one value, or a node's subtree in value form	поток одним документом kaiv, каждый результат под /@results, типизированные значения с единицами; на пайпе — одно значение или поддерево узла в форме значения	the command sees values, so the document carries no provenance	команда видит значения, поэтому документ не несёт провенанса	sec:output-commands	
encoding		@|	encoding(LABEL)	context	list(text) → bytes	no thread	the output boundary: the stream's text encoded in the named encoding, as bytes a tool writes as they are; stands last, after a serialization	граница вывода: текст потока в названной кодировке, байтами, которые инструмент пишет как есть; стоит последней, после сериализации	after json or jsonl an unrepresentable character becomes a \u escape; after plain text, csv, pretty or kaiv the command is refused at the first such character	после json или jsonl непредставимый символ становится \u-экранированием; после простого текста, csv, pretty или kaiv команда отвергается на первом таком символе	sec:output-commands	
xml		|	xml	scalar	node → text; value → text	null	the node's subtree as XML: name to tag, children nested, a leaf's scalar its text; a record maps @name fields to attributes, #text to text, the rest to elements	поддерево узла как XML: имя — в тег, дети вложены, скаляр листа — его текст; запись отображает поля @name в атрибуты, #text в текст, остальное в элементы			sec:value-commands	
markdown		|	markdown	scalar	node → text	null	the node's subtree rendered as Markdown text	поддерево узла, выведенное текстом Markdown			sec:value-commands	
html		|	html	scalar	node → text	null	the node's subtree serialized as HTML	поддерево узла, сериализованное как HTML			sec:value-commands	
atrep		|	atrep	scalar	node → text	null	the node's subtree as atrep text	поддерево узла как текст atrep			sec:value-commands	
conllu		|	conllu	scalar	node → text	null	the node's subtree as CoNLL-U	поддерево узла как CoNLL-U			sec:value-commands	
link		|	link	scalar	node → record	null	the host's link record of the node, %(title; href; text), what a page adapter gives a page so that a result is clickable in the hosts	запись ссылки узла, которую даёт хост, %(title; href; text), то, что адаптер страницы даёт странице, чтобы результат был кликабельным в хостах	null where the host has no such notion; an HTML <a> carries ::href, not a link record	null там, где у хоста нет такого понятия; HTML <a> несёт ::href, а не запись ссылки	sec:value-commands	
bibref		|	bibref(STANDARD)	scalar	text → record	null	one reference text written to a citation standard (gost, gb7714, cmos, ams) parsed into a record under the bibliography's campi	один текст ссылки, записанной по стандарту цитирования (gost, gb7714, cmos, ams), разобранный в запись по кампам библиографии	null where the text is no reference; refused for a tag the implementation lacks	null там, где текст не ссылка; отвергается для тега, которого нет у реализации	sec:value-commands	
sh		|	sh(cmd) / `cmd` / (;cmd)	scalar	value → text	null	the topic's text through an external program: stdin the text, stdout the new topic with one trailing newline trimmed, stderr passed through; the command line read raw to the balancing parenthesis, interpolating like a double-quoted string	текст топика через внешнюю программу: stdin — текст, stdout — новый топик без одного конечного перевода строки, stderr пропускается; командная строка читается сырой до парной скобки, с интерполяцией как в строке в двойных кавычках	gated: refused unless the run enables it (qua --allow-shell); null on failure; sh('cmd') is a retired spelling	под замком: отвергается, пока запуск её не разрешит (qua --allow-shell); null при сбое; sh('cmd') — отменённое написание	sec:environment-commands	
melt		| @|	melt(id; id…) / melt(id; --name=; --value=)	both	record → record…; table → table; list(record) → list(record)	no thread	wide to long: every field beyond the named ids becomes a record of the ids and two new fields, variable (the field's name) and value; a table value melts its rows and answers the long table	из широкого в длинный: каждое поле сверх названных id становится записью из id и двух новых полей, variable (имя поля) и value; значение-таблица плавит свои строки и отвечает длинной таблицей	--name= and --value= rename the two fields; pivot(id; variable; value) goes back	--name= и --value= переименовывают два поля; pivot(id; variable; value) возвращает назад	sec:tables-reshapes	
tree		@|	tree / tree(depth; expr…; --kind; --traits; --props; --record; --sample=n)	context	list(node) → text	no thread	the node context drawn as a tree: the starting points with their subtrees, the mount root on top, a dotted stub for a starting point below the root, crosslinks one hop deep; the kind, traits, property names or the property record and expression columns beside each name	контекст узлов, нарисованный деревом: отправные точки с поддеревьями, корень монтирования наверху, пунктирный отросток для точки ниже корня, кросс-ссылки на один хоп; род, трейты, имена свойств или запись свойств и колонки выражений рядом с каждым именем	--kind (-k), --traits (-t), --props (-p), --record (-r: the scalar properties, no child with children nor a null member, none when there are none, six fields then ; …) stand last and bundle; sibling leaves whose lines read alike collapse to one line with a count (row ×891); --sample=n (-s=n) draws the first n children of a node that has more and closes with "… and N more"	--kind (-k), --traits (-t), --props (-p), --record (-r: скалярные свойства, без детей с детьми и без членов со значением null, ничего, когда их нет, шесть полей и ; …) стоят последними и склеиваются; соседние листья с одинаковыми строками сворачиваются в одну строку со счётом (row ×891); --sample=n (-s=n) рисует первых n детей узла, у которого их больше, и закрывает «… and N more»	sec:output-commands	
record		|	record(…)	scalar			retired: the record is %(…)	отменено: запись — это %(…)	refused with the pointer	отвергается с указателем	sec:value-commands	registered only as a retired pointer
rec		|	rec(…)	scalar			retired: the record is %(…)	отменено: запись — это %(…)	refused with the pointer	отвергается с указателем	sec:value-commands	registered only as a retired pointer