Pretty.c - Scripting di Atas C
(github.com/aartaka)- Pretty C adalah bahasa scripting baru yang kompatibel dengan C, dan menyediakan fitur seperti dynamic typing, iterasi generik, serta pelacakan resource
- Tetap menjaga backward compatibility dengan C dan semua library-nya
- Terinspirasi dari Lua, Python, JavaScript, dan Lisp
Tujuan
- Memberikan banyak sugar sintaksis kepada pengembang C agar C lebih mudah digunakan
- Memposisikan diri sebagai bahasa scripting pamungkas yang dapat menggantikan berbagai bahasa seperti Lua, Python, JavaScript, dan Ruby
- Mengubah seluruh codebase menjadi lebih ramah bagi pemula hanya dengan menyertakan satu file header
Memulai
- Bisa digunakan dengan meng-clone repositori GitHub atau menyalin file
pretty.h
Fitur kemudahan yang disediakan
Header standar yang disertakan
stdbool.hmenyediakantrue,false,boolstdint.hmenyediakan tipe integer fixed-widthiso646.hmenyediakan alternatif operator yang lebih mudah dibaca
Makro sederhana
- Menyediakan makro seperti
max,min,len,default,limit,between,divisible
Tipe baru
- Menyediakan type alias seperti
string,byte,bytes,any - Menyediakan bentuk singkat integer seperti
uchar,ushort,uint,ulong
Alias baru
- Menyediakan alias operator seperti
eq,is,bitnot,bitxor - Menyediakan operator perbandingan seperti
below,above,upto,downto - Menyediakan predikat angka/data seperti
even,odd,positive,negative,zero,empty - Menyediakan alias seperti
nil,until,elif,ifnt,repeat,done~/~finish,pass
Type inference (GCC, Clang, atau C23+)
- Bisa melakukan type inference dengan kata kunci
var,let,local
Output generik (C11+)
- Dapat mencetak data dari berbagai tipe dengan
print,println
Kesetaraan generik (C11+)
- Dapat membandingkan data dari berbagai tipe dengan
equal
Operator ternary yang lebih rapi
- Dapat menggunakan operator ternary yang lebih mudah dibaca dengan kata kunci seperti
when,then,other,otherwise,only,otherwhen
Makro for
- Menyediakan berbagai pola iterasi dengan makro seperti
foreach,forthese,fortimes,forrange,forrangeby
Makro alokasi
- Memungkinkan alokasi dan dealokasi memori sederhana dengan makro seperti
new,vector,delete
Utilitas blok
- Menyediakan utilitas blok seperti
lambda,with,defer,try,catch
Ringkasan GN⁺
Pretty C adalah proyek yang menambahkan berbagai sugar sintaksis ke bahasa C agar pengembang dapat menulis kode dengan lebih mudah. Secara khusus, proyek ini tetap mempertahankan backward compatibility dengan C sambil menghadirkan beragam fitur yang terinspirasi dari bahasa seperti Lua, Python, dan JavaScript. Fitur-fitur ini dapat membantu pengembang C menulis kode yang lebih ringkas dan lebih mudah dibaca. Proyek dengan fungsi serupa antara lain Zig dan Nim.
1 komentar
Komentar Hacker News
unlesslebih mudah dibaca daripadaifnt