-
Lima fitur Raku yang unik
- Raku seperti laboratorium untuk bereksperimen dengan berbagai fitur bahasa. Bahasa ini menawarkan beberapa model konkurensi dan beragam kemampuan, dan cara tiap fitur saling berinteraksi pun unik.
-
Junctions
- Junctions merepresentasikan tumpang tindih nilai-nilai yang mungkin, dan digunakan untuk mengekspresikan ekspresi logis.
- Operasi diterapkan ke semua nilai yang menjadi target, lalu digunakan dengan mengubahnya menjadi boolean.
- Melalui junctions, Raku mengekspresikan kuantifier dengan elegan.
-
Whatevers
* adalah simbol "whatever" yang menjalankan berbagai peran.
- Dalam rentang atau sequence, simbol ini berarti "unbound", dan diubah menjadi fungsi anonim.
- Ini berguna karena banyak metode Raku dioverload agar dapat menerima fungsi.
-
Ekspresi reguler
- Raku menyediakan sintaks baru yang berbeda dari ekspresi reguler kompatibel POSIX dan Perl yang sudah ada.
- Ekspresi reguler dapat dikombinasikan dan dipecah menjadi bagian-bagian yang lebih sederhana dan lebih mudah dibaca.
- Tata bahasa parsing didukung sebagai fitur bawaan bahasa.
-
Hyperoperators
l>>.method pada dasarnya mirip dengan map, dan secara rekursif turun hingga ke subdaftar.
- Operator hiper biner menerapkan operasi secara elemen-per-elemen pada dua daftar.
- Ini berguna untuk menjalankan rumus yang sama pada banyak input.
-
Pair Syntax
- Hash di Raku tersusun dari pasangan
key => value, dan melalui "colon syntax" pasangan dapat ditulis dengan ringkas.
:key dan :!key masing-masing dipetakan ke key => True dan key => False.
- Ini memungkinkan pengaturan metode yang sangat ringkas.
-
Laboratorium generasi berikutnya: Slangs dan RakuAST
- Slangs adalah fitur untuk memodifikasi sintaks Raku, sehingga memungkinkan perubahan pada sintaks loop, penggantian identifier, dan sebagainya.
- RakuAST memungkinkan semua ekspresi Raku di-parse sebagai AST dari dalam Raku sendiri.
-
Eksperimen bonus
- Raku menyediakan sekumpulan modul pihak ketiga yang sudah terpasang sebelumnya melalui instalasi "Rakudo Star".
- Ini merupakan kompromi yang sangat baik antara beban pemeliharaan pustaka standar yang besar dan beban pengguna dalam mencari paket yang tepat.
-
Rekomendasi blog
- Blog Elizabeth Mattijsen dan Codesections menyediakan banyak informasi tentang internal Raku.
- Raku Advent Calendar adalah sumber yang sangat baik untuk teknik Raku tingkat lanjut.
1 komentar
Komentar Hacker News
Memperkenalkan fitur composable regular expression yang diimplementasikan secara independen di JavaScript, sebuah pustaka yang sering digunakan di berbagai proyek. Fitur ini membuatnya terasa sedikit lebih dekat dengan penggunaan parser kelas satu di dalam bahasa. Dibagikan juga contoh implementasi parsing media type
templated-regular-expressiontersedia di npm dan GitHubAda pendapat bahwa orang lebih ingin meninggalkan industri daripada harus memelihara codebase Raku
Masalah performa Raku masih belum terselesaikan, dan Raku terbaru membutuhkan waktu 6,5 kali lebih lama daripada Python 3.13 untuk mem-parsing file log
Fitur utama Raku adalah CLI dan grammar
Hyper terlihat seperti versi yang lebih ad hoc dari recursion scheme, mirip dengan
_di Scala. Ada yang menyukai Scala karena lambda, dan merasa semua bahasa seharusnya mengadopsi sesuatu yang serupaMuncul pertanyaan mengapa
(2, 30, 4, 50).map(* + *)mengembalikan(32, 45), dan apakah seharusnya mengembalikan(32, 54). Ini mungkin karena perbedaan cara beberapa negara menuliskan angkaAda pendapat apakah Perl sekarang berperan sebagai gerbang menuju keluarga bahasa APL
Ada yang terkejut bahwa
(2,4,8...*)[17]mengembalikan 262144Ada yang menggunakan Raku di lingkungan nyata dan menganggapnya sebagai bahasa terbaik untuk pemrosesan teks. Membangun parser dengannya sangat baik, dan terasa mengejutkan bahwa bahasa ini bukan yang paling optimal untuk membuat pipeline teks LLM
Sudah lama mengikuti proyek ini; menarik, tetapi disayangkan Perl 6 sangat terhambat karena proyek ini