J'ai cherché le nom d'une procédure, qui applique une arborescence de procédures à une structure arborescente de données, ce qui donne une structure arborescente des résultats - les trois arbres ayant la même structure.Une telle procédure existe-t-elle dans une norme Scheme et si oui, comment s'appelle-t-elle?
Une telle procédure pourrait avoir la signature:
(map-tree data functree)
Sa valeur de retour serait le résultat de l'application des éléments par éléments de functree sur les éléments de données correspondants.
exemples (en supposant que la procédure est appelée carte-tree):
Exemple 1:
(define *2 (lambda (x) (* 2 x))) ; and similar definitions for *3 and *5 (map-tree '(100 (10 1)) '(*2 (*3 *5)))
donnerait le résultat
(200 (30 5))
Exemple 2:
(map-tree '(((aa . ab) (bb . bc)) (cc . (cd . ce))) '((car cdr) cadr))
donne le résultat
((aa bc) cd)
Cependant, je n'ai pas trouvé une telle fonction dans la documentation SLIB, que j'ai consultée.
Une telle procédure existe-t-elle déjà?
Sinon, quel serait le nom approprié pour la procédure, et comment commanderiez-vous ses arguments?
vrai, mais vous auriez pour utiliser eval, et la plupart des Schemers vous diront que les programmes normaux ne doivent pas utiliser eval. –
Les programmes normaux ne doivent pas utiliser 'eval'. –