3 poin oleh GN⁺ 2025-11-24 | 1 komentar | Bagikan ke WhatsApp
  • Racket 9.0 adalah rilis besar yang memperkenalkan thread paralel (Parallel Threads), sebagai perluasan dari dukungan green thread, futures, dan places yang sudah ada
  • Thread baru dapat dibuat dengan argumen #:pool, dan jika diatur dengan #:keep 'results, hasilnya bisa diambil nanti melalui thread-wait
  • Pembungkus black-box mencegah compiler optimasi menghapus operasi tertentu, sehingga meningkatkan akurasi benchmark
  • Fungsi decompile-linklet dapat mengubah linklet kembali menjadi S-expression, dan processor-count diubah agar mengembalikan jumlah paralelisme
  • Termasuk berbagai pembaruan seperti paket “natipkg” untuk AArch64, penambahan distribusi Weibull, dan peningkatan dokumentasi

Perubahan utama di Racket 9.0

  • Dalam rilis ini, fitur thread paralel (Parallel Threads) baru diperkenalkan

    • Racket sebelumnya mendukung green thread, futures, dan places, tetapi thread paralel ditambahkan sebagai perluasan utama
    • Thread paralel dapat dibuat melalui argumen #:pool, dan jika diatur dengan #:keep 'results, hasilnya bisa diambil belakangan melalui thread-wait
  • Pembungkus black-box mencegah compiler optimasi menghapus perhitungan tertentu sepenuhnya

    • Ini berguna untuk memastikan pengukuran performa yang akurat saat menjalankan benchmark
    Iklan
  • Fungsi decompile-linklet dapat memetakan linklet kembali menjadi S-expression

    • Menyediakan kemampuan untuk memulihkan representasi internal saat analisis kode dan debugging
  • Di BC Racket, fungsi processor-count diubah agar selalu mengembalikan jumlah prosesor paralel

    • Memungkinkan pengecekan jumlah prosesor yang konsisten dalam lingkungan eksekusi paralel
  • Paket “natipkg” untuk AArch64 baru didistribusikan dan dapat dimanfaatkan dalam infrastruktur build dan pengujian paket

Iklan

Peningkatan tambahan

  • Fitur Check Syntax kini mendukung pelacakan identifier yang lebih dalam dan bersarang di dalam field “origin” pada objek sintaks
  • Library math kini menambahkan distribusi Weibull
  • Termasuk banyak perbaikan bug dan peningkatan dokumentasi

Komunitas dan panduan berpartisipasi

  • Rilis ini mendapat kontribusi dari banyak pengembang, termasuk Alexander Shopov, Bogdan Popa, Matthew Flatt, dan Matthias Felleisen
  • Racket adalah proyek open source berbasis komunitas dan menyambut kontributor baru

Permintaan umpan balik dan promosi

1 komentar

 
GN⁺ 2025-11-24
Opini Hacker News
  • Inti kabar kali ini adalah Racket kini mendukung thread paralel
    Sebelumnya juga ada cara paralelisasi seperti places, tetapi pendekatan kali ini jauh lebih ringan dan familier
    Karena saya suka membuat sesuatu dengan Racket, saya senang hal ini memperluas area pemanfaatan Racket

    • Saya juga terkejut saat membaca release note. Menyenangkan akhirnya ada bentuk multithreading seperti ini
      places kurang fleksibel. Lambda tidak mudah diteruskan, dan serializable-lambda bekerja secara menular sehingga saat runtime yang bisa dikirim bukan fungsi melainkan hanya data
      Karena itu sulit membuat struktur untuk mendistribusikan pekerjaan ke beberapa place
      Saya berharap fitur konkurensi baru ini memungkinkan hal tersebut
      Selama ini karena alasan itu saya memakai GNU Guile alih-alih Racket. Guile jauh lebih andal dalam memanfaatkan multicore lewat futures atau fibers
      Saya juga pernah membuat model pohon keputusan paralel dengan futures dan mendapatkan peningkatan kecepatan yang nyaris linear
    • Penasaran proyek seperti apa yang dibuat dengan Racket
      Saya pengembang Clojure jadi suka keluarga Lisp. Ingin tahu biasanya orang membuat apa dengan Racket
    • Fakta bahwa thread paralel baru ditambahkan di versi 9 terasa agak bertentangan dengan cara Racket diperkenalkan di situs resminya sebagai “bahasa yang matang dan terasah
  • Dari video ini, Racket bisa terasa sulit jika itu bukan bahasa pertama Anda, tetapi cukup mudah sampai anak-anak pun bisa mempelajarinya

    • Video yang sangat keren
  • Saya benar-benar suka Racket
    Saya menulis buku tentang Racket untuk bersenang-senang, dan bisa dibaca gratis secara online
    Di antara bahasa keluarga Scheme, saya merekomendasikan Racket dan Gerbil
    Racket cocok untuk pemula karena IDE-nya bagus dan pustaka standar maupun pihak ketiganya kaya, sedangkan Gerbil bagus untuk pemrograman sistem atau utilitas jaringan

  • Racket adalah bahasa yang benar-benar keren
    Ini keluarga Lisp yang bagus untuk dipelajari, dan saya masih ingat masa mengerjakan tugas dengan IDE DrRacket

  • Saya pertama kali bereksperimen dengan Lisp pada pertengahan 1980-an, dan setelah itu sesekali kembali lagi untuk mempelajari cara berpikir serta teknik pemrograman baru
    Saya juga sudah beberapa kali mencoba Racket, tetapi entah bagaimana perangkat lunaknya sendiri tidak cocok dengan saya
    Mungkin akan terasa baik jika dipakai terus-menerus, tetapi saya masih sulit membayangkan menulis proyek besar dengan Racket

    • Dulu saya menyukainya, tetapi pergi karena kodenya terlalu lambat dan berat
      Bahkan lebih lambat daripada Python, dan mungkin sudah membaik setelah ditulis ulang dengan Chez Scheme, tetapi sekarang saya memakai Common Lisp yang cepat dan ringan
    • Saat mengatakan “perangkat lunak”, saya penasaran apakah yang dimaksud adalah bahasanya sendiri, atau tooling-nya
  • Saya mengenal Racket setelah melihat bahwa John Carmack memakai Racket untuk pekerjaan terkait Oculus sekitar 10 tahun lalu
    Video terkait

    • Sebagai referensi, HN ditulis dengan Arc, dan Arc dibuat dengan Racket
      Dokumen wiki Arc
  • Lisp pada dasarnya adalah meta-language, dan Racket bahkan lebih meta daripada itu
    Ini praktis bisa disebut kit pembuat bahasa

    • Saya sering mendengar itu, tetapi sebenarnya tidak banyak pengembang PL yang membuat bahasa dengan Racket
      Saya pernah memakai Racket saat mengajar kelas PL, tetapi mahasiswa kesulitan dengan sintaks Lisp karena sudah terbiasa dengan Java atau Python
      Jadi saya kurang yakin sebenarnya Racket ini bahasa untuk siapa
  • Blog Bogdan Popa(defn.io) punya banyak informasi menarik terkait Racket
    Saya menantikan untuk mencoba sendiri fitur threading barunya

  • Saya sudah beberapa kali mencoba Racket, tetapi IDE-nya terasa terlalu tidak intuitif dan canggung
    Saya penasaran apakah itu memang desain yang disengaja, atau hanya karena belum ada alternatif yang lebih baik

    • IDE bukanlah bahasanya itu sendiri
      Racket juga didukung baik di VSCode(Magic Racket, Langserver), Emacs(Racket Mode), Vim, dan lainnya
      Anda bisa merujuk ke dokumentasi resmi dan repositori Langserver
      DrRacket masih layak dipakai karena punya fitur seperti macro stepper yang tidak dimiliki IDE lain
    • Di racket-mode.com Anda bisa melihat integrasi Emacs yang sangat bagus
  • Racket adalah bahasa yang menyenangkan
    Di universitas kami, versi pendidikan dari Racket dipakai dalam kelas CS tahun pertama
    Ada mahasiswa yang membencinya, tetapi ada juga yang diam-diam menyukainya

    • Penasaran nama mata kuliahnya apa
    • Tetapi kebanyakan mengatakan bahwa setelah lulus mereka tidak akan pernah memakai Racket lagi, dan itu cukup bermakna