Bahasa pemrograman eksperimental yang memanfaatkan partikel dan predikat bahasa Korea sebagai elemen tata bahasa.
Bukan menerjemahkan keyword dari bahasa yang sudah ada ke Hangul,
melainkan menargetkan tata bahasa permukaan yang lebih dekat dengan alur membaca dan menulis penutur bahasa Korea.
Diimplementasikan dengan Rust, termasuk playground browser berbasis WebAssembly.
Ini adalah sesuatu yang selama ini hanya saya bayangkan sejak pertama belajar coding, dan akhirnya bisa saya buat dengan bantuan Codex.
Sepertinya mungkin tidak punya nilai praktis.. saat ini saya sedang bereksperimen dengan berbagai bentuk tata bahasa.
Intinya bukan "penggantian keyword Hangul", melainkan menjaga alur kalimat bahasa Korea,
misalnya kodenya bisa seperti ini:
이름은 "철수"이다.
나이는 20이다.
나이 > 19이면
"성인이다"를 출력한다.
아니면
"미성년자이다"를 출력한다.
Partikel memiliki makna gramatikal.
은/는 untuk binding, 을/를 untuk target, 의 untuk akses properti, dan 으로 untuk frame konversi.
Karena itu, hal seperti 합은 7 더하기 8이다 atau 결과는 5의 제곱이다 juga bisa dilakukan.
Fungsi juga didefinisikan dan dipanggil dalam bentuk kalimat bahasa Korea:
인사만들기 함수는 이름을 받아
"안녕, " + 이름 + "!"을 돌려준다.
인사문장은 "지음"으로 인사만들기이다.
Grafik canvas juga didukung:
그림판에 { 배경색: "#f6efe2" }으로 지우기.
그림판에 { x: 120, y: 80, 색: 빨강 }으로 점찍기.
Secara internal, bahasa ini menggunakan model pengiriman pesan bergaya Smalltalk,
jadi meskipun permukaannya berbahasa Korea, struktur semantiknya cukup ketat.
Dibuat dengan Rust, dan playground browser dengan wasm-pack juga berjalan.
Saat ini sudah sampai tahap demo canvas Menara Hanoi.
Masih v0.1 sehingga masih banyak kekurangannya, tetapi saya akan sangat berterima kasih jika Anda memberi masukan.
12 komentar
Oh...
Jika
usia > 19 maka, bukankah bagian itu juga bisa dibuat menjadijika usia lebih besar dari 19? Sepertinya bisa jika bagian sebelum이/가dan bagian sebelum보다masing-masing ditafsirkan sebagai ruas kiri dan ruas kanan. Untuk≥, bisa menjadijika lebih besar atau sama denganataujika minimal(meski dalam kasus ini tidak memakai보다, jadi harus diekspresikan sepertijika usia minimal 19; tetapi kalau begitu, karena harus membedakan kiri dan kanan berdasarkan이/가, kompleksitas saat menafsirkannya jadi sedikit meningkat).Sangat bagus!
Belum lama ini juga, saat bahasa bernama 'Han' diangkat, pengenalan tentang bahasa bernama Nuri ini sempat disebut.
https://github.com/suhdonghwi/nuri/
Bahasa bernama Nuri itu juga secara alami menggunakan urutan kata yang sama seperti bahasa Korea.
Bahasa Ziium juga memakai kalimat yang alami sehingga mudah dibaca. Jika melangkah lebih jauh:
jika usia > 19
cetak "adalah orang dewasa".
jika tidak
cetak "adalah anak di bawah umur".
=> jika usianya 19 tahun atau lebih, cetak 'adalah orang dewasa', jika tidak maka cetak 'adalah anak di bawah umur'.
Kalau bisa dibuat seperti ini, itu akan menjadi bahasa Korea yang sempurna.
Di antara bahasa pemrograman berbahasa Korea yang pernah saya lihat sampai sekarang, ini yang paling menarik secara tata bahasa. Menarik juga.
Saya juga sudah lama hanya membayangkan hal seperti ini, dan sekarang bisa melihat sesuatu seperti ini benar-benar dibuat semasa hidup saya. Saya mendukungnya! Saya akan rajin mencobanya.
Oh, saya mendukungnya!!!!! Saya sudah menunggu proyek seperti ini~
Ini menarik karena mirip dengan sintaks proyek yang pernah saya kerjakan sebelumnya!
Jika membuat prompt dengan tata bahasa itu apa adanya, hasilnya akan menjadi spesifikasi yang sangat bagus.
Wah, ini kelihatannya seru banget ???
Wah, ini terlihat menarik! Apakah tata bahasa Korea digunakan secara ketat? Atau ada tingkat fleksibilitas tertentu?
Wah, bahasa pemrograman pertama saya adalah Changjo...!
Wah, ini proyek yang keren...