토파즈 정보

로드맵

지금 무엇을 먼저 만드는지, 다음 공개 릴리스가 어디까지인지 정리합니다.

이 로드맵은 날짜를 약속하지 않습니다. 무엇을 먼저 하는지와 준비가 얼마나 됐는지를 보여 줍니다.

현재

  • 지금 공개된 제품은 Bootstrap Foundations와 설치형 애플리케이션 루프를 갖추고 있습니다. 그 위에 명시적인 Self Front-end Preview가 올라갑니다.
  • 컴파일러, 런타임, npm 설치 패키지, 산출물, 문서, 플레이그라운드는 모두 같은 현재 제품 하나를 가리킵니다.
  • 기본 컴파일러는 정확히 복구할 수 있는 Rust Stage 0입니다. 설치형 Self Front-end Preview는 임베드된 토파즈 작성 프런트엔드 전체를 Typed 단계까지 실행합니다. 이어서 원래 소스 없이 Rust Stage 0 관측 자료와 비교합니다.
  • 명시적인 설치형 Stage 1 Compiler Preview는 토파즈 작성 생산 경로를 생성 Rust까지 처리합니다. 완전한 출처를 남기고, 대상을 몰래 폴백하지 않습니다.
  • 명시적인 --compiler self 선택자는 설치된 C2로 기계 판독 지원 목록에 선언된 현재 모드 경로를 처리합니다. Rust는 기본·복구 컴파일러로 유지됩니다. 지원 목록에 없는 경로는 소스나 출력을 건드리기 전에 거부합니다.
  • C2는 프로필 판정·하강 결과·생성 Rust·결정적 출처를 담은 완전한 버전드 의미 제품을 제공합니다. 호스트 어댑터는 이 제품을 검증하고 해독하기만 합니다.
  • 설치형 네이티브·Python 제품은 오프라인에서 실행됩니다. 관리형 브라우저 제품은 정적 번들과 로컬 데이터 경계를 소유합니다. 생성된 서비스는 제한된 인바운드 HTTP 권한·격리·마감 시간·관측·종료를 소유합니다.
  • 연속적인 바이너리 작업은 고정 길이 변경 가능 ByteBuffer로 처리합니다. 불변 Bytes는 지원되는 네이티브·Python·Web·Web Worker 경계에서 스냅샷과 전송 값으로 남습니다.
  • 유지보수 중인 다중 모듈 CodeImage 커널은 설치형 순정 토파즈로 빌드됩니다. 이 커널은 실패 폐쇄형 네이티브 선택 근거를 보여 주고, 소스 없는 Web·Worker 산출물에서 정확한 바이트와 실패 동작을 보존합니다.
  • 관련 구현이 바뀌면 표적 차분 검증을 실행합니다. 전체 다중 플랫폼·전체 차분 검증은 이를 소유한 공개 마이너 RC에서만 실행합니다.

다음

  • 지원되는 셀프 컴파일러가 설치 제품·복구·자원·롤백 보장을 그대로 유지한다는 증거를 닫은 뒤에만 Self-hosted Default를 준비합니다.
  • 그 전환 전체에서 Rust Stage 0를 독립적으로 설치하고 선택할 수 있게 유지합니다.
  • HTTP 서비스·로컬 데이터·브라우저·네이티브·Python·바이너리 미디어 루프를 회귀 없는 선행 제품으로 보존합니다.
  • 컴파일러 전용 방언이나 편의 문법은 만들지 않습니다. 실제 컴파일러 작업에서 재현된 장애가 있어도 언어·기능 경계를 바꾸려면 별도 결정을 거칩니다.

릴리스 경계

Bootstrap Foundations, 타입 검사 종단 Self Front-end Preview, 명시적인 Stage 1 생성자와 Stage 2 고정점은 토파즈 5.15.0 / topaz-5.15로 제공됩니다. Stage 1은 topaz compiler preview [entry] --producer stage1 --terminal rust-source --out-dir <directory>로 실행합니다. 설치 경로는 생성자와 생성 소스의 완전한 출처를 기록하고 소스 없이 동작합니다. 독립적인 Rust Stage 0 복구는 그대로 남고, 대상을 몰래 폴백하지도 않습니다. 완료된 체크포인트는 히스토리에 계속 남습니다. 명시적인 Stage 2 경로는 별도 C2 이미지를 실행합니다. 그런 다음 내장 컴파일러 소스 세트에서 새 R2를 만듭니다. 고정점 court는 해석된 컴파일러 의미와 제한된 정본 관찰이 같은지, R1과 R2의 원시 바이트가 같은지를 기록합니다. 출처 차이는 지우지 않고 분명하게 남깁니다. 설치형 source-free 자격 확인은 끝났습니다. 두 엔진의 제한된 Application Loop·컴파일러/표준 라이브러리·LIT·CodeImage·격리 Lispex 회귀 검사도 끝났고, 전체 명령 처리표와 정확한 공개 후보 게이트도 고정됐습니다. Rust Stage 0는 기본 엔진이자 독립 복구 엔진으로 남습니다. Stage 2는 자기 호스팅 기본값이 아니라 명시적으로 선택하는 Preview입니다.

토파즈 5.15.0 / topaz-5.15는 Supported Dual Toolchain 결과입니다. 다음 조건부 공개 결과는 토파즈 5.16.0 / topaz-5.16 Self-hosted Default이며, 그 결과를 위한 별도 증거 게이트가 닫힐 때만 열립니다. 세부 5.15.x 체크포인트는 아직 정하지 않았으므로, 이는 일정이나 구현 목록을 약속하는 문구가 아니라 결과의 경계입니다.

이후

  • 자기 호스팅 컴파일러 커널은 세 가지가 모두 닫힌 뒤에만 기본값으로 바꿉니다. 그 세 가지는 Stage 1·Stage 2의 재현 가능한 결과, 설치형 두 엔진의 일치, 독립적으로 사용할 수 있는 Rust 복구 경로입니다.
  • 자기 호스팅은 구현 이정표이지 메이저 버전을 자동으로 올리는 이유가 아닙니다. 메이저 릴리스에는 실제로 호환되지 않는 사용자 계약이 필요합니다.
  • 일반 네이티브 복합 값 레이아웃, 임의 호스트 FFI, 새 Web ABI, SIMD, 브라우저 fetch, 아웃바운드 네트워크, 원격 패키지 공개, 라우터·미들웨어 프레임워크, 공유 서버 상태, 데이터베이스, TLS 종료, WebSocket과 새 문법은 이번 개발 범위에서 제외합니다.
  • 이전 언어 모드는 현재 제품과 나란히 두지 않습니다. 명시적인 호환성 입력으로만 보존합니다.

한정된 통합 증거

LIT와 Lispex 통합 기록은 내부 호환성·회귀 검증 자료로 계속 유용합니다. 다만 이 기록이 현재 릴리스 순서를 정하지는 않습니다. LIT를 공개 토파즈 백엔드로 만들지도 않고, 전체 언어 동등성을 입증하지도 않습니다. 대규모 LIT·N-way·변이·차분 검증은 그 대상 의미가 바뀌거나 해당 릴리스 후보에서 실제로 필요할 때만 실행합니다.

연구

  • 코드 생성기가 언어 규칙을 어디서 잘못 해석하는지 찾는 차분·퍼징 도구를 확장합니다.
  • 실제 산출물과 재현 방법이 있는 주제에 한해 모델 검사나 기계적 증명을 검토합니다.
  • 광범위한 최적화, 비동기 문법, 실행 오류 복구, 문자소 API, 사용자 정의 템플릿은 별도의 언어 결정이 받아들일 때까지 연구 항목으로 남깁니다.

관련 문서