The Knight who says Yi
4/26/2006 11:19:00 AM
Heimdall me parle du SummerOfCode Haskell, et me fait ainsi découvrir Yi, un éditeur de texte écrit en Haskell qui prétend être plus dynamique qu'Emacs. L'auteur explique dans un article comment concevoir des applications complètement dynamiques, dans un langage compilé et statiquement typé comme Haskell -- il a aussi conçu le λbot IRC de #haskell selon la même méthode.
L'article ne présente pas un nouveau langage ni même un nouveau compilo, mais une méthodologie de développement qui permet de faire une application reconfigurable à chaud, dans laquelle on peut même changer des morceaux de code à chaud. C'est un peu gros d'affirmer que le résultat est plus dynamique qu'Emacs, on voit sur la fin les limites du modèle quand il aborde les commandes type
Tout ça nous ramène à bed, un éditeur écrit en OCaml qu'on avait commencé avec comme idée centrale de faire le procédé de colorisation/indentation de façon plus jolie en adaptant les techniques bien connues de lexing/parsing de façon plus maline que d'hab. Le développement avait bloqué au moment de faire l'éditeur lui-même pour des problèmes de design, et ce genre de lecture est peut-être un pas vers une solution, un jour. C'est plus raisonnable que mon autre scénario de reprise, qui passait par la création d'un langage de prog plus adapté, que la killer-app bed aurait ainsi popularisé en retour comme le premier langage statique dynamique.
En attendant, la fondation Haskell propose un projet Summer of Code sur l'éditeur Yi, il s'agit d'ajouter la colorisation et l'indentation... Je suis curieux de voir ce que ça donne.
L'article ne présente pas un nouveau langage ni même un nouveau compilo, mais une méthodologie de développement qui permet de faire une application reconfigurable à chaud, dans laquelle on peut même changer des morceaux de code à chaud. C'est un peu gros d'affirmer que le résultat est plus dynamique qu'Emacs, on voit sur la fin les limites du modèle quand il aborde les commandes type
:map
, autant dire qu'il y a pas de jolie solution pour le M-x
d'Emacs. Mais au fond, on peut peut-être se passer de ces choses là. Malgré ces excès, l'article est très intéressant et élégant, et surtout casse des idées reçues sur les langages dynamiques. Avoir un langage statique compilé permet aussi de faire plein de trucs "dynamiques".Tout ça nous ramène à bed, un éditeur écrit en OCaml qu'on avait commencé avec comme idée centrale de faire le procédé de colorisation/indentation de façon plus jolie en adaptant les techniques bien connues de lexing/parsing de façon plus maline que d'hab. Le développement avait bloqué au moment de faire l'éditeur lui-même pour des problèmes de design, et ce genre de lecture est peut-être un pas vers une solution, un jour. C'est plus raisonnable que mon autre scénario de reprise, qui passait par la création d'un langage de prog plus adapté, que la killer-app bed aurait ainsi popularisé en retour comme le premier langage statique dynamique.
En attendant, la fondation Haskell propose un projet Summer of Code sur l'éditeur Yi, il s'agit d'ajouter la colorisation et l'indentation... Je suis curieux de voir ce que ça donne.