상호 운용은 Topaz 안에 두 번째 문법을 넣는 방식이 아닙니다. Topaz 소스는 항상 같은 모듈, 표현식, 타입, 패턴 규칙을 사용하고 외부 언어는 빌드나 변환 경계 뒤에서만 다룹니다.
기본 규칙
v5.6은 Rust, Python, JavaScript/TypeScript, WASM 타겟 생성과 도구 간 소스 변환을 지원합니다. 언어 자체에는 외부 함수 호출 문법이 없습니다. 생성된 산출물은 해당 타겟의 API를 가지지만 그 문법이 Topaz 소스에서 허용되는 것은 아닙니다.
사용 방법
도메인 로직은 검사되는 Topaz 모듈에 둡니다. 외부 환경에 연결할 때만 필요한 타겟을 만들고 생성된 API를 통합합니다. Topaz 쪽은 check와 run으로, 호스트 쪽은 해당 언어의 빌드와 테스트로 따로 확인합니다.
현재 지원
Topaz v5.6은 Rust·Python·웹 산출물과 Lena Code 변환 경계를 제공합니다. Topaz 소스에서 발생한 오류는 Topaz 진단으로 먼저 표시되고, 호스트 컴파일러의 오류는 필요한 경우에만 부가 정보로 보여 줍니다.
제한 사항
import rust, 인라인 Rust·Python·JavaScript 표현식, 암묵적 ABI, 자동 소유권 변환, 호스트 예외의 자동 변환, 암묵적 권한 부여는 없습니다. 생성된 코드를 직접 수정하면 그 부분은 Topaz가 보장하는 범위를 벗어납니다.
명령 예시
topaz check --root . src/main.tpz
topaz build --root . src/main.tpz --out-dir build