본문으로 건너뛰기
토파즈6.0 · 출시 전
다운로드 →

문서 검색

명세 6.0

방향키로 결과를 고르고 Enter를 눌러 여세요.

API 이름, 진단 번호, 규칙 또는 프로젝트 주제를 입력하세요.

    도구

    컴파일러 선택

    Select the compiler and language mode for a Topaz invocation, then confirm the selection in the command output.

    Select a compiler

    링크

    Run topaz compiler status --format json to inspect the installed compiler before choosing an implementation. Run topaz version to identify the product release.

    An explicit --compiler self selects SELF. An explicit --compiler rust selects the reference compiler for verification. When the selector is absent, compiler-bearing commands use SELF. A rejected operation does not silently switch to the reference compiler.

    Default selection source · Selection validation source

    Compiler selection and artifact selection answer different questions. --compiler rust chooses an implementation. emit --target rust requests Rust source. A native build target can use SELF. Read the command reference for the supported combinations.

    Select the language mode

    링크

    For an entry-file invocation, the current language mode is used when --language-version is absent. The public 5.21.x CLI accepts the current 5.21 mode. A product patch version such as 5.21.3 identifies a release, not a separate language mode.

    Language selector source

    During package-mode compilation, [package].language in topaz.toml supplies the language mode before entry-source loading. An explicit language selector must agree with the manifest. A different manifest mode or a conflicting selector is rejected.

    Package selection source

    Keep the selected package root consistent across check, run, and build invocations. An entry operand normally selects an entry-file route. The test command also preserves package context when its selected root contains a manifest.

    Command scope

    링크

    Compiler selection applies to parse, dump-ast, check, run, test, fmt, lsp, emit, build, doc, bench, and compiler observe.

    Compiler-bearing command source

    Package management, storage, embedded Lispex, lookup, metadata, and compiler inspection commands use their own command contracts. They reject an explicit --compiler selector. This includes compiler preview, compiler status, compiler validate, and compiler compare.

    Selector applicability source

    compiler preview selects its producer through its preview options. Combining --compiler with --producer or --self-source is rejected. Producer selection does not change the default used by a later check or build invocation.

    Confirm the selection

    링크

    Add --verbose to a compiler-bearing invocation to report the selected compiler on standard error. The report distinguishes an explicit choice from the current default with explicit and current-default.

    Selection report source

    An LSP session may receive its package root during initialize. Its compiler selection is reported after the workspace supplies the language mode.

    topaz compiler status --format json returns installed compiler identity, the default and reference selectors, and command support conditions. Read that inventory alongside the command's options and conflicts. Status output describes the installed tool. A successful status request is not a successful check or build.

    Status output source

    Usage profiles

    링크

    A check usage profile adds checks for an intended use. The check contract defines its inputs, diagnostics, and reports. Installed profile availability remains a distribution evidence question.

    Type checking without a mode flag

    링크
    규칙topaz.tools.types-option.rule

    Type checking without a mode flag

    Use topaz check <entry> for type checking. --types is rejected during command validation.

    이유

    The check command performs type checking with or without the ineffective flag. Both spellings request the same operation, so the flag has no separate intent to preserve.

    Type checking without a mode flag rejection

    계열
    topaz-cli
    단계
    command
    연산
    argument-validation
    분류
    types-option

    원인과 조건

    Use topaz check <entry> for type checking. --types is rejected during command validation.

    대응

    Run topaz check <entry> without --types.

    Type checking without a mode flag examples

    링크

    Reject the unused types option

    링크
    main.tpzReject the unused types option플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz check main.tpz --format json --types · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Check with the canonical command

    링크
    main.tpzCheck with the canonical command플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 0
    표준 출력 없음.
    $ topaz check main.tpz --format json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    Named metadata commands and long options

    링크
    규칙topaz.tools.metadata-spellings.rule

    Named metadata commands and long options

    Use topaz version for the installed release report. topaz --version and topaz -V are rejected during command validation.

    Use --verbose for additional command details. -v is rejected during command validation.

    이유

    The version aliases request the same installed release report as the version command. The short verbosity alias requests the same additional detail as the verbose option. Neither alias expresses a different intent.

    Named metadata commands and long options rejection

    계열
    topaz-cli
    단계
    command
    연산
    argument-validation
    분류
    metadata-spellings

    원인과 조건

    Use topaz version for the installed release report. topaz --version and topaz -V are rejected during command validation.

    Use --verbose for additional command details. -v is rejected during command validation.

    Use topaz version for the installed release report. topaz --version and topaz -V are rejected during command validation.

    Use --verbose for additional command details. -v is rejected during command validation.

    대응

    Use topaz version and add --verbose when a detailed report is needed.

    Named metadata commands and long options examples

    링크

    Reject the version flag alias

    링크
    main.tpzReject the version flag alias플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz --version · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Reject the short version alias

    링크
    main.tpzReject the short version alias플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz -V · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Reject the short detail alias

    링크
    main.tpzReject the short detail alias플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz version -v · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Read the installed release

    링크
    main.tpzRead the installed release플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 0
    Topaz 5.21.3
    
    $ topaz version · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    기대 표준 출력
    1. Topaz 5.21.3

    Request the detailed release report

    링크
    main.tpzRequest the detailed release report플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 0
    $ topaz version --verbose · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    Separate option values

    링크
    규칙topaz.tools.value-separator.rule

    Separate option values

    An option and its value occupy separate arguments, as in --format json. The --option=value form is rejected during command validation.

    This rule applies to CLI options. Arguments after -- are program data and preserve their spelling.

    이유

    The joined and separate forms supply the same value to the same option. A separate argument preserves that intent with one spelling and matches the command synopsis.

    Separate option values rejection

    계열
    topaz-cli
    단계
    command
    연산
    argument-validation
    분류
    value-separator

    원인과 조건

    An option and its value occupy separate arguments, as in --format json. The --option=value form is rejected during command validation.

    대응

    Pass each option and its value as separate arguments, such as --format json.

    Separate option values examples

    링크

    Reject an equals format value

    링크
    main.tpzReject an equals format value플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz check main.tpz --format=json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Reject an equals language value

    링크
    main.tpzReject an equals language value플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz check main.tpz --format json --language-version=5.21 · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Pass values as separate arguments

    링크
    main.tpzPass values as separate arguments플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 0
    표준 출력 없음.
    $ topaz check main.tpz --language-version 5.21 --format json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    One occurrence of each option

    링크
    규칙topaz.tools.option-occurrence.rule

    One occurrence of each option

    An option appears at most once in an invocation. Repeated occurrences are rejected even when their values agree. The order of conflicting values does not select a winner.

    Repeated options are rejected as unexpected arguments. This rule does not reinterpret program arguments after --.

    이유

    Each option selects one value or behavior. Rejecting repeated selectors prevents argument order from changing that choice and applies equally when the values agree.

    One occurrence of each option rejection

    계열
    topaz-cli
    단계
    command
    연산
    argument-validation
    분류
    option-occurrence

    원인과 조건

    An option appears at most once in an invocation. Repeated occurrences are rejected even when their values agree. The order of conflicting values does not select a winner.

    대응

    Give each CLI option once and resolve conflicting choices before invoking Topaz.

    One occurrence of each option examples

    링크

    Reject a repeated language selector

    링크
    main.tpzReject a repeated language selector플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz check main.tpz --format json --language-version 5.21 --language-version 5.21 · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Reject conflicting formats in one order

    링크
    main.tpzReject conflicting formats in one order플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz check main.tpz --format json --format human · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Reject conflicting formats in the other order

    링크
    main.tpzReject conflicting formats in the other order플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz check main.tpz --format human --format json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Give each option once

    링크
    main.tpzGive each option once플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 0
    표준 출력 없음.
    $ topaz check main.tpz --language-version 5.21 --format json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    Reject a repeated boolean option

    링크
    main.tpzReject a repeated boolean option플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz check main.tpz --format json --verbose --verbose · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    One JSON format selector

    링크
    규칙topaz.tools.json-format.rule

    One JSON format selector

    Use --format json for JSON output from check, compiler status, explain, bench, lispex embed info. --json is rejected during command validation. lispex embed info requires --format json and does not accept a human output format. Each command retains its own output fields and streams.

    The format selector changes the representation of a command result. It does not merge the different records. check writes its diagnostic JSON to standard error. The other listed commands write one report to standard output. lispex embed info requires JSON. The other listed commands retain their human output format. Timing values vary between benchmark executions.

    이유

    The old JSON switch and the format selector request the same report representation. The shared selector preserves that intent while each command retains its own report. Export inspection and diagnostic reporting remain distinct operations.

    One JSON format selector rejection

    계열
    topaz-cli
    단계
    command
    연산
    argument-validation
    분류
    json-format

    원인과 조건

    Use --format json for JSON output from check, compiler status, explain, bench, lispex embed info. --json is rejected during command validation. lispex embed info requires --format json and does not accept a human output format. Each command retains its own output fields and streams.

    대응

    Use --format json with a CLI that implements the Topaz 6.0 output selector.

    One JSON format selector examples

    링크

    Reject --json for compiler status

    링크
    main.tpzReject --json for compiler status플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz compiler status --json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Select JSON for compiler status

    링크
    main.tpzSelect JSON for compiler status플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 0
    $ topaz compiler status --format json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    표준 출력은 JSON 객체입니다. 전체 스키마는 미정입니다.

    Reject --json for diagnostic explanation

    링크
    main.tpzReject --json for diagnostic explanation플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz explain TPZ4002 --json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Select JSON for diagnostic explanation

    링크
    main.tpzSelect JSON for diagnostic explanation플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 0
    $ topaz explain TPZ4002 --format json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    표준 출력은 JSON 객체입니다. 전체 스키마는 미정입니다.

    Reject --json for benchmark report

    링크
    main.tpzReject --json for benchmark report플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz bench main.tpz --language-version 5.21 --json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Benchmark JSON with --format json

    링크
    main.tpzBenchmark JSON with --format json플레이그라운드 열기 →
    1. function identity<T>(value: T) -> T {
    2. value
    3. }
    기대 출력종료 코드 0
    $ topaz bench main.tpz --language-version 5.21 --format json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    표준 출력은 JSON 객체입니다. 전체 스키마는 미정입니다.

    The benchmark checks the fixture without running it and writes a JSON report. Timing values vary between executions.

    Reject --json for embedded component report

    링크
    main.tpzReject --json for embedded component report플레이그라운드 열기 →
    1. let value = 1
    기대 출력0이 아닌 종료 코드
    표준 출력 없음.
    $ topaz lispex embed info --json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드가 0이 아닙니다.

    Select JSON for embedded component report

    링크
    main.tpzSelect JSON for embedded component report플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 0
    $ topaz lispex embed info --format json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    표준 출력은 JSON 객체입니다. 전체 스키마는 미정입니다.

    Keep the check diagnostic format

    링크
    main.tpzKeep the check diagnostic format플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 0
    표준 출력 없음.
    $ topaz check main.tpz --language-version 5.21 --format json · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    A command is required

    링크
    규칙topaz.tools.command-presence.rule

    Name the help command

    Use topaz help for command and option help. topaz is rejected during command validation.

    An invocation must name a command. A missing command is a usage error with exit status 1 and empty standard output. The CLI reports the missing command on standard error and directs the user to topaz help. This textual failure has no TPZ code or source location.

    이유

    An explicit help command requests the command reference. An omitted command supplies no operation and can result from a missing script argument. Requiring an explicit request keeps that mistake observable.

    Missing command

    계열
    topaz-cli
    단계
    command
    연산
    argument-validation
    분류
    missing-command

    원인과 조건

    Use topaz help for command and option help. topaz is rejected during command validation.

    대응

    Supply the command to run. Use topaz help to read the command and option help.

    Request help explicitly

    링크

    Reject an invocation without a command

    링크
    main.tpzReject an invocation without a command플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 1
    표준 출력 없음.
    $ topaz · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 command. 종료 코드 1.

    Request help by name

    링크
    main.tpzRequest help by name플레이그라운드 열기 →
    1. let value = 1
    기대 출력종료 코드 0
    $ topaz help · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

    topaz help prints the installed command and option help. Its wording and command inventory can grow. This example checks successful completion and an empty standard error stream.

    Related commands and configuration

    링크

    compiler status →

    Packages, locks and targets →

    check →

    메뉴

    다운로드 →