프로젝트 소개
sysl은 시스템 언어의 제어 능력을 제공하면서도 접근성을 유지하도록 설계된 범용 시스템 언어입니다. 메모리 관리를 위해 빌림 검사기(borrow checker)나 가비지 컬렉터 대신 참조 횟수 계산(reference counting) 방식을 사용합니다. 메모리는 명시적인 타입 모드를 통해 관리됩니다. 값/스택을 위한 `T`, ARC 참조 횟수 기반 힙을 위한 `&T`, 그리고 로우 포인터를 위한 `*T`가 있으며, 로컬 바인딩을 위한 `ref`가 이를 보완합니다.
이 언어는 LLVM IR을 통해 네이티브 바이너리로 컴파일되며 clang을 사용하여 링크됩니다. 포괄적인 표준 라이브러리와 강력한 외부 함수 인터페이스(FFI)를 갖추고 있어 C 라이브러리와 링크하거나 정적 아카이브 형태로 C 프로젝트에 링크될 수 있습니다.
주요 기술적 특징은 다음과 같습니다:
- LLVM을 통한 네이티브 바이너리 컴파일.
- 참조 횟수 기반 메모리 관리(ARC).
- `@export` 및 `@link` 지시어를 통한 강력한 C 상호 운용성.
- Scala 3로 구현된 컴파일러로, CLI 도구 및 Maven Central을 통한 라이브러리 형태로 제공됩니다.
- 소스 코드 내 `@test` 속성을 사용한 통합 테스트 지원.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.