ML 계열의 견고한 타입 언어로, 빠르고 읽기 쉬운 JavaScript로 컴파일되며 TypeScript 타입 생성과 간편한 JS 상호 운용을 지원합니다.
kulics/koral
AI가 생성하고 사람이 검토하는 코드를 위해 설계된 실험적 컴파일 언어로, 명시적인 문법과 가비지 컬렉터가 없으며 C로 컴파일됩니다.
- 스타
- 418
- 포크
- 27
- 열린 이슈
- 0
- 마지막 커밋
- 16시간 전
어떤 프로젝트인가요?
Koral은 코드의 상당 부분을 AI 에이전트가 생성하고, 그 코드를 사람이 읽어야 하는 상황을 염두에 두고 만든 컴파일 언어입니다. 실수를 줄일 수 있도록 문법을 단순하게 구성했습니다. 모든 문장은 명시적인 세미콜론으로 끝나고, 가변성은 타입에서 한 번 선언하며, 모듈 수준의 이름에는 소유자가 하나뿐입니다. 오류 처리는 throw, try, catch 대신 표현식 안에 인라인으로 작성합니다.
가비지 컬렉터도 없고 수동으로 free할 필요도 없습니다. 명목 타입은 불변 `type` 또는 공유 `type mutable` 중 하나로 선언하며, 메모리 처리는 이 선택에 따라 결정됩니다. 컴파일러는 C 코드를 출력하며, 프로젝트는 이를 다양한 플랫폼과의 폭넓은 호환성을 목표로 한다고 설명합니다. 언어에는 대수적 데이터 타입, 완전한 패턴 매칭, 트레이트 제약이 있는 제네릭, 트레이트 객체, C FFI, `defer`가 포함됩니다.
이 프로젝트는 실험 단계이며 아직 프로덕션에 사용할 준비가 되지 않았습니다. 컴파일러는 Koral로 작성된 자체 호스팅 컴파일러이며, 동결된 Swift 참조 컴파일러를 기반으로 부트스트랩됩니다.
핵심 기능
- 01문장은 명시적인 세미콜론으로 끝나며, import에는 `using` 한 가지 형식만 사용합니다.
- 02`type`과 `type mutable`을 기준으로 메모리를 관리하며, 가비지 컬렉터나 수동 free는 필요하지 않습니다.
- 03`if`, `when`, `while`, `for` 등의 제어 흐름은 표현식 기반이며, 완전한 패턴 매칭을 지원합니다.
- 04`or else`, `and then`, `or return`을 사용해 오류를 인라인으로 처리합니다.
- 05C로 컴파일되며, raw pointer와 `defer`를 포함한 C FFI를 제공합니다.
활용 사례
- AI가 생성한 코드를 더 쉽게 검토할 수 있도록 설계된 언어를 탐구할 때.
- 자체 호스팅 컴파일러와 C 백엔드를 포함한 컴파일러 설계를 살펴볼 때.
- 가비지 컬렉터 없이 메모리를 관리하는 방식을 실험할 때.
빠른 시작
- 1
저장소를 클론합니다
git clone https://github.com/kulics/koral.git - 2
고정된 Swift 참조 컴파일러를 빌드합니다(Swift toolchain 필요)
swift build -c release --package-path compiler-reference - 3
참조 컴파일러를 사용해 셀프 호스팅 컴파일러를 빌드합니다
compiler-reference/.build/release/koralc build --package-config compiler/koral.json --target-module koralc -o bin/compiler
사용 전 알아둘 점
- 실험 단계이며 아직 프로덕션 환경에 적합하지 않습니다.
- 빌드하려면 Swift toolchain, clang, Git이 필요합니다.
- C를 거쳐 컴파일하므로 바이너리를 생성하려면 C toolchain이 필요합니다.
포함된 컬렉션
토픽
자주 묻는 질문
- koral은(는) 무엇인가요?
- AI가 생성하고 사람이 검토하는 코드를 위해 설계된 실험적 컴파일 언어로, 명시적인 문법과 가비지 컬렉터가 없으며 C로 컴파일됩니다. Koral은 코드의 상당 부분을 AI 에이전트가 생성하고, 그 코드를 사람이 읽어야 하는 상황을 염두에 두고 만든 컴파일 언어입니다. 실수를 줄일 수 있도록 문법을 단순하게 구성했습니다. 모든 문장은 명시적인 세미콜론으로 끝나고, 가변성은 타입에서 한 번 선언하며, 모듈 수준의 이름에는 소유자가 하나뿐입니다. 오류 처리는 throw, try, catch 대신 표현식 안에 인라인으로 작성합니다.
- koral은(는) 무료로 사용할 수 있나요? 라이선스는 무엇인가요?
- koral은(는) MIT 라이선스의 오픈소스입니다. 상업용 제품에 사용하기 전에 라이선스 조건을 확인하세요.
- koral은(는) 아직 유지보수되고 있나요?
- 활발히 유지보수 중. koral의 마지막 커밋은 2026년 11월 6일입니다.
- koral은(는) 어디에 사용할 수 있나요?
- AI가 생성한 코드를 더 쉽게 검토할 수 있도록 설계된 언어를 탐구할 때. 자체 호스팅 컴파일러와 C 백엔드를 포함한 컴파일러 설계를 살펴볼 때. 가비지 컬렉터 없이 메모리를 관리하는 방식을 실험할 때.
- koral는 어떻게 설치하나요?
- 저장소를 클론합니다: git clone https://github.com/kulics/koral.git 고정된 Swift 참조 컴파일러를 빌드합니다(Swift toolchain 필요): swift build -c release --package-path compiler-reference 참조 컴파일러를 사용해 셀프 호스팅 컴파일러를 빌드합니다: compiler-reference/.build/release/koralc build --package-config compiler/koral.json --target-module koralc -o bin/compiler
- koral은(는) 어디서 받을 수 있나요?
- 소스 코드와 설치 방법은 GitHub에 있습니다: https://github.com/kulics/koral
요약은 프로젝트 README를 바탕으로 AI가 작성했습니다. GitHub 통계는 매일 갱신됩니다.
관련 프로젝트
간단하고 안정적이며 효율적인 소프트웨어를 만들기 위한 오픈소스 프로그래밍 언어 Go입니다.
Rust 프로그래밍 언어의 메인 소스 저장소로, 컴파일러와 표준 라이브러리, 문서를 포함합니다.
Sway는 Fuel 블록체인에서 스마트 컨트랙트를 작성하기 위한 Rust 영감의 프로그래밍 언어입니다.
유지 관리하기 쉬운 소프트웨어를 위한 간결하고 빠른 컴파일 언어로, 라이브러리 의존성이 없고 C 코드를 V로 자동 변환합니다.
Odin은 C 대안으로 자리매김한 범용 데이터 지향 시스템 프로그래밍 언어이며, 표준 라이브러리를 내장하고 있습니다.