Worgle adalah Web ORg TangGLer. Paling tidak, ini bertujuan untuk dapat mengatasi program melek huruf yang ditulis dalam subset markup organisasi yang kompatibel dengan org-babel. Hal ini mencakup perluasan kode gaya web sekarang, sebuah aspek penting dalam pemrograman melek huruf (yang sering kali diabaikan dalam masalah mode organisasi non-emacs lainnya). Pada akhirnya, harapannya adalah untuk memperkenalkan lebih banyak sintaksis mirip WEB dan membangun backend untuk weave (ekspor ke HTML, TeX, dll).
Motivasi awal membangun Worgle adalah kinerja. Kekusutan yang dilakukan oleh org-babel sangat lambat hingga tidak berguna untuk proyek apa pun yang lebih besar dari skrip. Worgle bertujuan untuk membuat org-tangle dapat digunakan untuk proyek perangkat lunak yang sebenarnya.
Tujuan yang lebih besar adalah untuk membangun penerus spiritual CWEB, sebuah program yang saya gunakan setiap hari untuk menulis program melek huruf dalam C. Ini mungkin salah satu alat pemrograman melek terbaik yang pernah ada. Kini berusia lebih dari 3 dekade, CWEB jelas menunjukkan tanda-tanda usia tua.
Saat ini, Worgle memiliki fitur yang cukup untuk berguna.
Hampir semua fitur lanjutan mode-org tidak akan diterapkan. Emacs sangat baik dalam menanganinya jika Anda membutuhkannya.
Untuk mengkompilasi, jalankan make
.
Untuk menginstal, jalankan sudo make install
.
Ternyata, README ini adalah kode contohnya. Keren, bukan?
Blok kode untuk program hello world sederhana di C terlihat seperti ini:
#include
int main ( int argc , char * argv [])
{
<< say_the_worgle_greeting >>
return 0 ;
}
Kode yang disebutkan di atas memiliki blok kode yang disebut say_the_worgle_greeting
.
Ini diperluas ke blok kode di bawah ini:
printf ( "Orgle Worgle Borgle!n" );
Kode C dirangkai menggunakan orgle
bootstrapper, yang kemudian dapat dikompilasi dan dijalankan menggunakan kompiler C seperti GCC.
./orgle README.org
gcc hello.c -o hello
./hello
Tes kinerja yang sangat biasa menunjukkan bahwa Worgle mampu mengatasi dirinya sendiri lebih cepat daripada Emacs dengan faktor 1300x (!). Pengujian dilakukan dengan menggunakan skrip shell Measure_ Performance.sh.
Hasil yang dicetak di bawah ini berasal dari MacBook pro pertengahan 2015 yang menjalankan High Sierra.
Org-babel-tangle (melalui Emacs): 0m1.318s Pekerjaan: 0m0,001s
Proyek ini ditempatkan di bawah domain publik. Selamat meretas, manusia.