Topazdocs
표준 라이브러리와 런타임

실행 환경 동작

숫자, 출력, 오류, 순서, 호스트 효과에 대한 런타임 규칙.

런타임 규칙은 백엔드가 다른 내부 표현을 쓰더라도 사용자가 보는 값, 순서, 오류, 출력, 호스트 효과가 달라지지 않도록 합니다.

정식 계약

int는 부호 있는 64비트 정수이며 범위 초과를 검사합니다. 정수 나눗셈은 0 방향으로 잘라내고 나머지는 피제수의 부호를 따릅니다. float는 IEEE-754 binary64입니다. 문자열은 정확한 스칼라 순서를 비교하고, 컬렉션은 정해진 삽입·생성 순서를 유지합니다.

공개 표면

Option, Result, 명목 값, 템플릿, Bytes, BigInt, Decimal, JSON, 날짜, 해시, 구조화 형식은 각 타입의 표준 API로 표시됩니다. 백엔드는 레코드나 태스크, 지속적 자료구조, 네이티브 라이브러리를 내부적으로 쓸 수 있지만 외부에 보이는 결과는 같아야 합니다.

관찰 가능한 동작

잘못된 산술, 범위 밖 인덱싱, 잘못된 타입 상태는 정해진 진단을 내고 실행을 멈출 수 있습니다. 표시 결과는 로케일이나 호스트의 임의 포맷에 의존하지 않습니다. 명목 값은 필요한 경우 생성자 이름을 포함해 자신의 정체성을 표시합니다.

현재 지원

현재 도구 모음는 주요 숫자·문자열·컬렉션·오류·출력 동작을 해석기·Rust·Python에서 공통으로 다룹니다. 특정 타겟에만 있는 기능은 해당 도구 모음 페이지에 따로 표시합니다.

제약과 제외

호스트 정수의 자동 래핑, 해시 순서, 로케일 의존 포맷, 암묵적 유니코드 정규화, 잡을 수 있는 실행 오류, 중단 뒤의 일반적 자원 정리, 고정된 동시 실행 순서, 성능 보장을 추측해서는 안 됩니다.

예제

TOPAZ
function safeRead(values: Array<int>, index: int) -> Option<int> {
    return values.get(index)
}

let rounded = Math.round(2.5)
let item = safeRead([10, 20], 9)
print("{rounded}:{item}")

관련 정책