3 puntos por GN⁺ 2024-09-23 | 1 comentarios | Compartir por WhatsApp
  • Después de 12 años de desarrollo y uso real, se lanzó Hy 1.0.0
  • Hy es un dialecto de Lisp integrado en Python
    • Un lenguaje de programación multiparadigma y de propósito general de la familia Lisp
    • Implementado como una sintaxis alternativa para Python
    • Ofrece varias funciones nuevas, generalizaciones y simplificaciones sintácticas en comparación con Python
    • A diferencia de otros Lisp, puede acceder directamente a las funciones integradas de Python y a bibliotecas de terceros de Python
    • Permite mezclar libremente estilos de programación imperativa, funcional y orientada a objetos

Opinión de GN⁺

  • Hy es un lenguaje de programación interesante que combina las fortalezas de Python y Lisp. Permite aprovechar el rico ecosistema y las bibliotecas de Python, al mismo tiempo que ofrece las potentes capacidades y la flexibilidad de Lisp, lo que puede aumentar la productividad de los desarrolladores.
  • Sin embargo, como Hy todavía no es un lenguaje ampliamente usado, puede haber escasez de materiales de aprendizaje y soporte de la comunidad. Además, se debe tener cuidado porque pueden surgir problemas de compatibilidad con código existente de Python.
  • Otros lenguajes con un concepto similar a Hy incluyen Clojure y Racket. Estos son lenguajes de la familia Lisp que ofrecen funciones como programación funcional y macros, y se ejecutan sobre la JVM o su propio runtime.

1 comentarios

 
GN⁺ 2024-09-23
Comentarios de Hacker News
  • Me costó entender cómo Hy se traduce a Python

    • Hy es un dialecto de Lisp que traduce expresiones-s al árbol de sintaxis abstracta (AST) de Python
    • Revisé el código en Github y confirmé que este compilador está escrito en Python
    • En vez de presentar a Hy como un "dialecto de Lisp integrado en Python", parece más claro presentarlo como un "dialecto de Lisp que compila al AST de Python"
    • Hay varias formas de integrar Lisp en Python, y cada una es muy distinta y tiene diferentes trade-offs
    • Por ejemplo, se puede escribir un intérprete en C, compilar a bytecode de Python o traducir directamente a código fuente de Python
    • En cualquier caso, es un proyecto interesante
  • Me gustó muchísimo HYPE POST

    • Va muy bien para trabajar con software corporativo
  • Me sorprendió ver cuánto ha avanzado Hy desde sus inicios hasta ahora

    • Vi la lightning talk donde presentaron Hy por primera vez en Pycon
    • Conocí a Paul y empecé a contribuir a las primeras versiones de Hy
    • Me encargué de los kwargs al estilo CL y de algunas bibliotecas, entre otras cosas
    • Da gusto ver que el proyecto sigue adelante
  • Ahora por fin podré poner en orden https://github.com/rcarmo/sushy

    • Cada vez que actualizaba Hy, la sintaxis se rompía o algo se movía al paquete hyrule
    • Hy funciona bien dentro de https://holzschu.github.io/a-Shell_iOS en iPad
    • El resaltado de sintaxis de vim/neovim necesita ponerse al día con los lanzamientos 0.29+ y las funciones asíncronas
    • Probé Fennel y Guile, pero tener acceso a las bibliotecas y al ecosistema de Python es mejor
    • Las funciones asíncronas permiten un procesamiento eficiente de APIs
  • ¡Felicidades! Tengo dos preguntas

    • Si soporta desarrollo basado en REPL (sistema de condiciones, breakloop, etc.)
    • Si existe una distribución independiente. Distribuir Python en sí es engorroso. Lo ideal sería poder distribuir un solo binario de Hy con todas las dependencias incluidas
  • Información relacionada para fans de Clojure:

  • ¡Felicidades y gracias! Probé transformers con Hy y publiqué https://github.com/kunalb/orphism

    • Ya es hora de volver a usar Hy
  • Disfruté mucho las partes menos serias

    • Ojalá más proyectos de programación adoptaran el humor
    • Puede que esa sea la mejor manera de honrar la tradición de Python
  • Se pueden obtener construcciones de programación funcional sin abandonar la sintaxis de Python (como hace Hy)

  • Una de las cosas buenas de Raku es que, por defecto, da una impresión sorprendente de Lisp