next up previous contents index
Next: Les entrées-sorties Up: L'interface Previous: Le debug

Extension des commandes existantes

      Le code de toutes les fonctions qui ne sont pas dans le noyau de MAPLE est accessible aux utilisateurs en utilisant interface(verboseproc=2) et print. De plus, les fonctions ne sont, en général, pas protégées. Il est donc tout à fait possible de récupérer le code existant pour une fonction de MAPLE, afin de la modifier et écraser l'ancienne fonction à l'aide de la fonction munie d'un nouveau code. Il s'agit en fait là de remplacer le code existant par un nouveau code. À partir de la version V-3, la commande protect empêche qu'un utilisateur écrase malencontreusement une fonction du système. Toutefois la fonction unprotect permet d'enlever une protection sur une fonction système, de remplacer malgré tout le code.

      Il est également possible de rajouter de nouvelles caractéristiques à des fonctions de MAPLE. Nous avons vu que les fonctions simplify, type ou même int ne sont pas chacunes une unique fonction, mais une multitude de fonctions connues sous le nom de `symplify/foo` par exemple. En conséquence on peut rajouter une méthode afin que par exemple la fonction simplify sache simplifier un nouveau type de données.

En fait, MAPLE est un système (de ce point de vue) très ouvert, très modifiable et extensible. De nombreux rajouts, améliorations, packages sont disponibles dans le domaine public.



Stephan Tassart
Fri Feb 7 19:05:53 MET 1997