Hazel
- Hazel adalah lingkungan pemrograman fungsional live yang dapat memeriksa tipe, memanipulasi, dan menjalankan program yang belum lengkap dengan type hole
- Tidak ada status editor yang tidak bermakna
Motivasi
- Saat melakukan pemrograman, banyak waktu dihabiskan untuk bekerja dengan teks program yang secara formal belum lengkap karena ada bagian kosong, kesalahan tipe, konflik merge, dan sebagainya
- Definisi bahasa pemrograman yang ada tidak memberikan makna formal pada struktur semacam ini
- Editor dan alat bantu pemrograman harus bergantung pada solusi sementara yang rumit
- Hazel memodelkan program yang belum lengkap berdasarkan teori tipe
Fitur Hazel
- Bahasa pemrograman fungsional yang mirip dengan Elm/ML dan diimplementasikan dalam lingkungan berbasis web
- Bahkan program yang belum lengkap pun didefinisikan dengan baik secara statis maupun dinamis
- Dapat dimanfaatkan sebagai platform riset dan pendidikan
Berita dan publikasi
- Januari 2025: Makalah Grove diterima secara bersyarat di POPL 2025
- Oktober 2024: Presentasi riset di OOPSLA 2024 yang menggabungkan large language model dan type hole
- Oktober 2024: Cyrus dijadwalkan memberikan keynote di HATRA 2024
- September 2024: NSF memberikan hibah riset untuk pengembangan alat bantu pembuktian untuk pengajaran
- Januari 2024: Presentasi makalah tentang lokalisasi dan pemulihan error di POPL 2024
- Oktober 2023: Presentasi riset tentang pattern matching di OOPSLA 2023
- Januari 2023: Menerima penghargaan NSF CAREER
Tim Hazel
- Hazel adalah proyek riset open source yang dipimpin oleh Future of Programming Lab di University of Michigan
- Jika memiliki pertanyaan atau tertarik berkontribusi, Anda dapat menghubungi pemimpin tim, Cyrus Omar
Ringkasan GN⁺
- Hazel mengusulkan pendekatan baru untuk menangani program yang belum lengkap dan merupakan platform yang berguna untuk pendidikan dan riset pemrograman
- Dengan berbasis teori tipe, Hazel memungkinkan program yang belum lengkap tetap dapat dijalankan, sehingga berkontribusi pada eksplorasi masa depan pemrograman
- Proyek dengan fungsi serupa mencakup Elm, ML, dan berbagai alat pendidikan pemrograman
1 komentar
Komentar Hacker News
Salah satu fitur Eclipse adalah kemampuannya menjalankan kode yang belum lengkap atau rusak. Ini dimungkinkan karena Eclipse Compiler untuk Java dapat menghasilkan bytecode untuk hampir semua berkas. Fitur ini memberikan lingkungan yang sangat produktif, dan disayangkan belum diimplementasikan di sistem besar lainnya.
Haskell menyediakan type hole, dan ada plugin yang menawarkan code action untuk melengkapinya atau membagi kasusnya. Agda juga memiliki type hole dan menyediakan kemampuan yang lebih kuat.
Saya siap menjawab pertanyaan tentang Hazel, dan selama 4 tahun terakhir telah mengerjakannya di Hazel sebagai mahasiswa doktoral Cyrus. Saat ini saya sedang mengembangkan antarmuka projectional yang moldable untuk live programming di Hazel.
Hazel adalah lingkungan live functional programming dengan type hole sebagai ciri utamanya. Informasi terkait: tautan Hacker News
Tylr adalah demo pengeditan berbasis ubin, sebuah pendekatan baru untuk structural editing. Informasi terkait: tautan Hacker News
Saya menyukai contoh kode Hazel, dan dokumentasi yang muncul di sisi kanan bersama editor live juga bagus. Namun saya penasaran apakah ini menawarkan lebih dari sekadar editor live dan type checker, dan apakah benar-benar bisa dipakai untuk menulis program.
UI editornya indah dan juga berfungsi baik di perangkat seluler. Sangat mengesankan.
Sintaks binding
letyang diakhiri denganinterasa menarik. Contoh:Adakah yang tahu alasan penggunaan keyword
in?Tidak ada penyebutan Idris, tetapi pertama kali saya melihat gaya pengembangan seperti ini adalah di Idris. Video terkait: tautan YouTube
Saya mencoba playground-nya di ponsel Android, tetapi input tombol tidak tercermin di source code. Saya bisa mengetuk untuk memosisikan kursor dan keyboard virtual muncul, tetapi tidak bisa mengetik. Saya penasaran apakah ini bug atau masalah UX.
Saya selalu menyukai Hazel, dan ini mungkin akan menjadi alat yang sangat baik untuk pendidikan. Saya penasaran apa saja yang telah dibuat dengan Hazel.