12 ポイント 投稿者 jaypark 2026-03-17 | 12件のコメント | WhatsAppで共有

韓国語の助詞と述語を文法要素として活用する実験的なプログラミング言語。
既存言語のキーワードをハングルに翻訳する方式ではなく、
韓国語話者が読み書きする流れに近い表層文法を目指している。
Rustで実装され、WebAssemblyのブラウザープレイグラウンドを含む。

コーディングを初めて学ぶときから想像だけはしていたものですが、Codexの助けを借りてこうして作ってみることができました。
実用性はたぶんないと思いますが……いろいろな文法を実験中です。

核心は「ハングルのキーワード置換」ではなく、韓国語の文の流れを生かすことでした。
たとえば、こんなコードになります:

이름은 "철수"이다.  
나이는 20이다.  
  
나이 > 19이면  
  "성인이다"를 출력한다.  
아니면  
  "미성년자이다"를 출력한다.  

助詞が文法的な意味を持ちます。
은/는はバインディング、을/를は対象、はプロパティアクセス、으로は変換フレームです。
そのため、합은 7 더하기 8이다결과는 5의 제곱이다のようなこともできます。

関数も韓国語の文の形で定義し、呼び出します:

인사만들기 함수는 이름을 받아  
  "안녕, " + 이름 + "!"을 돌려준다.  
  
인사문장은 "지음"으로 인사만들기이다.  

キャンバスグラフィックスも扱えます:

그림판에 { 배경색: "#f6efe2" }으로 지우기.  
그림판에 { x: 120, y: 80, 색: 빨강 }으로 점찍기.  

内部的にはSmalltalkスタイルのメッセージ送信モデルを使っているため、
表層は韓国語ですが、意味構造はかなり厳密です。

Rustで作られており、wasm-packでブラウザープレイグラウンドも動きます。
ハノイの塔のキャンバスデモまでは動作する状態です。

まだ v0.1 なので不足している点は多いですが、フィードバックをいただけるとうれしいです。

12件のコメント

 
picopress 2026-03-22

おお...

 
wiring 2026-03-21

나이 > 19이면 は、部分的に 나이가 19보다 크면 のようにもできるのではないでしょうか。이/가 の前の部分と 보다 の前の部分を、それぞれ左辺と右辺として解釈すればよさそうです。크거나 같으면 または 이상이면 にできそうです(ただしこの場合は 보다 を使わず、つまり 나이가 19 이상이면 のように表現する必要はありそうですね。そうすると 이/가 を基準に左右を区別しなければならないので、少し解釈時の複雑さは上がりそうですね)。

 
runableapp 2026-03-20

本当に素晴らしいです!

少し前にも「Han」という言語が取り上げられたとき、この「ヌリ」という言語の紹介に言及がありました。
https://github.com/suhdonghwi/nuri/
ヌリという言語も、自然に韓国語と同じ語順になるようですね。

ジウム言語も自然な文になっていて、読むのも簡単です。さらに進めて、

年齢 > 19なら
"成人だ"を出力する。
そうでなければ
"未成年者だ"を出力する。

=> 年齢が19歳以上なら「成人だ」と出力し、そうでなければ「未成年だ」と出力する。

このようにできれば、完璧な韓国語になるでしょう。

 
youknowone 2026-03-19

これまで見た韓国語のプログラミング言語の中で、文法的に最も興味深いです。面白いですね。

 
kairess 2026-03-18

私も昔から想像していたことなのですが、生きているうちにこんなふうに作られたものを見られるとは思いませんでした。応援しています! 一生懸命使ってみます。

 
coremaker 2026-03-18

おお、応援しています!!!!! こういうプロジェクトを待っていました〜

 
backgwa 2026-03-18

以前に私が進めていたプロジェクトの文法と似ていて、興味深いですね!

 
ahiou 2026-03-18

その文法のままプロンプトを作れば、とても良い仕様になりそうですね

 
remin1994 2026-03-18

わあ、すごく面白そうですね???

 
oneune 2026-03-17

おお、面白そうですね!韓国語の文法は厳密に使うのでしょうか? それとも、ある程度の柔軟性があるのでしょうか?

 
joyfui 2026-03-17

わあ、私の最初のプログラミング言語は創造だったのに……!

 
nottiger 2026-03-17

わあ、素晴らしいプロジェクトです...