Racket v9.0
(blog.racket-lang.org)- Racket 9.0 es una versión importante que introduce los hilos paralelos (Parallel Threads), ampliando el soporte existente para green threads, futures y places
- Los nuevos hilos pueden crearse con el argumento
#:pooly, con la configuración#:keep 'results, sus resultados pueden consultarse después conthread-wait - El wrapper
black-boxevita que el compilador optimizador elimine ciertas operaciones, mejorando la precisión de los benchmarks - La función
decompile-linkletpuede convertir un linklet de nuevo a una S-expression, yprocessor-countcambió para devolver el número de procesadores paralelos - Incluye varias actualizaciones, como el paquete “natipkg” para AArch64, la adición de la distribución Weibull y mejoras en la documentación
Principales cambios en Racket 9.0
-
En esta versión se introduce la nueva función de hilos paralelos (Parallel Threads)
- Racket ya soportaba green threads, futures y places, pero los hilos paralelos se agregan como una ampliación importante
- Los hilos paralelos pueden crearse mediante el argumento
#:pool, y si se configuran con#:keep 'results, los resultados pueden consultarse después conthread-wait
-
El wrapper
black-boxevita que el compilador optimizador elimine por completo ciertos cálculos- Es útil para garantizar mediciones de rendimiento precisas al ejecutar benchmarks
-
La función
decompile-linkletpermite mapear un linklet de nuevo a una S-expression- Ofrece una forma de restaurar la representación interna durante el análisis y depuración de código
-
En BC Racket, la función
processor-countcambió para devolver siempre la cantidad de procesadores paralelos- Esto permite verificar de forma consistente el número de procesadores en entornos de ejecución paralela
-
El paquete “natipkg” para AArch64 se distribuye ahora como novedad y puede usarse en la infraestructura de compilación y pruebas de paquetes
Mejoras adicionales
- La función Check Syntax ahora soporta el seguimiento de identificadores más profundamente anidados dentro del campo “origin” de los objetos de sintaxis
- Se agregó la distribución Weibull a la librería
math - Incluye múltiples correcciones de errores y mejoras en la documentación
Comunidad y participación
- En esta versión contribuyeron varios desarrolladores, entre ellos Alexander Shopov, Bogdan Popa, Matthew Flatt y Matthias Felleisen
- Racket es un proyecto open source impulsado por la comunidad y da la bienvenida a nuevos contribuidores
- La forma de participar puede consultarse en racket/README.md
Solicitud de retroalimentación y difusión
- Las preguntas y discusiones pueden hacerse en las comunidades de Racket Discourse o Discord
- Se recomienda compartir la noticia del lanzamiento con usuarios y gestores de paquetes de cada plataforma
- Descarga oficial: https://download.racket-lang.org
- Anuncio del lanzamiento: https://blog.racket-lang.org/2025/11/racket-v9-0.html
1 comentarios
Comentarios de Hacker News
Lo principal de esta noticia es que Racket ahora admite hilos paralelos
Antes ya había formas de paralelizar, como places, pero este enfoque es mucho más ligero y familiar
Como me gusta crear cosas con Racket, me da gusto que esto amplíe el campo de uso de Racket
places no era flexible. No podías pasar lambdas fácilmente, y
serializable-lambdafuncionaba de forma contagiosa, así que en tiempo de ejecución solo podías enviar datos, no funcionesPor eso era difícil construir una estructura para distribuir trabajo entre varios places
Ojalá que con esta nueva funcionalidad de concurrencia eso ya sea posible
Hasta ahora, por esta razón había estado usando GNU Guile en lugar de Racket. Guile era mucho más confiable para aprovechar múltiples núcleos mediante futures o fibers
Yo también llegué a crear un modelo paralelo de árbol de decisión usando futures y obtuve una mejora de velocidad casi lineal
Soy desarrollador de Clojure, así que me gustan los lenguajes de la familia Lisp. Quisiera saber qué cosas haces con Racket
Viendo este video, Racket puede sentirse difícil si no es tu primer lenguaje, pero es lo bastante sencillo como para que hasta niños puedan aprenderlo
Me gusta muchísimo Racket
Por diversión escribí un libro sobre Racket, y se puede leer gratis en línea
Entre los lenguajes de la familia Scheme, recomiendo Racket y Gerbil
Racket es ideal para principiantes porque tiene un buen IDE y bibliotecas estándar y de terceros muy abundantes, mientras que Gerbil es bueno para programación de sistemas o utilidades de red
Racket es de verdad un lenguaje genial
Es una buena forma de aprender sobre la familia Lisp, y todavía recuerdo con cariño cuando hacía tareas en el IDE DrRacket
Probé Lisp por primera vez a mediados de los 80, y desde entonces he vuelto de vez en cuando para aprender nuevas formas de pensar y técnicas de programación
También intenté usar Racket varias veces, pero por alguna razón el software en sí no terminaba de encajar conmigo
Tal vez si lo usara de manera constante me gustaría más, pero todavía no me imagino escribiendo un proyecto grande en Racket
Era incluso más lento que Python; quizá haya mejorado desde la reescritura sobre Chez Scheme, pero ahora uso Common Lisp, que es rápido y ligero
Conocí Racket porque vi que John Carmack había hecho trabajo relacionado con Oculus en Racket hace 10 años
Video relacionado
Artículo de Wikipedia sobre Arc
Lisp es en sí mismo un metalenguaje, y Racket lo es todavía más
Prácticamente se puede ver como un kit para crear lenguajes
Yo usé Racket cuando enseñaba una clase de PL, pero como los estudiantes estaban acostumbrados a Java o Python, les costaba la sintaxis de Lisp
Por eso no tengo muy claro para quién está hecho este lenguaje
El blog de Bogdan Popa (defn.io) tiene mucha información interesante sobre Racket
Tengo ganas de probar personalmente la nueva funcionalidad de hilos
He intentado usar Racket varias veces, pero el IDE me pareció demasiado poco intuitivo y extraño
Me pregunto si eso es parte del diseño intencional o si simplemente es así porque no había una alternativa mejor
Racket también tiene buen soporte en VSCode (Magic Racket, Langserver), Emacs (Racket Mode), Vim y otros
Puedes revisar la documentación oficial y el repositorio de Langserver
DrRacket sigue valiendo la pena por funciones como el macro stepper, que no suelen estar en otros IDE
Racket es un lenguaje divertido
En nuestra universidad usamos la versión educativa de Racket en la clase introductoria de CS del primer año
A algunos estudiantes no les gusta, pero hay quienes en silencio sí le agarran cariño