Mengenal Kawa Language Framework

Mulai tahun 1995 Cygnus (atas nama Free Software Foundation) mengembangkan Guile, sebuah implementasi Skema yang sesuai sebagai embedding umum dan bahasa penyuluhan. Guile didasarkan pada interpreter SCM Aubrey Jaffar; berbagai perangkat tambahan Guile awalnya dilakukan oleh Tom Lord. Pada tahun 1995 kami mendapat kontrak besar untuk meningkatkan Guile, dan dengan klien kami, kami menambahkan lebih banyak fitur, termasuk benang (terutama dilakukan oleh Anthony Green), dan internasionalisasi.

Kontrak tersebut meminta kompiler kode byte untuk Guile, dan sepertinya melakukan pekerjaan dengan baik, ini akan menjadi proyek besar. Salah satu pilihan yang kami pertimbangkan adalah menyusun Skema ke dalam Java bytecode dan mengeksekusi mereka oleh mesin Java. Kerugiannya adalah bahwa sistem Skema semacam itu tidak akan hidup berdampingan dengan Guile (sebaliknya, kita mengalami berbagai masalah teknis dan non-teknis dengan Guile yang membuat kita menyimpulkan bahwa Guile sama sekali tidak strategis terhadap Cygnus ). Keuntungan dari solusi Java memanfaatkan off alat dan pengembangan yang dilakukan di Java “ ruang ” , ditambah bahwa Java lebih cenderung strategis jangka panjang.

Pelanggan setuju untuk menggunakan Java, dan saya memulai pengembangan aktif Juni 1996. Sebagai basis, saya menggunakan penerjemah Kawa Scheme yang ditulis oleh R. Alexander Milowski. Dia membutuhkan juru bahasa Skema berorientasi obyek untuk menerapkan DSSSL [ DSSSL ] , lingkungan mirip Skema untuk mengekspresikan format, format, dan pemrosesan SGML lainnya [ SGML ] . DSSSL adalah bagian dari “ murni ” Skema dengan beberapa ekstensi. Kawa 0,2 adalah penerjemah sederhana yang jauh dari sempurna. Ini memberikan titik awal yang berguna, namun hampir semua kode asli sekarang telah ditulis ulang.

Kawa 1.0 dilepas ke pelanggan kami dan " Net " September 1996. Pembangunan terus berlanjut sejak saat itu, dengan kecepatan yang tidak terlalu intens! Tujuan jangka panjangnya adalah lingkungan berorientasi obyek yang secara harmonis mengintegrasikan Skema, Java, XQuery, dan bahasa lainnya.

Fitur apa yang dimiliki oleh Kawa Language Framework ?
  1. Berjalan di platform Java, tanpa kode asli yang dibutuhkan.
  2. Memperluas bahasa Skema , mengikuti spesifikasi R7RS dari tahun 2013. Skema memiliki banyak implementasi, dan banyak digunakan dalam penelitian dan pengajaran.
  3. Program berjalan cepat - kira-kira secepat program Java, dan jauh lebih cepat daripada "bahasa scripting lainnya". Hal ini disebabkan kompilator yang canggih, transformasi waktu kompilasi, inferensi tipe, dan deklarasi tipe opsional.
  4. Akses penuh, nyaman, dan efisien ke kumpulan besar perpustakaan Java berarti Anda dapat mengakses objek, metode, bidang, dan kelas tanpa overhead run-time.
  5. Waktu start-up cepat. Anda tidak perlu menunggu banyak inisialisasi. Bahkan jika Anda memulai dengan kode sumber, parser dan compiler cepat.
  6. Script adalah file sumber Kawa sederhana yang bisa dijalankan sebagai aplikasi atau perintah. Ini sederhana untuk ditulis, dijalankan, dan dijalankan secara efisien, karena semuanya disusun secara otomatis sebelum eksekusi dilakukan.
  7. Sebagai alternatif, Anda bisa menanamkan Kawa sebagai bahasa script untuk aplikasi Java .
  8. Penyebarannya mudah dan fleksibel. Anda hanya perlu file jar Kawa.
  9. Macros dan custom named literals memudahkan untuk memperpanjang sintaks dan menerapkan Domain-Specific Languages.
  10. Kawa menyediakan loop read-eval-print biasa , serta mode batch.
  11. Kawa memiliki dukungan printer yang cantik , dan format yang bagus.
  12. Kawa mendukung fasilitas kelas-definisi, dan modul yang dikompilasi secara terpisah.
  13. Anda dapat mengalokasikan dan menginisialisasi objek dengan sintaks "pembangun" ringkas. Ini bekerja di luar kotak (tanpa overhead run-time) di banyak kelas dan API, namun dapat disesuaikan jika perlu.
  14. Perpustakaan untuk gambar komposit fungsional memungkinkan Anda membuat objek "gambar", menampilkannya, mengubahnya, menggabungkannya, mengubahnya menjadi SVG atau gambar, dan banyak lagi. Ini bisa "dicetak" langsung di konsol Kawa (baik konsol DomTerm atau Swing).
  15. Pemrograman JavaFX lebih sederhana.
  16. Anda bisa menjalankan program Kawa di Android , dan ada penanganan khusus untuk membuat tampilan bangunan menjadi lebih mudah.
  17. Fungsi seperti shell yang fleksibel, termasuk proses literal .
  18. Skrip halaman web mudah untuk ditulis dan diinstal dengan server web self-configuring , secara opsional menggunakan servlet dan literal XML .
  19. Array dan urutan memiliki banyak fleksibilitas: Array bisa multi dimensi; Anda dapat menggunakan array sebagai indeks (yang menggeneralisasi irisan dan permutasi); Anda dapat menentukan array malas menggunakan fungsi yang memetakan indeks ke nilai; Anda dapat memetakan ulang indeks untuk menghasilkan array yang berubah.
  20. Banyak fitur berguna untuk matematika dan numerik.

Kawa Ini adalah perpanjangan dari bahasa Skema yang telah lama ada, yang ada dalam keluarga bahasa pemrograman Lisp. Kawa memiliki banyak fitur berguna. Kawa juga merupakan framework yang berguna untuk mengimplementasikan bahasa pemrograman lain pada platform Java. Ini memiliki banyak kelas utilitas yang berguna. Hingga saat ini Kawa telah mencapai versi 3.0, diperbaharui 30 September 2017.

Ref :https://www.gnu.org/software/kawa/index.html

Post a Comment

Silahkan kirimkan komentar bijak anda disini.

Previous Post Next Post