토파즈 정보

언어 철학

토파즈가 간결하고 명확한 문법, 기준 인터프리터, 다중 백엔드를 유지하는 이유.

토파즈는 프로그램을 검토하기에 충분히 읽기 쉽고 실행하기에 충분히 명확한 실행 가능한 의도 선언으로 봅니다. 목표는 문법을 늘리는 것이 아니라 일반적인 프로그램을 직관적이고 일관되게 만드는 것입니다.

하나의 의도, 하나의 표기

일반 코드에서는 동일한 의도를 표현하는 구문을 중복하여 제공하지 않습니다. 복구 가능한 실패는 Result, 값 부재는 Option이나 null을 포함한 타입, 리소스 해제는 defer, 조건별 구조 분해는 match로 표현합니다. 다른 언어에서 익숙한 약식 표기를 무분별하게 도입하지 않는 이유도 이와 같습니다.

언어가 의미를 정한다

인터프리터는 프로그램의 기준 실행 경로입니다. 그러나 인터프리터의 내부 구현이 언어의 명세를 결정하지는 않습니다. 현재 SPEC이 관찰 가능한 값, 오류, 평가 순서, 리소스 해제 규칙을 정의하며, 구현체는 해당 규칙을 준수합니다.

여러 백엔드는 검증 수단이다

Rust와 Python 타깃은 동일한 프로그램을 서로 다른 방식으로 실행합니다. 두 경로 모두 인터프리터와 동일한 결과를 도출해야 합니다. 이로 인해 코드상의 실수나 모호한 규칙이 명확히 드러납니다. 타깃에서 지원하지 않는 형태는 임의로 의미를 바꾸어 실행하지 않고 컴파일 단계에서 거부합니다.

간결한 문법, 명시적 의미론

문법이 간결하다고 해서 단순하다는 뜻은 아닙니다. 표기 체계는 최소화하되, 평가 순서, 타입, 실패 처리, 순회, 리소스 수명처럼 프로그램 동작에 영향을 주는 요소는 정교하게 정의합니다. 이러한 제약 덕분에 개발자와 코드 생성 도구가 동일한 규칙을 적용하기 용이합니다.

실제 프로그램이 다음 기능을 정한다

실제 운영되는 애플리케이션은 문자열, 숫자, 컬렉션, 파일, 패키지, 진단에 걸친 라이브러리와 런타임 수요를 드러냅니다. 리스펙스 테스트·통합 표면은 재귀, 이식 가능한 값, 상태 관리, 출력, 오류 처리를 실제 워크플로 전반에서 검증합니다. 프로덕션 실증 데이터는 일회성 문법을 쌓지 않으면서 구현과 언어 발전의 우선순위를 안내합니다.

현재 제품 상태

본 문서는 현재 릴리스의 기능과 타깃별 동작, 계획된 확장 사항을 관련 맥락에 맞춰 명확히 제시하며, 내부 개발 절차는 공개 언어 규격이 아닌 엔지니어링 기록으로 관리합니다.

관련 문서