1. La structure d'Arbre : T.A. (Type Abstrait)
2. La structure d'Arbre : la méthode déductive
3. La structure d'Arbre : l'environnement monolingual
4. La structure d'Arbre : les environnements monolinguaux dédiés
5. La structure d'Arbre : la programmation paramétrée
L'environnement monolingual cherche à offrir un cadre unique pour tous les aspects techniques de rédaction des programmes : saisie des textes sources, mise au point des programmes, gestion des "fichiers", ... De ce point de vue l'environnement monolingual veut aller plus loin que l'environnement intégré : dans ce dernier on s'attache surtout à garantir une cohérence entre des objets "assez gros", mais pour les détails techniques la tâche est confiée à d'autres outils – éditeur syntaxique, metteur au point symbolique, langage de commande, ...
Pour rompre avec l'habituelle interaction "à distance" de l'utilisateur sur la base d'objets, il faut alors lui proposer un moyen d'expression uniforme, indépendant du type d'interaction qu'il souhaite avoir avec les objets de l'environnement : c'est l'idée maîtresse des environnements monolinguaux (ce petit néologisme doit se comprendre : « qui ne reconnaît qu'un seul langage »). Au lieu de conserver cette vue "superficielle" de l'utilisateur sur les objets qu'il manipule, on le plonge dans la base d'objets, dont il a alors une perception unique.
J. Heering et P. Klint présentent les principales propriétés d'un environnement monolingual [HeK 85] :
langage de commande = langage de programmation = langage de metteur au point
variable = fichier et répertoire = structure (ou "directory" = "record")
procédure = programme = commande
Pour les deux auteurs, seuls satisfont aux conditions les environnements INTERLISP et Smalltalk ; ils donnent une vision presque uniforme des trois principaux aspects de la programmation :
En conclusion, les auteurs relèvent que la réalisation d'un tel environnement monolingual est un problème complexe, et non résolu.
Une possible solution est présentée dans [GJL 87b] : avec le langage Symmetric Lisp, on peut espérer construire un environnement de programmation qui garantirait :
alpha) – d'où une possible implantation sur machine parallèle ;En particulier dans un tel environnement on aurait la propriété de « metacleanliness » : on ne fait plus de distinction entre variable et fichier.
Un autre exemple, de petite dimension au dire même de l'auteur, est l'éditeur de texte s [Fra 80]. Cet éditeur permet, dans le seul langage de commande de l'éditeur :
La « maquette » présentée ne prétend pas proposer un nouveau produit, mais cherche plutôt à être le support d'une réflexion sur le plus grand confort qu'offre une interface quand elle se présente de manière uniforme dans des situations diverses.