본문으로 건너뛰기

© 2026 Molayo

arXiv논문2026. 06. 02. 14:10

Toka: 명시적 리소스 의미론을 갖춘 시스템 프로그래밍 언어

요약

Toka는 물리적 투명성과 메모리 안전성을 동시에 확보하기 위해 설계된 새로운 시스템 프로그래밍 언어입니다. 핸들-소울 이중성(Handle-Soul Duality) 모델을 통해 포인터와 값을 구문 수준에서 분리하여 리소스 관리의 모호성을 제거합니다.

핵심 포인트

  • 핸들-소울 이중성을 통한 포인터와 값의 명확한 분리
  • 수명 어노테이션의 인지적 부하를 획기적으로 감소
  • 고유, 공유, 대여, 원시 등 다양한 리소스 형태학 지원
  • 경쟁력 있는 런타임 성능 및 최소한의 바이너리 크기 달성

시스템 프로그래밍 언어(Systems programming languages)는 전통적으로 물리적 투명성(physical transparency)과 컴파일 타임 메모리 안전성(compile-time memory safety) 사이의 긴장 관계로 인해 어려움을 겪어왔습니다. C++는 직접적이고 비용이 없는(zero-cost) 하드웨어 접근을 제공하지만 엄격한 안전 경계가 부족하며, 반면 Rust는 복잡한 수명 어노테이션(lifetime annotations)과 암시적 역참조 체인(implicit dereferencing chains)을 대가로 안전성을 보장합니다. 본 논문에서는 명시적 리소스 의미론(Explicit Resource Semantics)을 통해 리소스 관리의 물리적 투명성을 확립하는 네이티브 시스템 프로그래밍 언어인 Toka를 소개합니다. Toka 설계의 핵심은 핸들-소울 이중성(Handle-Soul Duality, 비공식적으로 Hat-Soul 모델이라 불림)으로, 이는 구문 수준(syntactic level)에서 포인터 정체성(Handles)을 기반이 되는 값(Souls)으로부터 깔끔하게 분리합니다. 일반 식별자(bare identifiers)는 항상 값(Souls)을 나타내고, 명시적 시질(explicit sigils)은 포인터 핸들(pointer handles)을 나타내도록 강제함으로써, Toka는 재바인딩(rebind) 작업과 값 변이(value mutations) 사이의 의미론적 모호성을 제거합니다. 우리는 Toka의 리소스 형태학(resource morphology, 고유(unique), 공유(shared), 대여(borrowed), 원시(raw) 의미론 지원), 수명 검사 메커니즘(lifetime checking mechanism), 그리고 프로토타입 컴파일러의 구현에 대해 상세히 설명합니다. 우리의 평가 결과에 따르면, Toka는 수명 어노테이션의 인지적 부하(cognitive overhead)를 획기적으로 줄이면서도 경쟁력 있는 런타임 성능(runtime performance)과 최소한의 바이너리 크기를 달성함을 보여줍니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 arXiv cs.PL (Programming Languages)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0