Tu sais, quand je dis Lisp, j’englobe tous les Lisp, du bon vieux Le Lisp à Common Lisp et Scheme, il n’y a pas tant de différences (si ce n’est que Scheme est un peu plus impératif (variables globales, tout ça) que le bon vieux Le Lisp).
Il fut un temps où j’ai aussi pensé à faire un langage de documents à la TeX mais en évitant ses problèmes. Par exemple :
— le fait que TeX est un langage de macros, ce qui est déjà difficile à suivre avec l’utilisation répétée de \expandafter (‹quote› en Lisp, mais qui n’opère que sur le caractère ou la commande qui suit) ;
— avec de vraies macros, celles qui sont évaluées dans le « ventre » de TeX, pour reprendre les termes de Knuth, et des macros spéciales, qui sont évalués dans sa « bouche » ;
— le manque de primitives pour manipuler les chaînes (bonjour la chienlit pour découper une chaîne).
Bien sûr, on arrive à faire plein de choses, surtout quand on s’appele Knuth, mais ce n’est vraiment pas par le chemin le plus accessible.
La syntaxe (La)TeX n’est pas si sale (même si elle est perfectible, mieux structurable) et XML est effectivement trop lourd si c’est un humain qui doit le taper.
Par contre, dès qu’on y réfléchit un peu, on voit que c’est une tâche colossale : il y a énormément de bibliothèques à faire pour arriver à la cheville de LaTex et il est plus simple de s’accommoder de ses défauts.
[^] # Re: Autres grammaires
Posté par Sylvain Sauvage . En réponse au journal L'expressivité des langages. Évalué à 2.
Il fut un temps où j’ai aussi pensé à faire un langage de documents à la TeX mais en évitant ses problèmes. Par exemple :
— le fait que TeX est un langage de macros, ce qui est déjà difficile à suivre avec l’utilisation répétée de \expandafter (‹quote› en Lisp, mais qui n’opère que sur le caractère ou la commande qui suit) ;
— avec de vraies macros, celles qui sont évaluées dans le « ventre » de TeX, pour reprendre les termes de Knuth, et des macros spéciales, qui sont évalués dans sa « bouche » ;
— le manque de primitives pour manipuler les chaînes (bonjour la chienlit pour découper une chaîne).
Bien sûr, on arrive à faire plein de choses, surtout quand on s’appele Knuth, mais ce n’est vraiment pas par le chemin le plus accessible.
La syntaxe (La)TeX n’est pas si sale (même si elle est perfectible, mieux structurable) et XML est effectivement trop lourd si c’est un humain qui doit le taper.
Par contre, dès qu’on y réfléchit un peu, on voit que c’est une tâche colossale : il y a énormément de bibliothèques à faire pour arriver à la cheville de LaTex et il est plus simple de s’accommoder de ses défauts.