PpHd (./28) :
Pollux (./26) :
Est-ce que may_eval(may_foo_c(may_bar_c(x,y),z)) est équivalent à may_foo(may_bar(x,y),z) ? (modulo la rapidité si par exemple foo=mul et z=0)
Oui. Par contre,
may_eval(may_foo_c(bar = may_bar_c(x,y),z))
bar est incorrect (une évaluation invalide toute les références aux éléments non évalués qu'elle parcourt). Alors que :
may_foo(bar = may_bar(x,y),z)
bar est correct.
- Ah oui, mais selon la doc bar ne devient pas entièrement invalide dans le premier cas puisqu'on peut encore l'évaluer ?!?
- Ce serait possible de formaliser toutes les exigences des extensions pour qu'elles puissent maintenir ce genre d'invariants ? Là ça me paraît très très fragile, c'est à peu près certain que la première extension venue cassera tout si elle a une structure récursive...