fjs — FunctionalScript CLI

fjs is the FunctionalScript command-line tool. It is invoked directly via Node:

node ./fjs/module.mjs <command> [args]

or via npx without a global install:

npx functionalscript <command> [args]

npx resolves the package name, not the bin name: fjs is an unrelated package on npm, so npx fjs … would run somebody else's code.

or, once the package is installed globally:

fjs <command> [args]

Browse the website CLI reference for commands, aliases and copyable examples.

Commands

CommandDescriptionDocumentation
testRun the FunctionalScript test suiteemergent_testing
compileCompile a FunctionalScript module to JavaScript or JSON; with no arguments, check every .f.jscompiler
depsCheck syntax AST formation for files named module.f.js or module.f.mjsdeps
casContent-addressable storage operations (add, get, list)cas
mcpRun an MCP server over stdio exposing the CAS and Evo as toolsmcp
ciGenerate the GitHub Actions CI and npm publishing workflowsci
webServe a directory over HTTPweb
runRun a FunctionalScript module as a programbelow
helpPrint available commands

Some commands also accept a short alias (fjs t for fjs test, and so on). fjs help prints them; this documentation uses the full names throughout.

fjs compile — compiling a module

fjs compile <input> <output>

The output is the language its extension declares, matched by the longest suffix first:

OutputWhat it holds
.jsona tree, a shared value written where each reference reaches it, refusing a value JSON cannot spell — undefined, a bigint, NaN, an infinity, a function — rather than approximate it
.edag.data.js, .edag.data.mjsthe program's EDAG, the graph of what it computes, as a DataJS document
.data.js, .data.mjsthe value as a DataJS module, sharing preserved by naming reused values as consts
any other .js or .mjsthe program as a FunctionalScript module, written from the graph rather than the value, so it holds a function too
.rsa generated Rust module calling the nanvm-lib API

The JavaScript names are nested rather than disjoint — a DataJS document is a JavaScript module, and so is the EDAG's — so the longest suffix is what picks the narrowest writer the name asks for, and .f.js needs no rule of its own: it is a JavaScript module, and every output the compiler writes is FunctionalScript. Any other extension is refused: it names no language, and writing one the name does not declare is the silent substitution this route exists to avoid. Imports are resolved and inlined in every case. See compiler/README.md for the accepted subset.

fjs compile

With no arguments the command is a check: every .f.js under the current directory is compiled the same way and nothing is written, so an authored .f.js — the extension that promises the current compiler accepts it — is held to that promise. Each refused file is reported as a compile of it would report it, then a count: .f.js: 3 checked, 2 refused and exit 1, or .f.js: 3 checked and exit 0. CI runs it once per revision (spec: checking every .f.js).

fjs ci — generating the standard workflows

fjs ci

fjs ci runs the built-in CI generator from fjs/ci/module.f.mjs, writing .github/workflows/gen.ci.yml and .github/workflows/gen.npm-publish.yml. It is the standard entry point for projects that want FunctionalScript's default workflows. Projects with custom CI setup code should keep using fjs run <custom-ci-module>, so their module can call ci(setup) with its own extra runtime steps.

fjs web — serving a directory

fjs web [root] [port]

Serves root (default .) over HTTP on port (default 8080), mapping each request path to a file under it — enough to open the pages this repository generates in a browser, where a file:// URL has no origin. It binds loopback, so what it serves stays on the machine it runs on. Both arguments are positional; port becomes --port, and --host becomes possible at all, once fjs/cli has named options.

fjs web            # serve the working directory on http://127.0.0.1:8080/
fjs web docs 3000  # serve ./docs on http://127.0.0.1:3000/

Details, and the list of what it deliberately does not do, are in web.

fjs run — running a module as a program

fjs run <module> [args...]

fjs run dynamically imports <module>, checks its main export with isMain and runs it through dispatch, both from cli:

isMain(v.main)
    ? dispatch(v.main)({ ...options, args })
    : errorExit(`${file}: not a program — no exported \`main\` function or command table`)

Convention: export const main

A module intended to be run with fjs run must export a named main constant of type Main (from cli/types.ts): either a NodeProgram or a Commands table. A program is the simple case:

import type { NodeProgram } from '../effects/node/types.ts'

export const main: NodeProgram = options => {
    // options.args — command-line arguments passed after the module path
    ...
}

A module whose interface is a set of subcommands exports the table itself, and fjs run routes the first argument to the command it names, with help listing them — no dispatch wrapper needed:

import type { NodeOp } from '../effects/node/types.ts'
import type { Commands } from '../cli/types.ts'

export const main: Commands<NodeOp> = [
    { names: ['hello'], description: 'Say hello', handler: options => { ... } },
]

This mirrors:

  • export const proof — the convention for proof/test modules.
  • main entry-point naming from C, C++, and Rust.
  • fjs/module.f.mjs itself, which uses export const main.

Passing arguments

Any arguments after <module> are forwarded to a program main via options.args:

fjs run ./my-tool.f.mjs foo bar   # options.args === ['foo', 'bar']

A command table consumes the first of them as the command name, and the handler it names gets the rest:

fjs run ./my-tool.f.mjs hello foo bar   # hello's options.args === ['foo', 'bar']

Architecture

fjs/module.mjs         — Node.js entry point (runs main via the node runner)
fjs/module.f.mjs       — FunctionalScript command dispatcher (Commands list + dispatch)
fjs/cli/module.f.mjs   — generic dispatch primitive (Command/Commands types in fjs/cli/types.ts)

Emergent Testing

Idle. Press Run to start the suite.

  • ./asn.1/proof.f.mjs
  • ./asserts/proof.f.mjs
  • ./basen/base128/proof.f.mjs
  • ./basen/base16/proof.f.mjs
  • ./basen/base64/proof.f.mjs
  • ./basen/base64url/proof.f.mjs
  • ./basen/cbase32/proof.f.mjs
  • ./basen/proof.f.mjs
  • ./cas/cli/proof.f.mjs
  • ./cas/evo/proof.f.mjs
  • ./cas/git/cli/proof.f.mjs
  • ./cas/git/proof.f.mjs
  • ./cas/proof.f.mjs
  • ./ci/bun/proof.f.mjs
  • ./ci/cache/inputs/proof.f.mjs
  • ./ci/cache/proof.f.mjs
  • ./ci/cache/publish/proof.f.mjs
  • ./ci/common/proof.f.mjs
  • ./ci/deno/proof.f.mjs
  • ./ci/environment/proof.f.mjs
  • ./ci/mise/proof.f.mjs
  • ./ci/node/proof.f.mjs
  • ./ci/package/proof.f.mjs
  • ./ci/proof.f.mjs
  • ./ci/publish/proof.f.mjs
  • ./ci/rust/proof.f.mjs
  • ./ci/self/proof.f.mjs
  • ./ci/smart/proof.f.mjs
  • ./ci/spidermonkey/proof.f.mjs
  • ./cli/proof.f.mjs
  • ./common/monoid/proof.f.mjs
  • ./common/monoid/repeat/proof.f.mjs
  • ./compiler/ast/proof.f.mjs
  • ./compiler/edag/compound_assignments.proof.f.mjs
  • ./compiler/edag/demo.proof.f.mjs
  • ./compiler/edag/depth.proof.f.mjs
  • ./compiler/edag/proof.f.mjs
  • ./compiler/edag/recursion.proof.f.mjs
  • ./compiler/edag/static.proof.f.mjs
  • ./compiler/edag/switch.proof.f.mjs
  • ./compiler/edag/terminal_loops.proof.f.mjs
  • ./compiler/examples/proof.f.mjs
  • ./compiler/graph/proof.f.mjs
  • ./compiler/language.proof.f.mjs
  • ./compiler/parameters/proof.f.mjs
  • ./compiler/parser/bindings.proof.f.mjs
  • ./compiler/parser/conditional_loops.proof.f.mjs
  • ./compiler/parser/constructors.proof.f.mjs
  • ./compiler/parser/control_flow.proof.f.mjs
  • ./compiler/parser/defaults.proof.f.mjs
  • ./compiler/parser/destructuring.proof.f.mjs
  • ./compiler/parser/for.proof.f.mjs
  • ./compiler/parser/for_of.proof.f.mjs
  • ./compiler/parser/func.proof.f.mjs
  • ./compiler/parser/function_exits.proof.f.mjs
  • ./compiler/parser/grammar/for_of.proof.f.mjs
  • ./compiler/parser/grammar/proof.f.mjs
  • ./compiler/parser/loop_exits.proof.f.mjs
  • ./compiler/parser/loop_switches.proof.f.mjs
  • ./compiler/parser/mixed_if.proof.f.mjs
  • ./compiler/parser/module_loops.proof.f.mjs
  • ./compiler/parser/nested_loops.proof.f.mjs
  • ./compiler/parser/normal_if.proof.f.mjs
  • ./compiler/parser/operators.proof.f.mjs
  • ./compiler/parser/pattern-defaults.proof.f.mjs
  • ./compiler/parser/proof.f.mjs
  • ./compiler/parser/statements.proof.f.mjs
  • ./compiler/parser/static.proof.f.mjs
  • ./compiler/parser/structured.proof.f.mjs
  • ./compiler/parser/syntax/constructors.proof.f.mjs
  • ./compiler/parser/syntax/for_of.proof.f.mjs
  • ./compiler/parser/syntax/normal_if.proof.f.mjs
  • ./compiler/parser/syntax/proof.f.mjs
  • ./compiler/parser/templates.proof.f.mjs
  • ./compiler/parser/terminal_loops.proof.f.mjs
  • ./compiler/pattern-defaults-language.proof.f.mjs
  • ./compiler/proof.f.mjs
  • ./compiler/refused_demo/proof.f.mjs
  • ./compiler/rust/proof.f.mjs
  • ./compiler/rust/runtime/proof.f.mjs
  • ./compiler/serializer/block_assignments.proof.f.mjs
  • ./compiler/serializer/function_text/proof.f.mjs
  • ./compiler/serializer/names/proof.f.mjs
  • ./compiler/serializer/primitive_captures.proof.f.mjs
  • ./compiler/serializer/proof.f.mjs
  • ./compiler/serializer/shared_comma.proof.f.mjs
  • ./compiler/serializer/value/proof.f.mjs
  • ./compiler/source/proof.f.mjs
  • ./compiler/stage_demo/proof.f.mjs
  • ./compiler/sugar/demo.proof.f.mjs
  • ./compiler/tokenizer/proof.f.mjs
  • ./compiler/transpiler/proof.f.mjs
  • ./crypto/hmac/proof.f.mjs
  • ./crypto/mental_poker/proof.f.mjs
  • ./crypto/pow/proof.f.mjs
  • ./crypto/secp/proof.f.mjs
  • ./crypto/sha1/proof.f.mjs
  • ./crypto/sha2/proof.f.mjs
  • ./crypto/sign/nonce_reuse/proof.f.mjs
  • ./crypto/sign/proof.f.mjs
  • ./crypto/vdf/performance/proof.f.mjs
  • ./crypto/vdf/proof.f.mjs
  • ./deps/proof.f.mjs
  • ./dev/clean/proof.f.mjs
  • ./dev/gen/proof.f.mjs
  • ./dev/module.f.mjs
  • ./dev/proof.f.mjs
  • ./ebnf/ast/proof.f.mjs
  • ./ebnf/byte/proof.f.mjs
  • ./ebnf/data/proof.f.mjs
  • ./ebnf/lib/datajs/proof.f.mjs
  • ./ebnf/lib/js/proof.f.mjs
  • ./ebnf/lib/json/proof.f.mjs
  • ./ebnf/lib/markdown/proof.f.mjs
  • ./ebnf/ll1/proof.f.mjs
  • ./ebnf/proof.f.mjs
  • ./ebnf/railroad/proof.f.mjs
  • ./ebnf/token_symbol/proof.f.mjs
  • ./ebnf/utf16/proof.f.mjs
  • ./edag/amnesia/proof.f.mjs
  • ./edag/analysis/proof.f.mjs
  • ./edag/demand/proof.f.mjs
  • ./edag/from_fast/anchors.proof.f.mjs
  • ./edag/from_fast/capture_returns/proof.f.mjs
  • ./edag/from_fast/control.proof.f.mjs
  • ./edag/from_fast/control/proof.f.mjs
  • ./edag/from_fast/control_flow.proof.f.mjs
  • ./edag/from_fast/deferred_loop_cells/proof.f.mjs
  • ./edag/from_fast/deferred_tail_calls.proof.f.mjs
  • ./edag/from_fast/eager_operand_memo/proof.f.mjs
  • ./edag/from_fast/entry_returns/proof.f.mjs
  • ./edag/from_fast/initializer_loop_cells/proof.f.mjs
  • ./edag/from_fast/invariant.proof.f.mjs
  • ./edag/from_fast/lazy_returns/proof.f.mjs
  • ./edag/from_fast/loop/completions/proof.f.mjs
  • ./edag/from_fast/loop/invocation_aliases.proof.f.mjs
  • ./edag/from_fast/loop/memo/cells/proof.f.mjs
  • ./edag/from_fast/loop/memo/integration/proof.f.mjs
  • ./edag/from_fast/loop/memo/proof.f.mjs
  • ./edag/from_fast/loop/owning/proof.f.mjs
  • ./edag/from_fast/loop/proof.f.mjs
  • ./edag/from_fast/loop/root/owning.proof.f.mjs
  • ./edag/from_fast/loop/root/proof.f.mjs
  • ./edag/from_fast/member_returns/proof.f.mjs
  • ./edag/from_fast/native_returns/proof.f.mjs
  • ./edag/from_fast/normal_memo_members/proof.f.mjs
  • ./edag/from_fast/normal_memo_spreads/proof.f.mjs
  • ./edag/from_fast/object_spread_returns/proof.f.mjs
  • ./edag/from_fast/operand_order/proof.f.mjs
  • ./edag/from_fast/operand_owned_demands/proof.f.mjs
  • ./edag/from_fast/owning_tail_calls.proof.f.mjs
  • ./edag/from_fast/proof.f.mjs
  • ./edag/from_fast/source/proof.f.mjs
  • ./edag/from_fast/spread_returns/proof.f.mjs
  • ./edag/from_fast/terminal_loops.proof.f.mjs
  • ./edag/from_fast/transfer_returns/proof.f.mjs
  • ./edag/from_fast/wrapped_returns/proof.f.mjs
  • ./edag/loop/proof.f.mjs
  • ./edag/memo/proof.f.mjs
  • ./edag/operations/proof.f.mjs
  • ./edag/proof.f.mjs
  • ./edag/rust/proof.f.mjs
  • ./edag/rust/unmarked/proof.f.mjs
  • ./edag/sharing/proof.f.mjs
  • ./edag/testlib.proof.f.mjs
  • ./edag/to_fast/join/proof.f.mjs
  • ./edag/to_fast/proof.f.mjs
  • ./edag/to_fast/source/loops/fallback.proof.f.mjs
  • ./edag/to_fast/source/loops/proof.f.mjs
  • ./edag/to_fast/source/loops/shared_continuations.proof.f.mjs
  • ./edag/to_fast/source/proof.f.mjs
  • ./edag/to_fast/tail/independent_recipes.proof.f.mjs
  • ./edag/to_fast/tail/mixed_self.proof.f.mjs
  • ./edag/to_fast/tail/proof.f.mjs
  • ./edag/to_fast/tail_calls/proof.f.mjs
  • ./edag/value/array/proof.f.mjs
  • ./edag/value/array_method/proof.f.mjs
  • ./edag/value/at/proof.f.mjs
  • ./edag/value/call/proof.f.mjs
  • ./edag/value/closure/proof.f.mjs
  • ./edag/value/coercion/proof.f.mjs
  • ./edag/value/control/proof.f.mjs
  • ./edag/value/convert/proof.f.mjs
  • ./edag/value/entries/proof.f.mjs
  • ./edag/value/function/proof.f.mjs
  • ./edag/value/metadata/proof.f.mjs
  • ./edag/value/method/proof.f.mjs
  • ./edag/value/numeric/proof.f.mjs
  • ./edag/value/object/proof.f.mjs
  • ./edag/value/proof.f.mjs
  • ./edag/value/property/proof.f.mjs
  • ./edag/value/relational/proof.f.mjs
  • ./edag/value/semantics/proof.f.mjs
  • ./edag/value/slice/proof.f.mjs
  • ./edag/value/to_unknown/proof.f.mjs
  • ./effects/browser/proof.f.mjs
  • ./effects/common/proof.f.mjs
  • ./effects/list/proof.f.mjs
  • ./effects/memory/proof.f.mjs
  • ./effects/mock/proof.f.mjs
  • ./effects/node/proof.f.mjs
  • ./effects/node/virtual/proof.f.mjs
  • ./effects/node/virtual/readdir/proof.f.mjs
  • ./effects/proof.f.mjs
  • ./effects/schema/proof.f.mjs
  • ./effects/testlib.proof.f.mjs
  • ./emergent_testing/browser/demo.f.mjs
  • ./emergent_testing/browser/proof.f.mjs
  • ./emergent_testing/cov/proof.f.mjs
  • ./emergent_testing/example.f.js
  • ./emergent_testing/node/proof.f.mjs
  • ./emergent_testing/proof.f.mjs
  • ./fsm/proof.f.mjs
  • ./git/alternates/proof.f.mjs
  • ./git/bytes/proof.f.mjs
  • ./git/commit/proof.f.mjs
  • ./git/config/proof.f.mjs
  • ./git/format/proof.f.mjs
  • ./git/header/proof.f.mjs
  • ./git/ident/proof.f.mjs
  • ./git/inflater/proof.f.mjs
  • ./git/loose/proof.f.mjs
  • ./git/object/proof.f.mjs
  • ./git/oid/proof.f.mjs
  • ./git/pack/proof.f.mjs
  • ./git/packidx/proof.f.mjs
  • ./git/packstore/proof.f.mjs
  • ./git/ref/proof.f.mjs
  • ./git/refname/proof.f.mjs
  • ./git/refstore/name/proof.f.mjs
  • ./git/refstore/proof.f.mjs
  • ./git/refstore/scope/proof.f.mjs
  • ./git/refstore/testlib.proof.f.mjs
  • ./git/refstore/write/proof.f.mjs
  • ./git/repo/proof.f.mjs
  • ./git/store/proof.f.mjs
  • ./git/tag/proof.f.mjs
  • ./git/testlib.proof.f.mjs
  • ./git/tree/proof.f.mjs
  • ./git/walk/proof.f.mjs
  • ./js/array_index/proof.f.mjs
  • ./js/ast/control/proof.f.mjs
  • ./js/ast/invocation/proof.f.mjs
  • ./js/ast/invocation/tail/proof.f.mjs
  • ./js/ast/loop/invariant/proof.f.mjs
  • ./js/ast/loop/plain/proof.f.mjs
  • ./js/ast/loop/proof.f.mjs
  • ./js/ast/loop/terminal/proof.f.mjs
  • ./js/ast/memo/cells/proof.f.mjs
  • ./js/ast/memo/proof.f.mjs
  • ./js/ast/memo/self_alias_loops.proof.f.mjs
  • ./js/ast/memo/tail.proof.f.mjs
  • ./js/ast/prepare/joins/proof.f.mjs
  • ./js/ast/prepare/one_pass/proof.f.mjs
  • ./js/ast/prepare/proof.f.mjs
  • ./js/ast/prepare/source_results.proof.f.mjs
  • ./js/ast/prepare/terminal_loops.proof.f.mjs
  • ./js/ast/proof.f.mjs
  • ./js/ast/results/proof.f.mjs
  • ./js/ast/returns/integration/proof.f.mjs
  • ./js/ast/returns/proof.f.mjs
  • ./js/ast/serializer/intrinsic/proof.f.mjs
  • ./js/ast/serializer/member_present/proof.f.mjs
  • ./js/ast/serializer/primitive_captures.proof.f.mjs
  • ./js/ast/serializer/proof.f.mjs
  • ./js/ast/sugar/compound_blocks.proof.f.mjs
  • ./js/ast/sugar/effects/proof.f.mjs
  • ./js/ast/sugar/invocation_assignments.proof.f.mjs
  • ./js/ast/sugar/logical/proof.f.mjs
  • ./js/ast/sugar/pattern/proof.f.mjs
  • ./js/ast/sugar/proof.f.mjs
  • ./js/ast/task/proof.f.mjs
  • ./js/identifier/proof.f.mjs
  • ./js/intrinsic/proof.f.mjs
  • ./js/keywords/proof.f.mjs
  • ./js/marked/proof.f.mjs
  • ./js/members/proof.f.mjs
  • ./js/prototype/proof.f.mjs
  • ./js/runtime/proof.f.mjs
  • ./js/static/proof.f.mjs
  • ./js/string_escape/proof.f.mjs
  • ./js/tokenizer/proof.f.mjs
  • ./mcp/cas/proof.f.mjs
  • ./mcp/evo/proof.f.mjs
  • ./mcp/module.f.mjs
  • ./mcp/proof.f.mjs
  • ./media/datajs/parser/proof.f.mjs
  • ./media/datajs/proof.f.mjs
  • ./media/datajs/serializer/proof.f.mjs
  • ./media/datajs/vectors/matrix/proof.f.mjs
  • ./media/datajs/vectors/proof.f.mjs
  • ./media/html/proof.f.mjs
  • ./media/json/extended/proof.f.mjs
  • ./media/json/number/proof.f.mjs
  • ./media/json/parser/proof.f.mjs
  • ./media/json/proof.f.mjs
  • ./media/json/rtti/proof.f.mjs
  • ./media/json/schema/proof.f.mjs
  • ./media/json/serializer/proof.f.mjs
  • ./media/lock/proof.f.mjs
  • ./media/markdown/demo.f.mjs
  • ./media/markdown/proof.f.mjs
  • ./media/mermaid/proof.f.mjs
  • ./media/nix/proof.f.mjs
  • ./media/note/proof.f.mjs
  • ./media/proof.f.mjs
  • ./media/revision/proof.f.mjs
  • ./media/rust/item/proof.f.mjs
  • ./media/rust/proof.f.mjs
  • ./media/type/proof.f.mjs
  • ./media/wasm/binary/parse/proof.f.mjs
  • ./media/wasm/binary/write/proof.f.mjs
  • ./media/wasm/instruction/proof.f.mjs
  • ./media/wasm/wat/proof.f.mjs
  • ./nanvm/commands/proof.f.mjs
  • ./nanvm/constructors/proof.f.mjs
  • ./nanvm/corpus/proof.f.mjs
  • ./nanvm/demos/collatz/proof.f.mjs
  • ./nanvm/demos/function-page/proof.f.mjs
  • ./nanvm/demos/hello/proof.f.mjs
  • ./nanvm/demos/page/proof.f.mjs
  • ./nanvm/demos/proof.f.mjs
  • ./nanvm/demos/publish/proof.f.mjs
  • ./nanvm/demos/samples/proof.f.mjs
  • ./nanvm/demos/sort/proof.f.mjs
  • ./nanvm/demos/spell/proof.f.mjs
  • ./nanvm/expected/proof.f.mjs
  • ./nanvm/fast/deferred_owning_tail_calls/proof.f.mjs
  • ./nanvm/fast/immutable_joins/proof.f.mjs
  • ./nanvm/fast/independent_tail_recipes/proof.f.mjs
  • ./nanvm/fast/mixed_self_uses/proof.f.mjs
  • ./nanvm/harness/proof.f.mjs
  • ./nanvm/member/proof.f.mjs
  • ./nanvm/methods/proof.f.mjs
  • ./nanvm/proof.f.mjs
  • ./nanvm/runtime/proof.f.mjs
  • ./nanvm/rust/proof.f.mjs
  • ./nanvm/update/proof.f.mjs
  • ./nanvm/values/proof.f.mjs
  • ./path/import/proof.f.mjs
  • ./path/proof.f.mjs
  • ./proof.f.mjs
  • ./protocol/json_rpc/proof.f.mjs
  • ./protocol/mcp/proof.f.mjs
  • ./protocol/mcp/stdio/proof.f.mjs
  • ./rtti/common/proof.f.mjs
  • ./rtti/data/proof.f.mjs
  • ./rtti/guide/in-the-project/effects/proof.f.mjs
  • ./rtti/guide/in-the-project/expression-graph/proof.f.mjs
  • ./rtti/guide/in-the-project/media/proof.f.mjs
  • ./rtti/guide/in-the-project/proof.f.mjs
  • ./rtti/guide/in-the-project/protocols/proof.f.mjs
  • ./rtti/guide/in-the-project/tooling/proof.f.mjs
  • ./rtti/guide/outputs/data-form/proof.f.mjs
  • ./rtti/guide/outputs/json-schema/proof.f.mjs
  • ./rtti/guide/outputs/proof.f.mjs
  • ./rtti/guide/outputs/typescript/proof.f.mjs
  • ./rtti/guide/readers/errors/proof.f.mjs
  • ./rtti/guide/readers/parse-and-validate/proof.f.mjs
  • ./rtti/guide/readers/proof.f.mjs
  • ./rtti/guide/schemas/arrays-and-records/proof.f.mjs
  • ./rtti/guide/schemas/closed-containers/proof.f.mjs
  • ./rtti/guide/schemas/constants/proof.f.mjs
  • ./rtti/guide/schemas/open-containers/proof.f.mjs
  • ./rtti/guide/schemas/option/proof.f.mjs
  • ./rtti/guide/schemas/primitives/proof.f.mjs
  • ./rtti/guide/schemas/proof.f.mjs
  • ./rtti/guide/schemas/recursion/proof.f.mjs
  • ./rtti/guide/schemas/unions/proof.f.mjs
  • ./rtti/parse/proof.f.mjs
  • ./rtti/proof.f.mjs
  • ./rtti/schema-demo/proof.f.mjs
  • ./rtti/ts/proof.f.mjs
  • ./rtti/validate/proof.f.mjs
  • ./rust/demangle/proof.f.mjs
  • ./rust/serializer/proof.f.mjs
  • ./sul/id/proof.f.mjs
  • ./sul/level/hash/proof.f.mjs
  • ./sul/level/literal/proof.f.mjs
  • ./sul/proof.f.mjs
  • ./text/ascii/proof.f.mjs
  • ./text/code_point/proof.f.mjs
  • ./text/marked/proof.f.mjs
  • ./text/percent/proof.f.mjs
  • ./text/proof.f.mjs
  • ./text/sgr/proof.f.mjs
  • ./text/shell/proof.f.mjs
  • ./text/utf16/proof.f.mjs
  • ./text/utf8/proof.f.mjs
  • ./types/array/generate/proof.f.mjs
  • ./types/array/proof.f.mjs
  • ./types/array/repeat/proof.f.mjs
  • ./types/bigfloat/module.f.mjs
  • ./types/bigfloat/proof.f.mjs
  • ./types/bigint/demo.f.mjs
  • ./types/bigint/from_number/proof.f.mjs
  • ./types/bigint/proof.f.mjs
  • ./types/bit_set/proof.f.mjs
  • ./types/bit_vec/proof.f.mjs
  • ./types/btree/find/proof.f.mjs
  • ./types/btree/proof.f.mjs
  • ./types/btree/remove/module.f.js
  • ./types/btree/remove/proof.f.mjs
  • ./types/btree/set/proof.f.mjs
  • ./types/btree/types/proof.f.mjs
  • ./types/byte_set/proof.f.mjs
  • ./types/function/compare/proof.f.mjs
  • ./types/function/length/proof.f.mjs
  • ./types/function/operator/proof.f.mjs
  • ./types/function/proof.f.mjs
  • ./types/list/alt/proof.f.mjs
  • ./types/list/iterable/proof.f.mjs
  • ./types/list/proof.f.mjs
  • ./types/map/proof.f.mjs
  • ./types/nibble_set/proof.f.mjs
  • ./types/nominal/proof.f.mjs
  • ./types/nullable/proof.f.mjs
  • ./types/number/abs/proof.f.mjs
  • ./types/number/ceil/proof.f.mjs
  • ./types/number/is_negative_zero/proof.f.mjs
  • ./types/number/max/proof.f.mjs
  • ./types/number/min/proof.f.mjs
  • ./types/number/proof.f.mjs
  • ./types/object/entry/proof.f.mjs
  • ./types/object/proof.f.mjs
  • ./types/object/structurally_same/proof.f.mjs
  • ./types/ordered_map/proof.f.mjs
  • ./types/patricia_trie/proof.f.mjs
  • ./types/prime_field/proof.f.mjs
  • ./types/range/proof.f.mjs
  • ./types/range_map/proof.f.mjs
  • ./types/range_set/proof.f.mjs
  • ./types/result/proof.f.mjs
  • ./types/set/proof.f.mjs
  • ./types/sorted_list/proof.f.mjs
  • ./types/sorted_set/proof.f.mjs
  • ./types/stack_walk/proof.f.mjs
  • ./types/string/proof.f.mjs
  • ./types/string_set/proof.f.mjs
  • ./types/ts/proof.f.mjs
  • ./types/uint8array/proof.f.mjs
  • ./types/version/proof.f.mjs
  • ./web/proof.f.mjs
  • ./website/browser-source/proof.f.mjs
  • ./website/browser.mjs
  • ./website/card/proof.f.mjs
  • ./website/cargo-doc/proof.f.mjs
  • ./website/changelog/proof.f.mjs
  • ./website/cli/proof.f.mjs
  • ./website/cli/search/proof.f.mjs
  • ./website/cloudflare/proof.f.mjs
  • ./website/demo/bits/proof.f.mjs
  • ./website/demo/code/proof.f.mjs
  • ./website/demo/control_ids/proof.f.mjs
  • ./website/demo/controls/proof.f.mjs
  • ./website/demo/examples/proof.f.mjs
  • ./website/demo/graph/proof.f.mjs
  • ./website/demo/hash/proof.f.mjs
  • ./website/demo/highlight/proof.f.mjs
  • ./website/demo/mirror/proof.f.mjs
  • ./website/demo/proof.f.mjs
  • ./website/demo/railroad/proof.f.mjs
  • ./website/demo/secp/proof.f.mjs
  • ./website/demo/sharing/proof.f.mjs
  • ./website/demo/versions/proof.f.mjs
  • ./website/funding/proof.f.mjs
  • ./website/github/proof.f.mjs
  • ./website/issue/proof.f.mjs
  • ./website/mermaid/proof.f.mjs
  • ./website/origin/proof.f.mjs
  • ./website/page/proof.f.mjs
  • ./website/permalink/proof.f.mjs
  • ./website/playground/btree/proof.f.mjs
  • ./website/proof.f.mjs
  • ./website/prs/load/proof.f.mjs
  • ./website/prs/proof.f.mjs
  • ./website/readme/proof.f.mjs
  • ./website/rustdoc-bars/proof.f.mjs
  • ./zlib/adler32/proof.f.mjs
  • ./zlib/bits/proof.f.mjs
  • ./zlib/huffman/proof.f.mjs
  • ./zlib/inflate/proof.f.mjs
  • ./zlib/stored/proof.f.mjs
  • ./zlib/window/proof.f.mjs