Je suis déconcerté par toutes les fonctions Mathematica intégré qui visent à empêcher l'évaluation d'une certaine façon: Unevaluated
, Defer
, Hold
, et plus d'une demi-douzaine de le formulaire Hold*
. La documentation Mathematica explique chacune des fonctions isolément sans expliquer pourquoi vous choisiriez l'une ou l'autre. Quelqu'un peut-il offrir une explication cohérente de toutes ces fonctions? Le tout semble être un désordre compliqué pour moi. Relier tout cela aux macros Lisp pourrait être un bon point de départ.Mathematica: Unevaluated vs Différer vs vs attente HoldForm vs vs HoldAllComplete etc etc
La plupart du langage Mathematica est incroyablement bien conçu, mais il semble que Wolfram se soit vraiment mis dans la peau de cet aspect. Ou je pourrais manquer quelque chose.