AI 요약
한국어 프로그래밍 언어 'Han(한)'은 프로그래밍이 모든 국가에서 동일한 모습일 필요가 없다는 철학에서 탄생한 Rust 기반의 범용 언어입니다. 이 언어는 단순한 문자열 표시를 넘어 한글을 1급 시민(First-class)으로 취급하며, '함수', '만약', '반복' 등 직관적인 한글 키워드를 사용합니다. 기술적으로는 LLVM IR을 거쳐 clang을 통해 네이티브 바이너리를 생성하는 컴파일러 툴체인을 갖추었으며, 즉시 실행을 위한 트리 워킹(Tree-walking) 인터프리터도 함께 제공합니다. 정수, 실수, 문자열 등 5가지 기본 타입을 지원하는 정적 타이핑 시스템을 채택하여 안정성을 확보했습니다. 또한 에디터 지원을 위한 LSP(Language Server Protocol) 서버인 'hgl lsp'와 대화형 환경인 'hgl repl'을 지원하여 현대적인 개발자 경험을 구현했습니다. 이 프로젝트는 제네릭, 클로저, 패턴 매칭과 같은 고급 문법뿐만 아니라 파일 I/O 및 풍부한 문자열 메서드를 포함하여 실무적인 활용 가능성을 제시하고 있습니다.
핵심 인사이트
- Rust 기반 툴체인: 컴파일러 전체가 Rust로 작성되었으며, LLVM IR → clang 경로를 통해 고성능 네이티브 바이너리를 생성함.
- 정적 타입 시스템: 정수(int), 실수(float), 문자열(string), 불(bool), 없음(void) 등 5가지 기본 원시 타입을 기반으로 하는 엄격한 타입 체크 지원.
- 현대적 언어 기능: 제네릭(
최대값<T>), 패턴 매칭(맞춰), 구조체(구조), 클로저 등 최신 프로그래밍 언어의 핵심 패러다임을 한글 문법으로 구현. - 개발 편의성 도구: 에디터 자동 완성 및 호버 기능을 위한
hgl lsp서버와 즉시 코드 실행이 가능한hgl interpret, 대화형hgl repl모드 제공.
주요 디테일
- 배열 및 데이터 조작: 배열 내 인덱싱과 음수 인덱싱을 지원하며
.추가(),.삭제(),.정렬(),.역순()등 다양한 내장 메서드 제공. - 제어 흐름 및 오류 처리:
만약/반복을 통한 로직 제어와시도/실패(오류)블록을 이용한 현대적인 예외 처리 메커니즘 구축. - 문자열 포매팅:
형식("이름: {0}", 이름)과 같은 위치 기반 포맷팅 및 이름 기반 포맷팅 기능을 모두 지원하여 가독성 향상. - 파일 및 모듈 시스템:
가져오기 "파일.hgl"을 통한 모듈화와파일읽기,파일쓰기,파일존재등 강력한 파일 I/O 기능 내장. - 구현 예시: 문자열 계산기, 단어 카운터, 할일 목록(Todo List) 관리 등 실질적인 알고리즘과 자료구조 구현이 가능함.
향후 전망
- 교육 및 실무 활용: 한글의 과학적 원리를 프로그래밍에 접목하여 국내 코딩 교육 및 특정 도메인 개발에서 가독성이 높은 대안 언어로 자리 잡을 가능성이 있음.
- 라이브러리 생태계 확장: 오픈 소스 커뮤니티를 통해 표준 라이브러리와 수학 함수(
제곱근,거듭제곱등)가 더욱 확장될 것으로 기대됨.
출처:hackernews
