Comment ça marche
La souris à trois boutons
Smalltalk-80 attend une souris à trois boutons : rouge (sélection), jaune (menu de la fenêtre : do it, print it, accept…) et bleu (menu du cadre : close, frame, collapse…).
| Bouton gauche | rouge |
| Bouton droit, ou Ctrl+gauche | jaune |
| Bouton du milieu, ou Alt/⌥+gauche | bleu |
Le fond gris est le bureau : un clic jaune dessus ouvre le menu système (browser, workspace, transcript, save, quit…). Pour ouvrir une fenêtre, on choisit l'entrée du menu puis on dessine son cadre : clic rouge pour le coin haut-gauche, clic rouge pour le coin bas-droit.
Votre clavier
Cliquez d'abord dans l'écran pour lui donner le focus. Les caractères sont saisis selon votre disposition de clavier. Deux signes ont une forme particulière dans la police de 1983 : _ s'affiche en flèche gauche ← (affectation) et ^ en flèche haut ↑ (retour).
Essayez, dans un workspace : tapez 3 + 4, sélectionnez-le, puis bouton jaune → print it.
Ou Smalltalk browseAllImplementorsOf: #at:put: puis do it.
Les touches Ctrl, Retour arrière, Suppr, Tab, Échap et Entrée sont transmises telles quelles ; Ctrl+T vaut ifTrue:, Ctrl+F ifFalse:, comme sur l'Alto.
Sous le capot
L'image VirtualImage (596 128 octets) est celle que Mario Wolczko a reçue de Xerox en 1984 sur bande
½ pouce pour son projet de maîtrise à Manchester, et qu'il a
mise en ligne ; elle est convertie en petit-boutiste, comme le préconise le
guide de portage de Xerox. La machine virtuelle est l'implémentation « by the Bluebook » de
Dan Banay (C++, MIT) : interpréteur de bytecodes, mémoire d'objets à
comptage de références, BitBlt, le tout tel que décrit dans Smalltalk-80: The Language and its Implementation.
Elle est compilée en WebAssembly avec Emscripten et affichée par SDL2 dans le canevas.
L'image d'origine ne sait lire que le système de fichiers de l'Alto : dans le browser, le code est donc
décompilé (pas de commentaires ni de noms de temporaires). La seconde image ajoute les classes
PosixFile de Dan Banay et le fichier Smalltalk-80.sources : on y lit les vraies sources.
Les fichiers vivent en mémoire : un save y écrit l'instantané, que le bouton « Télécharger l'image » récupère.