KingSejong 언어 로드맵
비전: 한국어로 누구나 쉽게 프로그래밍할 수 있는 세상
최종 업데이트: 2026-11-03 현재 버전: v0.7.0 (다음 버전의 변경 사항은 CHANGELOG.md 의 Unreleased 에 쌓인다) 중요 문서: 프로젝트 개요 | 기능 명세 | 구현 상태 | 설계 철학
🎉 v0.5.0 릴리스 완료!
릴리스 날짜: 2025-11-23 GitHub 릴리스: https://github.com/kingsejong-lang/kingsejong-lang/releases/tag/v0.5.0
주요 성과
- ✅ VM & Evaluator 리팩토링 완료 - 코드 가독성 93% 향상
- ✅ Tail Call Optimization - 326배 성능 개선 (2025-11-24)
- ✅ Playground 대폭 개선 - 17개 템플릿 지원
- ✅ 표준 라이브러리 251개 함수 - HTTP, DB, 암호화 등
- ✅ 코드 품질 도구 - .ksjlintrc, .ksjfmtrc 지원
- ✅ 1,519개 테스트 100% 통과
상세 내용: CHANGELOG.md
v0.6.0 릴리스
릴리스 날짜: 2026-10-26 (목표였던 2026년 11월 말보다 앞당겼다. 처음 목표는 2026년 2월이었다) 마이그레이션: MIGRATION_v0.6.md
범위: CHANGELOG 의 Unreleased 에 이미 쌓인 변경만 담는다. v0.5.0 이후 1년 가까이 고침·제거가 쌓였고 v0.5.0 에서는 가져올 수 없던 stdlib 모듈도 있어, 새 기능을 더 기다리지 않고 지금 상태를 릴리스한다. 아래 "v0.6.0 이후로 미룬 작업" 은 v0.7.0 범위로 옮겼다.
릴리스 전 할 일
- [x] 마이그레이션 가이드 (MIGRATION_v0.6.md)
- [x] CHANGELOG 의 Unreleased 를
[v0.6.0]절로 옮기기 - [x]
CMakeLists.txt의project(... VERSION 0.6.0) - [x] 태그
v0.6.0(릴리스 커밋468a788) - [x] GitHub 릴리스 — https://github.com/kingsejong-lang/kingsejong-lang/releases/tag/v0.6.0
완료된 작업 (2025-11-24)
함수 인라이닝 (JIT Tier 2)— 네이티브 함수를 만들지 못한 채 남아 있어 2026-10 에 제거했다. 다시 할 때는 VM 이 평가기와 동치가 된 뒤에 시작한다.✅ 성능 회귀 테스트 확장
- 추가 벤치마크 케이스 작성 (array_ops, memory_test)
- CI/CD 통합 (GitHub Actions regression-test job)
- 모든 벤치마크 100% 통과
릴리스 노트 작성— 초안이 JIT Tier 2 를 다루고 있어 기능 제거와 함께 CHANGELOG 에서 지웠다.
완료된 작업 (2026-10)
- ✅ 바이트코드 VM 을 평가기와 동치로 재작성 — 예제 51개가
--vm에서도 같은 결과를 내고, 패턴 매칭·가져오기도 VM 이 직접 처리한다. 오류 위치에 열과 캐럿이 나온다. - ✅ 조사 메서드 체이닝 —
목록을 걸러낸다(f)를 변환한다(g)와사용자의 이름을 출력한다가 왼쪽부터 적용된다. - ✅ 문서 검증 — 사용자 가이드·튜토리얼·표준 라이브러리 레퍼런스의 코드 블록을 인터프리터로 실행해 실제 문법과 결과에 맞췄다.
- ✅ 버전 표기 단일화 —
--version, REPL, LSP 가CMakeLists.txt의 버전 하나를 쓴다. - ✅ CI 강화 — Valgrind 잡이 테스트 전체를 돌리고 메모리 오류·누수가 있으면 실패한다.
- ✅ 쓰이지 않던 기능 제거 — JIT Tier 1·2,
ksjpm패키지 관리자.
v0.6.0 이후로 미룬 작업 (v0.8.0 범위)
[ ] 최종 안정화
- [ ] 성능 프로파일링 및 최적화
- [x] 메모리 누수 검사 — CI 의 Valgrind 잡이 테스트 전체를 돌리고 누수가 있으면 실패한다. 환경 순환 참조는
EnvironmentLeakTest가 확인한다 - [ ] 엣지 케이스 테스트 강화
[ ] 문서 완성
- [x] API 문서 자동 생성 (Doxygen) — main 에 푸시할 때마다 Pages 의
/api/에 배포한다 - [ ] 튜토리얼 시리즈 확장
- [x] API 문서 자동 생성 (Doxygen) — main 에 푸시할 때마다 Pages 의
[x] 커뮤니티 구축
- [x] GitHub Discussions 활성화 — https://github.com/kingsejong-lang/kingsejong-lang/discussions
- [x] 기여자 가이드 작성 — CONTRIBUTING.md
- [x] 코드 리뷰 프로세스 정립 — CONTRIBUTING 의 "Pull Request 프로세스"·"코드 리뷰 가이드"
v0.7.0 릴리스
릴리스 날짜: 2026-11-03 마이그레이션: MIGRATION_v0.7.md
범위: kingsejong-examples 를 쓰며 찾은 언어 문제와, C 의 libc 정도 되는 표준 라이브러리를 KingSejong 코드로 쓰는 데 필요한 결정(STDLIB_READINESS.md 4장)을 담는다. 처음 v0.7.0 에 두었던 안정화·stdlib 확장·네이티브 확장 모듈 API 는 v0.8.0 범위로 옮겼다.
- ✅ 반복 제어
중단/계속 - ✅ 정수 오버플로를 실행 오류로 정의하고 감싸 도는 내장 함수(
감싸더하기등) 추가 - ✅ 조건은
참/거짓만 받음 (실행 중에도) - ✅ 반복문 회차마다 새 범위 (클로저가 회차의 값을 잡는다)
- ✅ 배열·딕셔너리 값 비교, 깊은 재귀의 segfault, 짧은 이름 뒤 범위 표시, 린터 오탐 수정
릴리스 전 할 일
- [x] 마이그레이션 가이드 (MIGRATION_v0.7.md)
- [x] CHANGELOG 의 Unreleased 를
[v0.7.0]절로 옮기기 - [x]
CMakeLists.txt의project(... VERSION 0.7.0) - [x] 태그
v0.7.0(이 준비 커밋에 단다) - [x] GitHub 릴리스 — https://github.com/kingsejong-lang/kingsejong-lang/releases/tag/v0.7.0
📋 단기 계획
코드 품질 도구
우선순위: 낮음 | 예상 기간: 1주
- [ ] Formatter VS Code 확장 Marketplace 배포
- [x] 확장 패키징 —
npm run package가.vsix를 만들고 CI 가 아티팩트로 남긴다 - [ ] VS Code Marketplace 등록
- [ ] 배포 및 홍보
- [x] 확장 패키징 —
- [x] 편집기 린터 진단 — 언어 서버가
kingsejong lint와 같은 규칙을 돌려 경고 밑줄로 보낸다..ksjlint.json을 따르고kingsejong.lint.enable로 끈다
🔮 장기 계획 (Phase 10+)
네이티브 확장 모듈 API (v0.8.0)
우선순위: 중간 | 예상 기간: 3-4주
지금은 네이티브(C++) 함수가 모두 인터프리터 안(src/evaluator/Builtin.cpp)에 있고, 가져오기 는 .ksj 파일만 불러온다. 외부 C/C++ 라이브러리가 필요한 GUI·ML 모듈을 본체 빌드에 넣으면 의존성과 CI 가 무거워지므로, 별도 저장소에서 만들어 불러올 수 있는 길을 먼저 연다.
- [ ] 공유 라이브러리(
.so/.dylib/.dll)로 내장 함수를 등록하는 C ABI 와 버전 검사 - [ ]
가져오기가 네이티브 모듈을 찾는 규칙 (KINGSEJONG_PATH와 같은 탐색 순서) - [ ]
--sandbox·--untrusted에서 네이티브 모듈을 막거나 허용 목록으로만 여는 정책 - [ ] 예제 네이티브 모듈과 개발 가이드
이 API 가 생기면 stdlib/gui·stdlib/ml 은 kingsejong-gui·kingsejong-ml 같은 별도 저장소로 시작한다. stdlib/network·collections 는 본체에 둔다(이미 포함된 httplib 와 샌드박스 권한 검사, 순수 .ksj 구현).
표준 라이브러리 고도화 (v0.8.0)
우선순위: 중간 | 예상 기간: 각 2-3주
[ ] stdlib/gui.ksj - GUI 프로그래밍 (네이티브 확장 모듈 API 이후, 별도 저장소)
- [ ] 윈도우 생성 및 관리
- [ ] Canvas 2D 그래픽
- [ ] 이벤트 루프 및 핸들러
- [ ] 기본 위젯 (버튼, 입력, 레이블)
[ ] stdlib/network.ksj - 네트워크 프로그래밍
- [ ] TCP/UDP 소켓
- [ ] HTTP 서버 구현
- [ ] WebSocket 지원
- [ ] 비동기 네트워크 I/O
[ ] stdlib/ml.ksj - 머신러닝/수치 계산 (네이티브 확장 모듈 API 이후, 별도 저장소)
- [ ] NumPy 스타일 배열 연산
- [ ] 선형대수 연산
- [ ] 기본 ML 알고리즘
- [ ] TensorFlow/PyTorch 바인딩
[ ] stdlib/collections 고도화
- [ ] 우선순위 큐
- [ ] 그래프 자료구조
- [ ] 트리 (AVL, Red-Black)
- [ ] 불변 컬렉션
LLVM 백엔드 (v0.10.0, 선택)
우선순위: 낮음 | 예상 기간: 2-3개월
- [ ] LLVM IR 생성 파이프라인
- [ ] AOT 컴파일 및 실행 파일 생성
- [ ] 최적화 패스 구현
- [ ] 목표 성능: V8 대비 80~90%
멀티스레딩 지원 (v0.10.0)
우선순위: 중간 | 예상 기간: 1-2개월
- [ ] 스레드 생성/관리 API
- [ ] 동기화 도구 (뮤텍스, 세마포어, 조건 변수)
- [ ] 채널 기반 통신 (Go 스타일)
- [ ] 스레드 안전성 가이드
메모리 최적화 (v0.9.0)
우선순위: 중간 | 예상 기간: 1개월
- [ ] Incremental GC 도입
- [ ] 메모리 풀링 최적화
- [ ] 세대별 GC 개선
📅 타임라인
[완료]
2025-11-17 Phase 6 완료 (JIT Tier 1) — 2026-10 제거 (x86-64 에서 스택 손상, VM 은 실험 플래그로 유지)
2025-11-19 Phase 7 완료 (클래스, Async, 세대별 GC) ✅
2025-11-20 Phase 8 완료 (코드 품질, 문서화) ✅
2025-11-21 Phase 9 완료 (VM & Evaluator 리팩토링) ✅
2025-11-23 v0.5.0 릴리스 ✅
2025-11-24 Tail Call Optimization (TCO) 구현 완료 ✅
2025-11-24 함수 인라이닝 (JIT Tier 2) 착수 (2026-10 제거)
2025-11-24 성능 회귀 테스트 확장 완료 ✅
2026-10 VM 재작성, 조사 체이닝, 문서 검증, stdlib 결함 수정 ✅
2026-10-26 v0.6.0 릴리스 (안정화·문서 검증 버전) ✅
2026-11-03 v0.7.0 릴리스 (반복 제어, 언어 의미 정리) ✅
[예정]
미정 v0.8.0 - 안정화·문서 완성, stdlib 확장
미정 v0.9.0 - Incremental GC, 메모리 최적화
미정 v0.10.0 - LLVM 백엔드 (선택), 멀티스레딩
※ 처음 계획(v0.6.0 2026-02, v0.7.0 2026-09)이 9개월 넘게 밀렸다. 처음 v0.7.0 에 두었던 안정화·stdlib 확장은 v0.8.0 으로 옮겼다🎯 버전별 성공 기준
v0.6.0 (2026-10-26 릴리스)
- ✅ 예제 51개가 평가기와
--vm에서 기대 출력과 같다 - ✅ 사용자 가이드·튜토리얼·stdlib 레퍼런스의 코드 블록이 실제로 실행된다
- ✅ 성능 회귀 테스트 자동화
- ✅ CI(Linux·macOS·Windows, Valgrind)가 main 에서 통과한다
- ✅ 마이그레이션 가이드와 릴리스 노트(CHANGELOG
[v0.6.0]절)
v0.7.0 (2026-11-03 릴리스)
- ✅ 새 언어 동작(반복 제어, 오버플로, 엄격한 조건, 회차 범위)이 평가기와
--vm에서 같다 - ✅ kingsejong-examples 의 레슨이 모두 기대 출력과 같다
- ✅ CI(Linux·macOS·Windows, Valgrind, ASan·UBSan)가 main 에서 통과한다
- ✅ 마이그레이션 가이드와 릴리스 노트(CHANGELOG
[v0.7.0]절)
v0.8.0 (일정 미정)
- 🎯 API 문서 완비 (Doxygen 자동 생성)
- 🎯 커버리지 보고서 80% 이상
- 🎯 커뮤니티 구축 (GitHub Discussions)
- 🎯 stdlib 251+ → 350+ 함수 확장
- 🎯 GUI, Network, ML 라이브러리 추가
- 🎯 성능 개선 (Python 대비 3-5배)
v0.9.0 (일정 미정)
- 🎯 Incremental GC 도입
- 🎯 메모리 풀링 최적화
- 🎯 메모리 사용량 50% 감소
v0.10.0 (일정 미정)
- 🎯 LLVM 백엔드 완성 (선택)
- 🎯 AOT 컴파일 지원
- 🎯 네이티브 실행 파일 생성
- 🎯 V8 대비 80~90% 성능 (LLVM 사용 시)
- 🎯 멀티스레딩 완전 지원
🚀 다음 우선순위 작업
1. 문서 정리 및 개선 - 단기
기간: 1-2주 | 난이도: 낮음
문서 구조 재정비, 사용자 가이드 vs 튜토리얼 목적 명확화, README 간소화를 진행합니다.
2. v0.8.0 준비 - 중기
기간: 미정 | 난이도: 중간
v0.6.0(2026-10-26)에서 미룬 안정화·문서 완성·커뮤니티 구축과 포매터 지원 확대, 부모 메서드 호출(상위)을 다룬다.
3. stdlib 고도화 - 장기
기간: 3-6개월 | 난이도: 높음
GUI, 네트워크, 머신러닝 라이브러리를 추가하여 실용성을 높입니다.
💡 장기 비전
기술적 목표
- 아키텍처: tree-walking 평가기 (기본) + 바이트코드 VM (
--vm, 평가기와 동치. 값 의미는 Evaluator 의 정적 함수로 공유) - 성능: Python 대비 3-5배, V8 대비 80-90% (LLVM 사용 시)
- 메모리: 효율적인 GC + 선택적 메모리 풀링
- 확장성: 모듈 시스템, 패키지 관리자
철학
- 훈민정음의 디지털 후계자: 배우기 쉽고 사용하기 편한 언어
- 한국어 프로그래밍: 자연스러운 한국어 문법과 키워드
- 실용성: 교육부터 프로덕션까지 활용 가능
커뮤니티
- 교육: 초중고 프로그래밍 교육 도구
- 기업: 한국 기업의 내부 도구 및 자동화
- 연구: 한국어 NLP 및 언어 연구
- 오픈소스: 활발한 기여자 커뮤니티
📚 관련 문서
- CHANGELOG.md - 버전별 변경 사항
- GitHub Releases - 릴리스 노트 및 다운로드
- 사용자 가이드 - 시작하기 및 레퍼런스
- 튜토리얼 - 단계별 학습 가이드
- 설정 가이드 - Linter/Formatter 설정
- 프로젝트 개요 - 목표와 전체 구조
- 기능 명세 - 언어 기능 명세
- 구현 상태 - 구현된 것과 남은 것
- 설계 철학 - 한글 문법을 택한 이유
- Phase 9 리팩토링 계획 - 코드 품질 개선 계획
🛠️ 개발 가이드
빌드 및 테스트
# 빌드
mkdir build && cd build
cmake ..
make -j8
# 테스트
ctest --output-on-failure
# 메모리 검사
cmake -DCMAKE_CXX_FLAGS="-fsanitize=address -g" ..
make && ctest커밋 규칙
feat: 새 기능 추가
fix: 버그 수정
refactor: 코드 리팩토링
test: 테스트 추가
docs: 문서 수정
perf: 성능 개선마지막 업데이트: 2026-10-26