Anecdotes
- La plupart des langages de commande DEC interprétaient la commande MAKE nomfichier comme une demande de démarrage de TECO et de création du fichier appelé "nomfichier". De nombreux (sinon la plupart) des TECO répondaient à la commande MAKE LOVE (« faire l'amour ») par le message Not war? (« Pas la guerre ? »).
- TECO était considéré comme l'un des premiers langages « Write-Only » (écriture uniquement). Cela signifie que vous pouvez tout à fait écrire un programme TECO, mais il est bien peu probable que vous puissiez décrire ce que fait un programme arbitraire en TECO juste en le regardant. Plus récemment, d'autres langages, tels que APL, Perl ou Forth, ont aussi acquis cette réputation bien peu flatteuse.
- TINT est une des premières implémentations TECO. Son nom est un acronyme récursif qui signifie en anglais « TINT Is Not TECO » (littéralement, « TINT n'est pas TECO»). Il s'agit d'après le site GNU du premier acronyme récursif utilisé dans le milieu hacker.
- L'outil de macro pour la ligne de commande TECO s'appelait MUNG. Il exécutait le programme ou la macro TECO spécifiée sur le fichier spécifié. MUNG est l'un des tout premiers acronymes récursifs, signifiant MUNG Until No Good.
- Lorsque le VAX fut introduit, DEC annonça un éditeur de texte plein écran plus « convivial », EDT, pour remplacer TECO. Quand les utilisateurs se plaignaient que leur éditeur favori n'avait plus de support, ils s'entendaient dire que « TECO n'est pas un éditeur de texte, c'est un langage de programmation ».
Exemple de programmes TECO
Le programme qui suit est un tri appliqué au tampon de texte courant, basé sur le premier caractère de chaque ligne, repris du PDP-11 TECO User's Guide. Deux version, la « goto » et la « structurée », sont présentées. TECO ignore la casse et les espaces blancs (à l'exception des tabulations, qui est une commande d'insertion).
Exemple 1
!START! j 0aua ! Aller au début, charger le premier caractère dans le registre A ! !CONT! l 0aub ! Charger le premier caractère de la ligne suivante dans le registre B ! qa-qb"g xa k -l ga 1uz ' ! Si A > B, inverser les lignes et positionner un drapeau dans le registre Z ! qbua ! Charger B dans A ! l z-."g -l @o/CONT/ ' ! Recommencer s'il reste des lignes dans le tampon ! qz"g 0uz @o/START/ ' ! Répéter si une inversion a eu lieu lors de l'itération précédente !
Exemple 2
0uz ! Effacer le drapeau de répétition ! B, inverser les lignes et positionner un drapeau dans le drapeau ! qbua ! Charger B dans A ! l .-z;> ! Recommencer s'il reste des lignes dans le tampon ! qz;> ! Répéter si une inversion a eu lieu lors de l'itération précédente !