- Bahasa terkompilasi bertipe statis yang ditulis dengan kata kunci Hangul, menghasilkan biner native melalui LLVM IR
- Menyediakan kompiler dan interpreter yang sama-sama diimplementasikan dengan Rust, serta mendukung build, eksekusi, REPL, dan LSP melalui CLI
hgl
- Semua kata kunci menggunakan bahasa Korea seperti
함수, 만약, 반복, 변수, dan nama variabel maupun fungsi juga dapat didefinisikan dalam Hangul
- Memiliki fitur praktis bawaan seperti I/O file, JSON, HTTP, regex, tanggal/waktu, dan system call, serta menyertakan 18 contoh
- Mengimplementasikan struktur ilmiah dan penyebaran budaya Hangul ke dalam bahasa pemrograman, sehingga mendapat perhatian sebagai upaya baru yang menggabungkan pembelajaran bahasa Korea dan coding
Gambaran umum bahasa Han
- Han adalah bahasa terkompilasi bertipe statis yang ditulis dengan kata kunci bahasa Korea, dan menghasilkan biner native melalui LLVM IR
- Mencakup toolchain kompiler dan tree-walking interpreter yang ditulis dengan Rust
- Perintah
hgl dapat digunakan untuk menjalankan interpreter, build, REPL, dan server LSP
- Semua kata kunci terdiri dari Hangul, misalnya:
함수, 만약, 반복, 변수, 출력, dan lain-lain
- Dengan menerapkan sistem aksara ilmiah Hangul ke dalam bahasa pemrograman, proyek ini bertujuan menggabungkan keindahan linguistik dan presisi teknis
Fitur utama
- Dukungan kata kunci dan identifier Hangul: nama variabel, fungsi, struct, dan lainnya dapat ditulis dalam Hangul
- Sistem tipe statis: menyediakan 5 tipe dasar yaitu
정수, 실수, 문자열, 불, 없음
- Mode kompilasi dan interpreter: LLVM IR → clang → pembuatan biner atau eksekusi langsung
- REPL dan server LSP: mendukung eksekusi interaktif dan code completion melalui perintah
hgl repl, hgl lsp
- Fitur bawaan
- Array, struct, closure, pattern matching, exception handling, generic
- File I/O, JSON, HTTP, regex, tanggal/waktu, system call
- String berformat, hash map, fungsi matematika bawaan
- Menyertakan 18 program contoh: Hello World, pemanggilan HTTP API, dan lainnya
Instalasi dan eksekusi
- Komponen wajib: Rust(1.70+), clang
- Langkah instalasi
- Menyediakan ekstensi VS Code: syntax highlighting dan dukungan LSP
- Perintah CLI
hgl interpret <file.hgl> — menjalankan interpreter
hgl build <file.hgl> — mengompilasi biner native
hgl run <file.hgl> — langsung menjalankan setelah kompilasi
hgl repl — mode interaktif
hgl lsp — menjalankan server LSP
Status implementasi saat ini
- Fitur yang berfungsi penuh
- Tipe data, alur kontrol, fungsi, string, array, hash map, struct, penanganan error, pemeriksaan tipe
- JSON, HTTP, regex, tanggal/waktu, sistem, file I/O, fungsi matematika, modul, generic
- Fitur yang diimplementasikan sebagian
- Saat
hgl build, code generation untuk closure, string, dan method array masih belum selesai
- Fitur yang belum diimplementasikan
- Null safety (tidak ada tipe
Option), pemrosesan asinkron/paralel, garbage collection, optimisasi tail recursion
Hangul dan pemrograman
- Hangul adalah sistem aksara ilmiah yang merepresentasikan struktur fonologis secara visual, diciptakan oleh Raja Sejong pada tahun 1443
- Han merefleksikan kejernihan struktural Hangul tersebut ke dalam sintaks kode
- Secara global, lebih dari 16 juta orang sedang mempelajari bahasa Korea, dan Han menyediakan sarana belajar Hangul melalui coding
- Contoh kata kunci
함수(function), 만약(if), 반복(for), 반환(return), 변수(variable), 출력(print), dan lain-lain
Desain dan struktur
- Pipeline kompiler berbasis Rust
- Lexer → Parser → AST → Interpreter / CodeGen → LLVM IR → clang → Binary
- Struktur proyek
src/ — kode inti kompiler dan interpreter
editors/vscode/ — ekstensi VS Code
- Mencakup
examples/, spec/, tests/
- Alasan pemilihan desain
- Menggunakan pembuatan IR berbasis teks alih-alih LLVM C API untuk menyederhanakan build
- Interpreter berfokus pada eksekusi cepat, kompiler berfokus pada performa
- Pattern matching dan memory safety Rust cocok untuk implementasi bahasa
Pengujian dan lisensi
- Menjalankan 46 pengujian dengan
cargo test (41 unit, 5 integrasi)
- Dirilis dengan lisensi MIT
Makna kultural
- Han adalah bahasa eksperimental yang menggabungkan keindahan Hangul dan presisi pemrograman
- Menawarkan pendekatan baru yang meruntuhkan batas antara bahasa dan kode bagi pembelajar bahasa Korea maupun developer
Belum ada komentar.