STANDARD LIBRARY / 0.7.2 PREVIEW

Find the right building block.

Module APIs, use cases and small programs.

This inventory comes from the exact source files shipped in the website’s browser package. Source presence is not proof that every API works on every target. Status notes distinguish source, compiler intrinsics and native host capabilities.

Language core lives elsewhere: bindings, calls, dimensions, operators, folds and function differentiation are covered in Syntax. Import a module with la:.linalg, or spill its exports with :.units. See Importing and Spilling for the language rules.

01.math / Elementary math and constantsSource + compiler intrinsics

Trigonometry, logarithms, hyperbolic functions and special functions. Scalar primitives such as sin, cos, exp, ln, sqrt and abs are compiler/runtime operations exposed alongside these source definitions.

pietausincosexplnsqrtabstanseccotcscsinhcoshtanhlglg2logasinhacoshatanhatanatan2asinacosacotasecacscgammaerf

Angles and complex values

Loading compiler…
Console
Expected result · 0.7.2
1
-1 + 1.2246467991473532e-16i
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

tan(value:num) -> num:
sec(value:num) -> num:
cot(value:num) -> num:
csc(value:num) -> num:
sinh(value:num) -> num:
cosh(value:num) -> num:
tanh(value:num) -> num:
lg(value:num) -> num:
lg2(value:num) -> num:
log(value:num, base:num) -> num:
asinh(value:num) -> num:
acosh(value:num) -> num:
atanh(value:num) -> num:
atan(value:num) -> num:
atan2(y:num, x:num) -> num:
asin(value:num) -> num:
acos(value:num) -> num:
acot(value:num) -> num:
asec(value:num) -> num:
acsc(value:num) -> num:
gamma(value:num) -> num:
erf(value:num) -> num:
Download packaged math.vkf

SHA256 ca670afda7c9edc010ca25428f61f79c0fb45bdf5655a4a240d2162e744a2f3f

02.linalg / Linear algebraSource; solve example below

Solve a rectangular/numerical vector problem using ordinary arrays. The packaged source includes decompositions, solution diagnostics and matrix operations. Presence in the inventory does not qualify every algorithm.

dotcrossoutermatmultransposediagtracedeterminantsolveinverserrefranklucholeskyqreigensvdleast_squaresnull_spacesolution_spaceresidualcondition_numberrelative_residualverify_solution

Solve a two-variable system

Loading compiler…
Console
Expected result · 0.7.2
[2, 1]
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

dot(left:[num:n], right:[num:n]) -> num:
dot(left:[expression:n], right:[expression:n]) -> expression:
cross(left:[num:3], right:[num:3]) -> [num:3]:
outer(left:[num:n], right:[num:m]):
matmul(left:[[num:k]:r], right:[[num:c]:k]) -> [[num:c]:r]:
transpose(matrix:[[num:c]:r]) -> [[num:r]:c]:
diag(values:[num:n]) -> [[num:n]:n]:
trace(matrix:[[num:n]:n]) -> num:
determinant(matrix:[[num:n]:n], tolerance:num=0.000000000001) -> num:
solve(matrix:[[num:n]:n], values:[num:n], tolerance:num=0.000000000001) -> [num:n]:
inverse(matrix:[[num:n]:n], tolerance:num=0.000000000001) -> [[num:n]:n]:
rref(matrix:[[num:c]:r], tolerance:num=0.000000000001) -> [[num:c]:r]:
rank(matrix:[[num:c]:r], tolerance:num=0.000000000001) -> int:
lu(matrix:[[num:n]:n], tolerance:num=0.000000000001):
cholesky(matrix:[[num:n]:n], tolerance:num=0.000000000001) -> [[num:n]:n]:
qr(matrix:[[num:c]:r], tolerance:num=0.000000000001) -> (q:[[num:c]:r],r:[[num:c]:c]):
eigen(
    matrix:[[num:n]:n],
    tolerance:num=0.000000000001,
    max_sweeps:num=64,
    verify_result:bit=true
) -> (
svd(
    matrix:[[num:c]:r],
    tolerance:num=0.000000000001,
    max_sweeps:num=64,
    verify_result:bit=true
) -> (
least_squares(
    matrix:[[num:c]:r],
    values:[num:r],
    tolerance:num=0.000000000001
) -> [num:c]:
null_space(
    matrix:[[num:c]:r],
    tolerance:num=0.000000000001
) -> (dimension:int,basis:[[num:c]:c]):
solution_space(
    matrix:[[num:c]:r],
    values:[num:r],
    tolerance:num=0.000000000001
) -> (
residual(
    matrix:[[num:c]:r],
    values:[num:c],
    targets:[num:r]
) -> [num:r]:
condition_number(
    matrix:[[num:n]:n],
    tolerance:num=0.000000000001
) -> num:
relative_residual(
    matrix:[[num:c]:r],
    values:[num:c],
    targets:[num:r]
) -> num:
verify_solution(
    matrix:[[num:n]:n],
    values:[num:n],
    targets:[num:n],
    tolerance:num=0.000000001,
    condition_limit:num=1000000000000
):
Download packaged linalg.vkf

SHA256 5dcd769b40b58738c68774defe032f068b1894b057cc523b4622f3357de9c866

03.stat / StatisticsSource + intrinsics

Summarize and compare numerical data; interpolate or normalize values. Some aggregate entry points are compiler-owned.

interpminmaxpercentilemedianiqrmodezscorenormalizecovariancecorrelationclampsign

Structural calls

Run the canonical syntax example for this operation →

Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

interp(values:[num:n], targets:[num:m]) -> [num:m]:
interp(values:[num:n], coordinates:[num:l], targets:[num:m]) -> [num:m]:
min(values:[num:n]) -> num:
max(values:[num:n]) -> num:
percentile(values:[num:n], p:num) -> num:
median(values:[num:n]) -> num:
iqr(values:[num:n]) -> num:
mode(values:[num:n]) -> num:
zscore(values:[num:n]) -> [num:n]:
normalize(values:[num:n]) -> [num:n]:
covariance(x:[num:n], y:[num:m], ddof:num=0) -> num:
correlation(x:[num:n], y:[num:m]) -> num:
clamp(value:num, lower:num, upper:num) -> num:
sign(value:num) -> num:
Download packaged stat.vkf

SHA256 a0d3b7c7af273ea8e3f633e9abd24dc6f0494933cd4c22a6c285272b00faf95b

04.units / Physical quantitiesCatalog; examples below

Import the coherent SI catalog. Unit metadata belongs to the language; the module supplies names and scales.

mkmcmskgAKmolcdNPaJWraddeg.to(unit)

Physical quantities

Loading compiler…
Console
Expected result · 0.7.2
2.3 m
230 cm
[100, 200, 300] cm

Unit-aware helpers

Loading compiler…
Console
Expected result · 0.7.2
[100, 200, 300] cm
[1, 2, 3] m

Empty values and demand

Loading compiler…
Console
Expected result · 0.7.2
[] cm
[200, 200] cm

Units and powers

Loading compiler…
Console
Expected result · 0.7.2
9 m^2
3 m/s

Domains and physical dimensions

Loading compiler…
Console
Expected result · 0.7.2
18 m
12 m/s
4 m/s^2
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

This module declares capabilities, imports or constants; callable exports are compiler-owned.
Download packaged units.vkf

SHA256 c6eae08570c5fa77548d42c69ab590ebff3956aeb04d519980a225d2897819a5

05.ui / Viewports and plotsCompiler intrinsic viewport API

Create a viewport, add coordinate data, then show it. The viewport API is compiler-owned; ui.vkf itself contains only set_mode. The unified visual design uses add to create a layer, push to freeze a state and append to add and push. This page qualifies the displayed viewport.add/show programs only; a general stacked-view browsing workflow is not established here.

viewportviewport.add(…)viewport.add_camera(…)viewport.push()viewport.show()set_mode(mode)

Connected geometry

Run the canonical syntax example for this operation →

Explicit topology

Loading compiler…
Console

Shared geometry, multiple views

Loading compiler…
Console
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

set_mode(mode:str):
Download packaged ui.vkf

SHA256 1a71dc8e6b57885c8df654998c2be686a788ec5c47b4575d6b79cc2e9e2f30eb

06.concurrent / Events and isolated processesCompiler/runtime intrinsics

Connect workers with FIFO queues, broadcast streams and immutable shared values. These operations coordinate events and I/O.

process(worker, …)queue()broadcast()shared(value)process.join()process.kill()queue.put(value)queue.get()broadcast.subscribe()

Queue and process

Loading compiler…
Console
Expected result · 0.7.2
42

Broadcast and shared values

Loading compiler…
Console
Expected result · 0.7.2
ready
ready
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

This module declares capabilities, imports or constants; callable exports are compiler-owned.
Download packaged concurrent.vkf

SHA256 0309f6be8a254f1a9282f0ddab9edfdd5f76724bf5870f2bf815fd9883fea8f9

07.collections / Collection storageCapability declaration

Maps, lists and queues are described by a capability record. Storage and ownership are compiler intrinsics.

maplistqueue
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

This module declares capabilities, imports or constants; callable exports are compiler-owned.
Download packaged collections.vkf

SHA256 57014c51de253c74998cdeb450771135d434c50e350d0555ebc032b61307a7a1

08.errors / Typed errorsCompiler intrinsic error types

Construct and raise error values; match caught errors by type. Error type masks and unwinding are compiler-owned.

ErrorVektorFlowErrorLexErrorParseErrorEvalErrorAssertionErrorPythonErrorTypeErrorValueErrorKeyErrorIndexErrorFileNotFoundErrorRuntimeError
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

This module declares capabilities, imports or constants; callable exports are compiler-owned.
Download packaged errors.vkf

SHA256 150851cae3b6b1f2fc275de0d8678435a2e765f6b8f085a2c76c06584b7a7345

09.random / Seeded random samplingSource; host-dependent default seed

Generate uniform or normal samples while threading the returned seed explicitly. Explicit seeds allow repeatable sequences. Default seeding calls time capabilities.

nextclock_seeduniformnormal
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

next(seed:num) -> (value:num,seed:num):
clock_seed() -> num:
uniform(seed:num=clock_seed(), low:num=0, high:num=1) -> (value:num,seed:num):
uniform(seed:num=clock_seed(), low:num=0, high:num=1, shape:num) -> (value:[num],seed:num):
uniform(seed:num=clock_seed(), low:num=0, high:num=1, shape:(num,num)) -> (value:[[num]],seed:num):
normal(seed:num=clock_seed(), mean:num=0, variance:num=1) -> (value:num,seed:num):
Download packaged random.vkf

SHA256 f1bf76f090e09c8858e45492f1f7f858a89d22dd08e559735bfb69278d4eabe5

10.regex / Byte regular expressionsCapability declaration; target-dependent

Compiler-specialized match and groups with compile-time patterns. Packaged notes exclude alternation and quantified groups.

matchgroups
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

This module declares capabilities, imports or constants; callable exports are compiler-owned.
Download packaged regex.vkf

SHA256 748c91c569cb4e0c19d253f8eba7b47b403353ab21fea9539bccf4b1a2b11df7

11.symbolic / Symbolic source inventoryExperimental; browser coverage unresolved

The package contains symbolic expression, transform and verification definitions. First-class symbolic-domain use is not qualified by the homepage’s deriv_t example. Treat these APIs as experimental source inventory; broad browser support is unresolved.

symbol_namesymbol_is_constantsymbol_latexkatexsameconstantsincosloglnsqrtexpreal_partmagnitudeequationless_thanless_equalgreater_thangreater_equalnot_equalimpliespremiseconclusionderivativeprimepartialatwhereboundary_valueboundary_domainequivalentz_transformverify_z_transformz_transform_conditionverify_z_transform_conditiontransform_condition_counttransform_conditionz_transform_conditionsverify_z_transform_conditionsverify_inverse_z_transforminverse_z_transformlaplaceverify_laplacelaplace_conditionverify_laplace_conditionlaplace_conditionsverify_laplace_conditionsverify_inverse_laplaceinverse_laplaceverify_ode_solutionsolve_pdeverify_pde_solutionverify_heat_solutionsolve_recurrencefourierverify_fourierverify_inverse_fourierinverse_fourierfourier_realfourier_imaghaar_waveletverify_haar_waveletverify_inverse_haar_waveletinverse_haar_waveletsolution_countsolution_verifiedsolution_condition_countsolution_conditionsolution_is_branchedsolution_branch_countsolution_branchsolution_is_familysolution_family_dimensionsolution_particular_valuesolution_direction_valuesolution_valueasymptoticverify_asymptoticrootssolveverify_solutionspolynomialadd_termcoefficientdepends_onintegrateinspect_integrateintegdifferentiateinspect_differentiatederivdiffsolve_odelimitverify_limitevaluateverify_recurrenceexpandcollectinspect_simplifyevaluate_inspectionsimplifysubstituteterm_countseries_multiply

For a currently demonstrated exact derivative, see function-variable transforms. That example does not establish complete symbolic-library support.

Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

symbol_name(value:symbol) -> str:
symbol_is_constant(value:symbol) -> bit:
symbol_latex(value:symbol) -> str:
katex(value:expression) -> str:
same(left:expression, right:expression) -> bit:
constant(value:num) -> constant:
sin(value:expression) -> expression:
cos(value:expression) -> expression:
log(value:expression) -> expression:
ln(value:expression) -> expression:
sqrt(value:expression) -> expression:
exp(value:expression) -> expression:
real_part(value:expression) -> expression:
magnitude(value:expression) -> expression:
equation(left:expression, right:expression) -> relation:
equation(left:expression, right:num) -> relation:
equation(left:num, right:expression) -> relation:
less_than(left:expression, right:expression) -> relation:
less_equal(left:expression, right:expression) -> relation:
greater_than(left:expression, right:expression) -> relation:
greater_equal(left:expression, right:expression) -> relation:
not_equal(left:expression, right:expression) -> relation:
not_equal(left:expression, right:num) -> relation:
not_equal(left:num, right:expression) -> relation:
implies(left:proposition, right:proposition) -> proposition:
premise(value:proposition) -> proposition:
conclusion(value:proposition) -> proposition:
derivative(value:expression, variable:symbol) -> expression:
derivative(variable_name:chr, value:expression) -> expression:
prime(value:expression, order:num = 1) -> expression:
partial(value:expression, variable:symbol, order:num = 1) -> expression:
partial(variable_name:chr, value:expression, order:num = 1) -> expression:
at(value:expression, point:num) -> expression:
at(value:expression, argument:expression) -> expression:
at(value:expression, variable:symbol, point:num) -> expression:
at(variable_name:chr, value:expression, point:num) -> expression:
at(value:expression, arguments:[expression:n]) -> expression:
where(value_constraint:relation, domain_constraint:relation) -> relation:
boundary_value(boundary:relation) -> relation:
boundary_domain(boundary:relation) -> relation:
equivalent(left:expression, right:expression) -> bit:
z_transform(value:symbolic, index:symbolic, frequency:symbolic) -> symbolic:
verify_z_transform(
    candidate:symbolic,
    value:symbolic,
    index:symbolic,
    frequency:symbolic
) -> bit:
z_transform_condition(value:symbolic, index:symbolic, frequency:symbolic) -> relation:
verify_z_transform_condition(
    candidate:relation,
    value:symbolic,
    index:symbolic,
    frequency:symbolic
) -> bit:
transform_condition_count(conditions:[num]) -> num:
transform_condition(conditions:[num], index:num) -> symbolic:
z_transform_conditions(value:symbolic, index:symbolic, frequency:symbolic) -> [num]:
verify_z_transform_conditions(
    candidate:[num],
    value:symbolic,
    index:symbolic,
    frequency:symbolic
) -> bit:
verify_inverse_z_transform(
    candidate:symbolic,
    value:symbolic,
    frequency:symbolic,
    index:symbolic
) -> bit:
inverse_z_transform(value:symbolic, frequency:symbolic, index:symbolic) -> symbolic:
laplace(value:symbolic, time:symbolic, frequency:symbolic) -> symbolic:
verify_laplace(
    candidate:symbolic,
    value:symbolic,
    time:symbolic,
    frequency:symbolic
) -> bit:
laplace_condition(value:symbolic, time:symbolic, frequency:symbolic) -> relation:
verify_laplace_condition(
    candidate:relation,
    value:symbolic,
    time:symbolic,
    frequency:symbolic
) -> bit:
laplace_conditions(value:symbolic, time:symbolic, frequency:symbolic) -> [num]:
verify_laplace_conditions(
    candidate:[num],
    value:symbolic,
    time:symbolic,
    frequency:symbolic
) -> bit:
verify_inverse_laplace(
    candidate:symbolic,
    value:symbolic,
    frequency:symbolic,
    time:symbolic
) -> bit:
inverse_laplace(value:symbolic, frequency:symbolic, time:symbolic) -> symbolic:
verify_ode_solution(solution:symbolic, independent:symbolic, rate:num, initial:num) -> bit:
solve_pde(
    differential_equation:symbolic,
    initial_condition:symbolic,
    boundaries:[symbolic:n],
    dependent:symbolic,
    space:symbolic,
    time:symbolic
) -> symbolic:
verify_pde_solution(
    solution:symbolic,
    differential_equation:symbolic,
    initial_condition:symbolic,
    boundaries:[symbolic:n],
    dependent:symbolic,
    space:symbolic,
    time:symbolic
) -> bit:
verify_pde_solution(
    solution:symbolic,
    differential_equation:symbolic,
    boundaries:[symbolic:n],
    dependent:symbolic,
    variables:[symbolic:m]
) -> bit:
solve_pde(
    differential_equation:symbolic,
    boundaries:[symbolic:n],
    dependent:symbolic,
    variables:[symbolic:m]
) -> symbolic:
verify_heat_solution(solution:symbolic, space:symbolic, time:symbolic) -> bit:
solve_recurrence(multiplier:num, offset:num, initial:num, index:symbolic) -> symbolic:
fourier(value:symbolic, time:symbolic, frequency:symbolic) -> symbolic:
verify_fourier(candidate:symbolic, value:symbolic, time:symbolic, frequency:symbolic) -> bit:
verify_inverse_fourier(candidate:symbolic, value:symbolic, frequency:symbolic, time:symbolic) -> bit:
inverse_fourier(value:symbolic, frequency:symbolic, time:symbolic) -> symbolic:
fourier(values:[num:n]) -> [num]:
fourier_real(spectrum:[num], frequency:num) -> num:
fourier_imag(spectrum:[num], frequency:num) -> num:
verify_inverse_fourier(candidate:[num], spectrum:[num], tolerance:num) -> bit:
verify_inverse_fourier(candidate:[num], spectrum:[num]) -> bit:
inverse_fourier(spectrum:[num]) -> [num]:
haar_wavelet(value:symbolic, variable:symbolic, scale:num, shift:num) -> symbolic:
verify_haar_wavelet(candidate:symbolic, value:symbolic, variable:symbolic, scale:num, shift:num) -> bit:
haar_wavelet(values:[num:n]) -> [num]:
verify_inverse_haar_wavelet(
    candidate:[num],
    coefficients:[num],
    tolerance:num
) -> bit:
verify_inverse_haar_wavelet(candidate:[num], coefficients:[num]) -> bit:
inverse_haar_wavelet(coefficients:[num]) -> [num]:
solution_count(solutions:symbolic) -> num:
solution_verified(solutions:symbolic) -> bit:
solution_condition_count(solutions:symbolic) -> num:
solution_condition(solutions:symbolic, condition_index:num) -> relation:
solution_is_branched(solutions:symbolic) -> bit:
solution_branch_count(solutions:symbolic) -> num:
solution_branch(solutions:symbolic, branch_index:num) -> symbolic:
solution_is_family(solutions:symbolic) -> bit:
solution_family_dimension(solutions:symbolic) -> num:
solution_particular_value(solutions:symbolic, variable_index:num) -> symbolic:
solution_direction_value(solutions:symbolic, direction_index:num, variable_index:num) -> symbolic:
solution_value(solutions:symbolic, solution_index:num, variable_index:num = 0) -> symbolic:
asymptotic(value:symbolic, variable:symbolic) -> symbolic:
asymptotic(variable_name:chr, value:symbolic) -> symbolic:
verify_asymptotic(candidate:symbolic, value:symbolic, variable:symbolic) -> bit:
roots(equation_value:symbolic, variable:symbolic) -> {num}:
roots(variable_name:chr, equation_value:symbolic) -> {num}:
solve(equation_value:symbolic, variables:[symbolic:n]) -> symbolic:
verify_solutions(
    solutions:symbolic,
    equations:[symbolic:e],
    variables:[symbolic:v]
) -> bit:
solve(equations:[symbolic:e], variables:[symbolic:v]) -> symbolic:
polynomial(variable:symbolic, requested_capacity:num = 4096) -> symbolic:
polynomial(variable_name:chr, requested_capacity:num = 4096) -> symbolic:
add_term(value:symbolic, coefficient_value:num, exponent:num) -> symbolic:
coefficient(value:symbolic, exponents:[num]) -> num:
depends_on(value:symbolic, variable:symbolic) -> bit:
depends_on(variable_name:chr, value:symbolic) -> bit:
integrate(value:symbolic, variable:symbolic) -> symbolic:
inspect_integrate(value:symbolic, variable:symbolic) -> (source:symbolic,expression:symbolic,steps:[(ordinal:num,rule_id:str,status:str,input:symbolic,output:symbolic,assumption:(kind:str,operand:symbolic,scope:str),numerical_requirement:str,execution_authority:bit)],domain:(scope:str,execution_checked:bit),ordinal_scope:str,numerical_requirement:str,execution_authority:bit):
integrate(variable_name:chr, value:symbolic) -> symbolic:
integ(variable_name:chr, value:symbolic) -> symbolic:
integ(variable_names:[chr], value:symbolic) -> symbolic:
integ(axis:chr, values:[num:n], spacing:num = 1) -> num:
integ(axis:chr, values:[num:n], coordinates:[num:m]) -> num:
differentiate(value:symbolic, variable:symbolic, cache:bit = true) -> symbolic:
inspect_differentiate(value:symbolic, variable:symbolic, cache:bit = true) -> (source:symbolic,expression:symbolic,steps:[(ordinal:num,rule_id:str,status:str,input:symbolic,output:symbolic,assumption:(kind:str,operand:symbolic,scope:str),numerical_requirement:str,execution_authority:bit)],domain:(scope:str,execution_checked:bit),ordinal_scope:str,numerical_requirement:str,execution_authority:bit):
differentiate(variable_name:chr, value:symbolic, cache:bit = true) -> symbolic:
deriv(variable_name:chr, value:symbolic, cache:bit = true) -> symbolic:
deriv(axis:chr, values:[num:n], spacing:num = 1) -> [num:n]:
diff(value:symbolic, variable:symbolic, cache:bit = true) -> symbolic:
diff(variable_name:chr, value:symbolic, cache:bit = true) -> symbolic:
verify_ode_solution(
    solution:symbolic,
    differential_equation:symbolic,
    initial_condition:symbolic,
    dependent:symbolic,
    independent:symbolic,
    checks:num = 16
) -> bit:
solve_ode(
    differential_equation:symbolic,
    initial_condition:symbolic,
    dependent:symbolic,
    independent:symbolic
) -> symbolic:
verify_ode_solution(
    solution:symbolic,
    differential_equation:symbolic,
    conditions:[symbolic:n],
    dependent:symbolic,
    independent:symbolic,
    checks:num = 16
) -> bit:
solve_ode(
    differential_equation:symbolic,
    conditions:[symbolic:n],
    dependent:symbolic,
    independent:symbolic
) -> symbolic:
limit(value:symbolic, variable:symbolic, point:num, side:str) -> symbolic:
limit(variable_name:chr, value:symbolic, point:num, side:str) -> symbolic:
limit(value:symbolic, variable:symbolic, point:num) -> symbolic:
limit(variable_name:chr, value:symbolic, point:num) -> symbolic:
limit(value:symbolic, variable:symbolic, point:symbolic) -> symbolic:
limit(variable_name:chr, value:symbolic, point:symbolic) -> symbolic:
integ(variable_name:chr,
verify_limit(
    candidate:symbolic,
    value:symbolic,
    variable:symbolic,
    point:num,
    side:str = "both"
) -> bit:
verify_limit(
    candidate:symbolic,
    value:symbolic,
    variable:symbolic,
    point:symbolic
) -> bit:
evaluate(value:symbolic, variables:[num]) -> num:
verify_recurrence(
    solution:symbolic,
    index:symbolic,
    multiplier:num,
    offset:num,
    initial:num,
    checks:num = 16
) -> bit:
verify_recurrence(
    solution:symbolic,
    recurrence:symbolic,
    initial_condition:symbolic,
    dependent:symbolic,
    index:symbolic,
    checks:num = 16
) -> bit:
verify_recurrence(
    solution:symbolic,
    recurrence:symbolic,
    initial_conditions:[symbolic:2],
    dependent:symbolic,
    index:symbolic,
    checks:num = 16
) -> bit:
solve_recurrence(
    recurrence:symbolic,
    initial_condition:symbolic,
    dependent:symbolic,
    index:symbolic
) -> symbolic:
solve_recurrence(
    recurrence:symbolic,
    initial_conditions:[symbolic:2],
    dependent:symbolic,
    index:symbolic
) -> symbolic:
solve(
    relation:symbolic,
    conditions:[symbolic:1],
    dependent:symbolic,
    independent:symbolic
) -> symbolic:
solve(
    relation:symbolic,
    conditions:[symbolic:2],
    dependent:symbolic,
    independent:symbolic
) -> symbolic:
solve(
    relation:symbolic,
    conditions:[symbolic:n],
    dependent:symbolic,
    independent:[symbolic:m]
) -> symbolic:
expand(value:symbolic) -> symbolic:
collect(value:symbolic) -> symbolic:
inspect_simplify(value:symbolic) -> (source:symbolic,expression:symbolic,steps:[(ordinal:num,rule_id:str,status:str,input:symbolic,output:symbolic,assumption:(kind:str,operand:symbolic,scope:str),numerical_requirement:str,execution_authority:bit)],domain:(scope:str,execution_checked:bit),ordinal_scope:str,numerical_requirement:str,execution_authority:bit):
evaluate_inspection(view:(source:symbolic,expression:symbolic,steps:[(ordinal:num,rule_id:str,status:str,input:symbolic,output:symbolic,assumption:(kind:str,operand:symbolic,scope:str),numerical_requirement:str,execution_authority:bit)],domain:(scope:str,execution_checked:bit),ordinal_scope:str,numerical_requirement:str,execution_authority:bit), variables:[num]) -> num:
simplify(value:symbolic) -> symbolic:
substitute(value:symbolic, variable:symbolic, replacement:symbolic) -> symbolic:
substitute(value:symbolic, variable:symbolic, replacement:num) -> symbolic:
substitute(variable_name:chr, value:symbolic, replacement:symbolic) -> symbolic:
substitute(variable_name:chr, value:symbolic, replacement:num) -> symbolic:
term_count(value:symbolic) -> num:
series_multiply(left:[num], right:[num], order:num) -> [num]:
Download packaged symbolic.vkf

SHA256 70ac20e278689da2a155213120a804ee5c5143ba51682f208a8f65dd74377175

12.physics / Physical model helpersSource; broad runtime coverage unqualified

Source includes mass properties, rigid-body state, contact impulses and material helpers. The small quantity examples below do not qualify a complete physical simulation engine.

rb_add3rb_sub3rb_scale3rb_dot3rb_cross3rb_mat3rb_identity3rb_scale_mat3rb_add_mat3rb_outer3rb_trace3rb_det3rb_inverse3rb_mat_vec3rb_absparallel_axis_shift3tetra_mass_properties3combine_mass_properties3rigid_state3force_at_point3step_rigid_body_momentum3vec2vec3add2add3sub2sub3scale2scale3dot2dot3cross3mat2mat3zero3x3identity3x3scale_mat3add_mat3neg_mat3mat_vec3mat_mul3diag_inv3skew3collision_body3collision_body_inverse3body_inv_mass3body_pp3body_pL3body_Lp3body_LL3collision_matrix3apply_collision_matrix3normal_restitution_impulse3abs_numclamp_nummax_numlength3unit_or_zero3project_normal3project_tangent3tangential_friction_impulse3normal_contact_impulse3rolling_resistance_impulse3spin_friction_impulse3coupled_contact_impulse3solid_contact_impulse3angular_damping3dice_texturerigid_materialdice_materialfelt_table_materialcontact_materialcopy_rigid_materialinfinite_plane3cube_inv_inertia3dice_body3dice_roll_initial_statefirst_plane_bounce3dice_transform_framedice_roll_path3settled_face_from_angular_velocity

Unit-aware state evolution

Loading compiler…
Console
Expected result · 0.7.2
6 m
4 m/s

Motion fields

Loading compiler…
Console
Expected result · 0.7.2
[[0, 2, 0], [1, 4, 0]] m
[[0, 1, 0], [0, 2, 0]] m/s
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

rb_add3(a:any, b:any):
rb_sub3(a:any, b:any):
rb_scale3(s:num, v:any):
rb_dot3(a:[num:3], b:[num:3]) -> num:
rb_cross3(a:[num:3], b:[num:3]) -> [num:3]:
rb_mat3(
    a00:num, a01:num, a02:num,
    a10:num, a11:num, a12:num,
    a20:num, a21:num, a22:num
):
rb_identity3():
rb_scale_mat3(s:num, A:any):
rb_add_mat3(A:any, B:any):
rb_outer3(a:[num:3], b:[num:3]) -> [[num:3]:3]:
rb_trace3(A:[[num:3]:3]) -> num:
rb_det3(A:[[num:3]:3]) -> num:
rb_inverse3(A:[[num:3]:3]) -> [[num:3]:3]:
rb_mat_vec3(A:[[num:3]:3], v:[num:3]) -> [num:3]:
rb_abs(x:num):
parallel_axis_shift3(mass:num, displacement:any):
tetra_mass_properties3(a:any, b:any, c:any, d:any, density:num):
combine_mass_properties3(a:any, b:any):
rigid_state3(position:[num:3], momentum:[num:3], angular_momentum:[num:3]):
force_at_point3(force:any, point:any, center_world:any):
step_rigid_body_momentum3(
    state:(position:[num:3], momentum:[num:3], angular_momentum:[num:3]),
    properties:(mass:num, inertia_tensor:[[num:3]:3]),
    dt:num,
    force:[num:3],
    torque:[num:3]
):
vec2(x:num, y:num):
vec3(x:num, y:num, z:num):
add2(a:any, b:any):
add3(a:any, b:any):
sub2(a:any, b:any):
sub3(a:any, b:any):
scale2(s:num, v:any):
scale3(s:num, v:any):
dot2(a:[num:2], b:[num:2]) -> num:
dot3(a:[num:3], b:[num:3]) -> num:
cross3(a:[num:3], b:[num:3]) -> [num:3]:
mat2(a00:num, a01:num, a10:num, a11:num):
mat3(
    a00:num, a01:num, a02:num,
    a10:num, a11:num, a12:num,
    a20:num, a21:num, a22:num
):
zero3x3():
identity3x3():
scale_mat3(s:num, A:any):
add_mat3(A:any, B:any):
neg_mat3(A:any):
mat_vec3(A:[[num:3]:3], v:[num:3]) -> [num:3]:
mat_mul3(A:[[num:3]:3], B:[[num:3]:3]) -> [[num:3]:3]:
diag_inv3(diagonal:any):
skew3(r:any):
collision_body3(mass:num, inv_inertia:[[num:3]:3], contact_offset:[num:3]):
collision_body_inverse3(inv_mass:num, inv_inertia:[[num:3]:3], contact_offset:[num:3]):
body_inv_mass3(body:any):
body_pp3(body:any):
body_pL3(body:any):
body_Lp3(body:any):
body_LL3(body:any):
collision_matrix3(body_a:any, body_b:any):
apply_collision_matrix3(matrix:any, linear_impulse:any, angular_impulse:any):
normal_restitution_impulse3(matrix:any, relative_velocity:any, normal:any, restitution:num):
abs_num(x:num):
clamp_num(x:num, lo:num, hi:num):
max_num(a:num, b:num):
length3(v:any):
unit_or_zero3(v:any):
project_normal3(v:any, normal:any):
project_tangent3(v:any, normal:any):
tangential_friction_impulse3(matrix:any, relative_velocity:any, normal:any, normal_impulse_magnitude:num, contact:any):
normal_contact_impulse3(matrix:any, relative_velocity:any, normal:any, contact:any):
rolling_resistance_impulse3(
    matrix:any,
    relative_angular_velocity:any,
    normal:any,
    normal_impulse_magnitude:num,
    contact_radius:num,
    contact:any
):
spin_friction_impulse3(
    matrix:any,
    relative_angular_velocity:any,
    normal:any,
    normal_impulse_magnitude:num,
    contact_radius:num,
    contact:any
):
coupled_contact_impulse3(
    matrix:any,
    relative_velocity:any,
    relative_angular_velocity:any,
    normal:any,
    tangent:any,
    rolling_axis:any,
    normal_impulse_magnitude:num,
    rolling_impulse_magnitude:num,
    contact_radius:num,
    contact:any
):
solid_contact_impulse3(
    matrix:any,
    relative_velocity:any,
    relative_angular_velocity:any,
    normal:any,
    tangent:any,
    rolling_axis:any,
    contact_radius:num,
    rolling_radius:num,
    contact:any
):
angular_damping3(angular_velocity:any, damping:num):
dice_texture():
rigid_material(
    name:str,
    density:num,
    e_n:num,
    e_t:num,
    mu_s:num,
    mu_d:num,
    mu_r:num
):
dice_material():
felt_table_material():
contact_material(a:any, b:any):
copy_rigid_material(value:any):
infinite_plane3(normal:[num:3], offset:num, source_material:any):
cube_inv_inertia3(mass:num, size:num):
dice_body3(
    size:num,
    mass:num,
    center:[num:3],
    linear_velocity:[num:3],
    angular_velocity:[num:3],
    source_material:any
):
dice_roll_initial_state(seed:num):
first_plane_bounce3(dice:any, plane:any, contact:any):
dice_transform_frame(center:any, rotation_degrees:any):
dice_roll_path3(dice:any, plane:any, contact:any):
settled_face_from_angular_velocity(angular_velocity:any):
Download packaged physics.vkf

SHA256 a311aa4c5a9295508cc0554616c380c2dac80a87f745f25788c3e30a653539c3

13.io / Files and streamsNative host capability

Text and string-backed byte buffers: print, read_line and file operations. The browser runner does not offer native filesystem access.

printeprintread_lineread_textwrite_textappend_textread_byteswrite_bytes
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

This module declares capabilities, imports or constants; callable exports are compiler-owned.
Download packaged io.vkf

SHA256 0df4f64fa1597f619743fb0ff01105f59c1e7883e19bc095f00ba48e9a3e7d80

14.command / OS commandsNative host capability

run takes a program and exact argument vector; shell explicitly crosses into the platform shell. These native OS capabilities are unavailable to website programs.

runshell
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

run(program:str, args:any) -> (code:int,out:str,err:str):
shell(command:str) -> (code:int,out:str,err:str):
Download packaged command.vkf

SHA256 1d7b751e40daaf1689bb78dbac8fb593a998841e6b05de50e49130089ac63d34

15.system / Host informationNative host capability

Read host identity, working directory, environment and CPU count. Native host capabilities differ from the isolated browser runner.

osarchcpu_countcwdenv
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

os() -> str:
arch() -> str:
cpu_count() -> int:
cwd() -> str:
env(name:str) -> (found:bit,value:str):
Download packaged system.vkf

SHA256 5c676dc0a433d85cfbaa117b4572516457d8bec92d6cb0d5435f1279f1b89ed9

16.time / Clocks and time formattingTarget-dependent host capability

Read clocks, sleep and format time. Blocking and clock capabilities require a compatible target runtime.

wall_timemonotonicsleeptime_stampformat_timecurrent_time
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

wall_time() -> num:
monotonic() -> num:
sleep(seconds:num):
time_stamp() -> str:
format_time(seconds:num, fmt:str="%Y-%m-%d %H:%M:%S", utc:bit=false) -> str:
current_time(fmt:str="%Y-%m-%d %H:%M:%S", utc:bit=false) -> str:
Download packaged time.vkf

SHA256 5f0f6f742cf1a585323e5e562dcf8d99b06164ae3c8d2790c9aefcce77b3c9bc

17.ui.colormaps / Colormap selectorsCompiler selector namespace

Compile-time palette selectors for viewport layers. The suffix selects the color coordinate; alpha forms add an opacity channel. See the packaged source for normalization and axis rules.

viridis_iplasma_iinferno_imagma_icividis_iturbo_iSpectral_itwilight_itab20_iterrain_ialpha_jet_ijalpha_tab20_qi
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

This module declares capabilities, imports or constants; callable exports are compiler-owned.
Download packaged ui/colormaps.vkf

SHA256 1b990601fb9c33eb64c0c72017dcdc0f930ad8d83dbc881566d263d573577c82

18.units.si / Coherent SI catalogCatalog source

The base catalog imported by .units. Native lowering expands unit metadata and prefixes.

Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

This module declares capabilities, imports or constants; callable exports are compiler-owned.
Download packaged units/si.vkf

SHA256 36a2ce04f5ebff724d5c75a330f7eb42a5d816749557fb9f8b6668a60fd928c1

19.physics.units / Physics unit aliasCatalog alias

Reexports the physical quantity catalog for existing physics programs. New numerical code can import .units directly.

Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

This module declares capabilities, imports or constants; callable exports are compiler-owned.
Download packaged physics/units.vkf

SHA256 79039b8d5f00479b1682532f0739d2132694895334dc983b0b6fd524645b2cf2

20.physics.units.si / Physics SI aliasCatalog alias

Compatibility namespace for coherent SI units. Unit semantics remain part of the language core.

Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

This module declares capabilities, imports or constants; callable exports are compiler-owned.
Download packaged physics/units/si.vkf

SHA256 d209486b3645d3faf1ed499356cda2fb268c28c813a100c9d17821f78b5f1f05

21.physics.preparation / Tetrahedron preparationExperimental source

Validation and preparation helpers for tetrahedral mass data. Source inventory only; not qualified by the quantity examples.

finiteprepare_tetrahedron
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

finite(x:num): (x=x) /\ ((abs(x)-abs(x))=0) /\ ((x=abs(x)) \/ (x=0-abs(x)))
prepare_tetrahedron(a:[quantity<1,0,0,0,0,0,0>:3],b:[quantity<1,0,0,0,0,0,0>:3],c:[quantity<1,0,0,0,0,0,0>:3],d:[quantity<1,0,0,0,0,0,0>:3],authoredmass:quantity<0,1,0,0,0,0,0>):
Download packaged physics/preparation.vkf

SHA256 02b008fb837933f2a975847fc26e63753988bdec27e7b7004af40f517d4696a8

22.physics.convex_preparation / Convex geometry preparationExperimental source

Vertex, edge and face validation before preparing a convex object in SI.

vertexvalidate_vertexvalidate_edgevalidate_face_indicesvalidate_facepart_for_faceprepare_convex_si
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

vertex(points:[[num:3]:n],index:int):
validate_vertex(points:[[num:3]:n],faces:[[int:3]:nf],i:int):
validate_edge(faces:[[int:3]:nf],u:int,w:int):
validate_face_indices(count:int,face:[int:3]):
validate_face(points:[[num:3]:n],faces:[[int:3]:nf],i:int,origin:[num:3]):
part_for_face(points:[[num:3]:n],faces:[[int:3]:nf],origin:[num:3],i:int):
prepare_convex_si(points:[[num:3]:n],faces:[[int:3]:nf],massvalue:num,mu_s:num,mu_d:num,restitution:num):
Download packaged physics/convex_preparation.vkf

SHA256 69145d0db315e3d97aff50077fedf7c879be1cdb093b63a7aa3b6a9fbf08ae00

23.physics.rigid / Rigid-body preparation and stepExperimental source

Prepare physical state and advance it with source-defined helpers. Complete runtime and target acceptance is not established here.

prepare_sistepprepare
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

prepare_si(points:[[P:3]:nv],faces:[[Q:3]:nf],massvalue:M,friction:Y,restitution:R,position:[X:3],orientation:[O:4],velocity:[D:3],omega:[U:3],gravity:[G:3]):
step(state:(backing:(definition:(geometry:(mass:num,volume:num,center_of_mass:[num:3],inertia_tensor:[[num:3]:3],geometry:(vertices:[[num:3]:nv],faces:[[int:3]:nf]),material:(mu_s:num,mu_d:num,restitution:num)),initial:(position:[num:3],orientation:[num:4],velocity:[num:3],omega:[num:3]),gravity:[num:3]),history:list<num>,snapshot:[num:14]),time:quantity<0,0,1,0,0,0,0>,position:[quantity<1,0,0,0,0,0,0>:3],orientation:[num:4],velocity:[quantity<1,0,-1,0,0,0,0>:3],omega:[quantity<0,0,-1,0,0,0,0>:3]),duration:quantity<0,0,1,0,0,0,0>):
prepare(points:[[quantity<1,0,0,0,0,0,0>:3]:nv],faces:[[Q:3]:nf],massvalue:quantity<0,1,0,0,0,0,0>,friction:Y,restitution:R,position:[quantity<1,0,0,0,0,0,0>:3],orientation:[O:4],velocity:[quantity<1,0,-1,0,0,0,0>:3],omega:[quantity<0,0,-1,0,0,0,0>:3],gravity:[quantity<1,0,-2,0,0,0,0>:3]):
Download packaged physics/rigid.vkf

SHA256 44ba578abc45acbcca83f94487878d212542648e50bf951261d281c54f01d03c

24.physics.supported_contact / Supported contactExperimental source

Contact and advance helpers for supported bodies. Treat runtime support as target-dependent.

supported_signsupported_finitesupported_maxsupported_minsupported_candidatesupported_countsupported_contact_siadvance
Source signatures and provenance

Exact source extracted from the pinned compiler.data archive. Names listed above may include documented compiler intrinsics; the signatures below are source definitions only.

supported_sign(x:num):
supported_finite(x:num): (x=x) /\ ((abs(x)-abs(x))=0) /\ ((x=abs(x)) \/ (x=0-abs(x)))
supported_max(a:num,b:num):
supported_min(a:num,b:num):
supported_candidate(active:bit,value:num,index:int):
supported_count(active:bit):
supported_contact_si(mass:num,inertia:num,radius:num,normal_load:num,drive:num,velocity:num,omega:num,spin0:num,duration:num,mu_s:num,mu_d:num,mu_r:num,rolling_length:num,mu_n:num,spin_length:num):
advance(mass,inertia,radius,normal_load,drive,v,omega,spin,dt,mu_s,mu_d,mu_r,rolling_length,mu_n,spin_length):
Download packaged physics/supported_contact.vkf

SHA256 9005c4186c9896fecee7dfcfe645c019048ae4d741486e8c593796e43bef6a05

All packaged sources, including support modules

Package source: fb41913c619e0dac6c66b08ee44e1ee18ce67aa8. Machine-readable source inventory and hashes · Compiler pins