Tiens, pour comparer au Common Lisp. Supposons que l'on veuille écrire une macro qui exécute des opérations séquentielles dans l'ordre inverse (c'est totalement inutile mais il me semble que ce n'est pas trivial à faire dans d'autres langages). Par exemple :
(reverse-exec(print1)(print2)(print3)(print4))
Qui exécuterait :
(PROGN(PRINT4)(PRINT3)(PRINT2)(PRINT1))=>4321
(progn est équivalent au begin)
C'est facile en Lisp puisque le code est une liste et que le Lisp manipule très bien ce type données.
Le code en Common Lisp est le suivant :
# Macros et (Common) Lisp
Posté par hocwp (site web personnel) . En réponse à la dépêche Version 1.0 de Julia. Évalué à 2. Dernière modification le 05 mars 2012 à 13:50.
Tiens, pour comparer au Common Lisp. Supposons que l'on veuille écrire une macro qui exécute des opérations séquentielles dans l'ordre inverse (c'est totalement inutile mais il me semble que ce n'est pas trivial à faire dans d'autres langages). Par exemple :
Qui exécuterait :
(progn est équivalent au begin)
C'est facile en Lisp puisque le code est une liste et que le Lisp manipule très bien ce type données.
Le code en Common Lisp est le suivant :
Quel serait le code équivalent en Julia ?
PS : Ce n'est pas un concours de qui a la plus grosses mais juste de la curiosité.