Han – Rust로 작성된 한국어 기반 컴파일형 프로그래밍 언어

GeekNews (AI) | | 🔬 연구
#llvm #review #rust #컴파일러 #프로그래밍 언어 #한국어
원문 출처: GeekNews (AI) · Genesis Park에서 요약 및 분석

요약

한글 키워드로 작성되는 정적 타입의 컴파일형 언어로, LLVM IR을 통해 네이티브 바이너리를 생성함 Rust로 구현된 컴파일러와 인터프리터를 모두 제공하며, hgl CLI로 빌드·실행·REPL·LSP 기능을 지원함 함수

본문

- 한글 키워드로 작성되는 정적 타입의 컴파일형 언어로, LLVM IR을 통해 네이티브 바이너리를 생성함 - Rust로 구현된 컴파일러와 인터프리터를 모두 제공하며, hgl CLI로 빌드·실행·REPL·LSP 기능을 지원함 - 함수 , 만약 , 반복 , 변수 등 모든 키워드가 한국어이며, 변수명과 함수명도 한글로 정의 가능함 - 파일 입출력, JSON, HTTP, 정규식, 날짜/시간, 시스템 호출 등 실용적 기능을 내장하고, 예제 18개를 포함함 - 한글의 과학적 구조와 문화적 확산을 프로그래밍 언어로 구현해, 한국어 학습과 코딩을 결합한 새로운 시도로 주목받음 Han 언어 개요 - Han은 한국어 키워드로 작성되는 정적 타입 컴파일 언어로, LLVM IR을 통해 네이티브 바이너리를 생성함 - Rust로 작성된 컴파일러 툴체인과 트리 워킹 인터프리터를 포함 - hgl 명령어로 인터프리터 실행, 빌드, REPL, LSP 서버 구동 가능 - 모든 키워드가 한글로 구성되어 있으며, 예: 함수 , 만약 , 반복 , 변수 , 출력 등 - 한글의 과학적 문자 체계를 프로그래밍 언어로 구현해, 언어적 아름다움과 기술적 정밀성의 결합을 목표로 함 주요 기능 - 한글 키워드 및 식별자 지원: 변수명, 함수명, 구조체명 등을 한글로 작성 가능 - 정적 타입 시스템: 정수 , 실수 , 문자열 , 불 , 없음 의 5가지 기본 타입 제공 - 컴파일 및 인터프리터 모드: LLVM IR → clang → 바이너리 생성 또는 즉시 실행 - REPL 및 LSP 서버: hgl repl , hgl lsp 명령으로 대화형 실행과 코드 완성 지원 - 내장 기능 - 배열, 구조체, 클로저, 패턴 매칭, 예외 처리, 제네릭 - 파일 I/O, JSON, HTTP, 정규식, 날짜/시간, 시스템 호출 - 형식 문자열, 해시맵, 수학 내장 함수 - 예제 프로그램 18개 포함: Hello World, HTTP API 호출 등 설치 및 실행 - 필수 구성요소: Rust(1.70+), clang - 설치 절차 - VS Code 확장 제공: 구문 강조 및 LSP 지원 - CLI 명령어 - hgl interpret — 인터프리터 실행 - hgl build — 네이티브 바이너리 컴파일 - hgl run — 컴파일 후 즉시 실행 - hgl repl — 대화형 모드 - hgl lsp — LSP 서버 실행 현재 구현 상태 - 완전 동작 기능 - 데이터 타입, 제어 흐름, 함수, 문자열, 배열, 해시맵, 구조체, 오류 처리, 타입 검사 - JSON, HTTP, 정규식, 날짜/시간, 시스템, 파일 I/O, 수학 함수, 모듈, 제네릭 - 부분 구현 기능 - hgl build 시 클로저·문자열·배열 메서드의 코드 생성은 미완성 - 미구현 기능 - Null 안전성( Option 타입 없음), 비동기/병렬 처리, 가비지 컬렉션, 꼬리 재귀 최적화 한글과 프로그래밍 - 한글은 음운 구조를 시각적으로 표현한 과학적 문자 체계로, 세종대왕이 1443년에 창제 - Han은 이러한 한글의 구조적 명료함을 코드 문법에 반영함 - 전 세계적으로 1,600만 명 이상이 한국어를 학습 중이며, Han은 코딩을 통한 한글 학습 수단을 제공함 - 예시 키워드 - 함수 (function), 만약 (if), 반복 (for), 반환 (return), 변수 (variable), 출력 (print) 등 설계 및 구조 - Rust 기반 컴파일러 파이프라인 - Lexer → Parser → AST → Interpreter / CodeGen → LLVM IR → clang → Binary - 프로젝트 구조 - src/ — 핵심 컴파일러 및 인터프리터 코드 - editors/vscode/ — VS Code 확장 - examples/ , spec/ , tests/ 포함 - 설계 선택 이유 - LLVM C API 대신 텍스트 기반 IR 생성으로 빌드 단순화 - 인터프리터는 빠른 실행, 컴파일러는 성능 중심 - Rust의 패턴 매칭과 메모리 안전성이 언어 구현에 적합 테스트 및 라이선스 - cargo test 로 46개 테스트(단위 41개, 통합 5개) 수행 - MIT 라이선스로 공개됨 문화적 의의 - Han은 한글의 아름다움과 프로그래밍의 정밀성을 결합한 실험적 언어 - 한국어 학습자와 개발자 모두에게 언어와 코드의 경계를 허무는 새로운 접근을 제시함

Genesis Park 편집팀이 AI를 활용하여 작성한 분석입니다. 원문은 출처 링크를 통해 확인할 수 있습니다.

공유

관련 저널 읽기

전체 보기 →