인터롭

상호 운용 개요

네이티브·Web 출력과 리스펙스 호출을 고르고 별도 검사와 권한 설정이 필요한 코드를 확인합니다.

토파즈 애플리케이션을 다른 프로그램이나 실행 환경에 연결하는 방법을 고르세요. 아래 표에서 네이티브 실행 파일, JavaScript 인터페이스, 리스펙스 규칙 호출, 소스 변환을 찾을 수 있습니다.

먼저 실행 가능한 토파즈 패키지를 준비하세요. 각 안내서는 선택한 작업에 필요한 파일·도구·입력을 설명합니다.

작업에 따라 고르기

작업시작할 문서사용할 것
데스크톱이나 서버에서 프로그램 실행Rust 백엔드Cargo로 빌드한 현재 운영체제·아키텍처용 네이티브 실행 파일
브라우저나 Worker에서 토파즈 호출WASM과 플레이그라운드생성된 JavaScript 바인딩과 타입 선언이 있는 Web·Worker 패키지
Rust·서비스 래퍼 추가Rust 백엔드생성 제품과 직접 작성한 호출 코드
애플리케이션에서 판단 규칙 호출리스펙스 규칙 실행하기이름 붙인 규칙·한도·쿼터·타입이 있는 결과를 쓰는 패키지
패키지 없이 리스펙스 규칙 하나 평가리스펙스 평가기와 LIT규칙·입력·한도 파일과 실행 후의 결과·보고서
LIT 인터프리터로 툴체인 테스트리스펙스 평가기와 LIT같은 테스트 프로그램의 직접 실행·생성 Rust·Web 실행
Lena Code로 소스 변환Lena Code 상호 운용별도로 관리하는 소스 변환 절차

build --target은 배포할 출력을 고릅니다. topaz lispex embed는 규칙을 평가합니다. LIT는 저장소의 테스트 프로그램입니다. 하려는 일에 맞는 작업을 선택하세요.

토파즈 소스는 토파즈 문법으로 작성하기

애플리케이션 로직을 .tpz 모듈에 작성하세요. 모듈·import·표현식·타입·패턴·진단은 토파즈 규칙을 따릅니다.

외부 코드를 연결할 때는 생성 제품의 인터페이스를 사용하세요. ABI는 프로그램 사이에 인수와 결과를 전달하는 방식을 정합니다. 토파즈는 import rust나 인라인 Rust·JavaScript 표현식을 받지 않습니다. 호출 코드에서 소유권과 예외를 명시적으로 처리해야 합니다. 생성된 소스 파일이 .tpz 문법을 확장하지는 않습니다.

연결한 뒤 결과 확인하기

  1. 알고 있는 입력으로 토파즈 패키지를 검사하고 실행하세요.
  2. 선택한 타깃을 빌드하고 같은 입력을 빌드 결과물에 전달하세요.
  3. 표준 출력·종료 코드·출력 파일·JavaScript에 반환한 필드 등 애플리케이션이 쓰는 결과를 비교하세요.
  4. 컴파일러나 배포 타깃을 바꾸면 다시 확인하세요.

다른 개발자도 같은 검사를 할 수 있도록 입력·환경·예상 결과를 기록하세요. 내부 객체 배치와 생성 소스의 구조는 타깃마다 다를 수 있습니다.

호출 코드와 권한 검토하기

호스트는 토파즈 코드를 호출하는 프로그램이나 실행 환경입니다. 호스트 래퍼의 의존성·소유권·오류 처리·보안을 별도로 확인하세요.

모듈을 가져와도 파일·네트워크·프로세스·환경 변수·시계·데이터베이스를 사용할 권한이 생기지는 않습니다. 작업이 실행되는 호스트에서 권한을 설정하세요. 타깃이 필요한 동작을 유지할 수 없으면 조용히 바꾸지 말고 실패를 알려야 합니다.

리스펙스 규칙은 파일·시계·네트워크 접근 없이 실행됩니다. 저장한 평가 기록은 서명되지 않으며 외부 작업을 허가하지 않습니다. 자원 한도와 기록 처리는 리스펙스 규칙 실행하기를 참고하세요.