Hurl, bahasa yang berbasis pengecualian
Ikhtisar
- Hurl adalah bahasa yang dibuat untuk mengeksplorasi bahasa yang menggunakan penanganan pengecualian sebagai satu-satunya alur kontrol.
- Bahasa ini bermula dari percakapan antara Nicole Tietz-Sokolskaya dan teman-teman di Recurse Center.
- Situs ini menyediakan dokumentasi penggunaan Hurl, contoh, panduan debugging, dan FAQ.
Instalasi dan cara penggunaan
- Kode sumber Hurl tersedia di repositori Hurl.
- Jika Anda menemukan bug atau kesalahan, patch melalui email diterima, tetapi Anda harus menyerahkan semua hak atas patch tersebut.
- Hal ini dilakukan untuk mempertahankan relisensi dan lisensi komersial.
Sintaks dan filosofi Hurl
- Hurl adalah bahasa yang berpusat pada penanganan pengecualian.
- Alur kontrol diimplementasikan hanya dengan penanganan pengecualian.
Pola umum
- Alur kontrol dikelola melalui penanganan pengecualian.
- Struktur kontrol tradisional (misalnya
if, for) tidak digunakan.
Pustaka standar
- Hurl menyediakan pustaka standar.
- Termasuk berbagai fungsi yang berbasis penanganan pengecualian.
Contoh
- Tersedia berbagai contoh kode.
- Melalui contoh kode, cara penggunaan Hurl dapat dipahami dengan mudah.
Debugging dan kesalahan
- Panduan debugging disediakan.
- Menjelaskan cara menangani kesalahan secara efektif.
FAQ
- Menyediakan jawaban untuk pertanyaan yang sering diajukan.
- Membahas masalah umum yang dapat muncul saat menggunakan Hurl.
Pujian untuk Hurl
- Erika Rowland: "Monster ini indah, dan saya sama sekali tidak ingin menyentuhnya. Saya tidak ingin nama saya dikaitkan dengan ini."
- Nicole Tietz-Sokolskaya: "Saya memutuskan untuk mewujudkan bahasa ini. Maaf."
- Mary McGrath: "🤮" (apakah ini kutipan yang bisa digunakan?)
- nate (@nmoo@mas.to): "Abnormal bersertifikat™!"
Kode sumber
- Kode sumber Hurl dan situs ini tersedia di repositori Hurl.
- Patch melalui email diterima, tetapi semua hak harus diserahkan.
Lisensi
- Proyek ini dapat digunakan di bawah salah satu dari tiga lisensi berikut:
- AGPL-3.0
- GAL-1.0 (Gay Agenda License)
- lisensi komersial
- Anda dapat memilih salah satu dari tiga lisensi tersebut untuk digunakan.
Opini GN⁺
- Bahasa yang berpusat pada penanganan pengecualian: Hurl mengambil pendekatan unik dengan menjadikan penanganan pengecualian sebagai pusat alur kontrol untuk menggantikan struktur kontrol tradisional. Ini menuntut cara berpikir baru dari para pengembang.
- Nilai edukatif: Hurl dapat membantu memahami pentingnya penanganan pengecualian dan cara memanfaatkannya secara lebih mendalam. Secara khusus, ini dengan jelas menunjukkan masalah yang muncul ketika penanganan pengecualian digunakan secara keliru.
- Masalah kepraktisan: Menggunakan Hurl dalam pekerjaan nyata bisa menjadi tantangan. Bagi pengembang yang terbiasa dengan struktur kontrol tradisional, ini dapat menjadi hambatan besar.
- Kolaborasi dengan komunitas: Kode sumber Hurl disediakan sebagai open source dan mendorong partisipasi komunitas. Ini dapat memberi dampak positif pada perkembangan proyek dan perbaikan bug.
- Pilihan lisensi: Dengan menyediakan berbagai lisensi, proyek ini memberi pengguna lebih banyak pilihan. Ini berkontribusi pada peningkatan fleksibilitas proyek.
1 komentar
Opini Hacker News
Ringkasan kumpulan komentar Hacker News
Penting untuk mewajibkan namespace dan import saat merancang bahasa pemrograman
Pendapat tentang penanganan exception
Contoh penggunaan
tosstossterutama digunakan saat fungsi mengembalikan beberapa nilai.Bahasa Hurl dan sistem kondisi
Penggunaan ekstensi domain
.wtf.wtf.Bahasa yang mirip dengan efek aljabar
Perasaan campur aduk terhadap bahasa Hurl
Perbedaan
tossdanhurlhurlbisa ditangkap, tetapitosstidak bisa.Struktur bahasa
tosstossmenelusuri stack untuk mencari exception handler, lalu melanjutkan eksekusi seolah tidak terjadi apa-apa.tossmemakaitoss handler.