3 points par GN⁺ 2024-09-23 | 1 commentaires | Partager sur WhatsApp
  • Après 12 ans de développement et d’utilisation en conditions réelles, Hy 1.0.0 a été publié
  • Hy est un dialecte Lisp intégré à Python
    • Un langage de programmation généraliste multi-paradigme de la famille Lisp
    • Implémenté comme une syntaxe alternative pour Python
    • Offre diverses nouvelles fonctionnalités, des généralisations et une simplification de la syntaxe par rapport à Python
    • Permet, par rapport à d’autres Lisp, un accès direct aux fonctionnalités intégrées de Python et aux bibliothèques Python tierces
    • Permet de mélanger librement les styles de programmation impératif, fonctionnel et orienté objet

L’avis de GN⁺

  • Hy est un langage de programmation intéressant qui combine les atouts de Python et de Lisp. Il permet de tirer parti du riche écosystème et des bibliothèques de Python tout en offrant la puissance et la flexibilité de Lisp, ce qui peut améliorer la productivité des développeurs.
  • Cependant, Hy n’est pas encore un langage largement utilisé, ce qui peut entraîner un manque de ressources d’apprentissage et de support communautaire. De plus, des problèmes de compatibilité avec le code Python existant peuvent survenir, ce qui impose une certaine vigilance.
  • Parmi les autres langages reposant sur un concept similaire à celui de Hy, on peut citer Clojure et Racket. Ce sont des langages de la famille Lisp qui offrent des fonctionnalités comme la programmation fonctionnelle et les macros, et qui s’exécutent sur la JVM ou sur leur propre runtime.

1 commentaires

 
GN⁺ 2024-09-23
Avis Hacker News
  • J’ai eu du mal à comprendre comment Hy est traduit vers Python

    • Hy est un dialecte de Lisp qui traduit les s-expressions vers l’arbre syntaxique abstrait (AST) de Python
    • En regardant le code sur GitHub, j’ai constaté que ce compilateur est écrit en Python
    • Au lieu de présenter Hy comme un « dialecte de Lisp intégré à Python », il serait plus clair de le présenter comme un « dialecte de Lisp compilé vers l’AST de Python »
    • Il existe plusieurs façons d’intégrer Lisp à Python, et chacune est très différente avec des compromis variés
    • Par exemple, on peut écrire un interpréteur en C, compiler vers du bytecode Python, ou traduire directement vers du code source Python
    • Quoi qu’il en soit, c’est un projet intéressant
  • J’ai beaucoup aimé le HYPE POST

    • C’est excellent pour travailler avec des logiciels d’entreprise
  • Je suis surpris de voir à quel point Hy a évolué depuis ses débuts

    • J’ai vu un lightning talk à la PyCon qui présentait Hy pour la première fois
    • J’ai rencontré Paul et j’ai commencé à contribuer aux premières versions de Hy
    • Je me suis occupé des kwargs de style CL, ainsi que de quelques bibliothèques
    • Ça fait plaisir de voir que le projet continue d’avancer
  • Je vais enfin pouvoir remettre en ordre https://github.com/rcarmo/sushy

    • À chaque mise à niveau de Hy, la syntaxe se cassait ou certaines choses étaient déplacées depuis le paquet hyrule
    • Hy fonctionne bien dans https://holzschu.github.io/a-Shell_iOS sur iPad
    • La coloration syntaxique de vim/neovim doit rattraper les versions 0.29+ et les fonctionnalités asynchrones
    • J’ai essayé Fennel et Guile, mais l’accès aux bibliothèques Python et à son écosystème est un vrai plus
    • Les fonctionnalités asynchrones permettent un traitement efficace des API
  • Félicitations ! J’ai deux questions

    • Est-ce que ça prend en charge le développement basé sur le REPL (condition system, breakloop, etc.)
    • Existe-t-il une distribution autonome ? Distribuer Python lui-même est fastidieux. L’idéal serait de distribuer un unique binaire Hy contenant toutes les dépendances
  • Info connexe pour les fans de Clojure :

  • Félicitations et merci ! J’ai essayé les transformers avec Hy et publié https://github.com/kunalb/orphism

    • Il est temps pour moi de redonner sa chance à Hy
  • J’ai beaucoup apprécié les passages moins sérieux

    • J’aimerais que davantage de projets liés à la programmation assument l’humour
    • C’est peut-être la meilleure manière d’honorer la tradition Python
  • On peut obtenir des constructions de programmation fonctionnelle sans abandonner la syntaxe Python (comme le fait Hy)

  • L’un des aspects intéressants de Raku est qu’il donne naturellement une impression étonnamment Lisp