CLR

Der BASIC-Befehl CLR „löscht“ im Speicher angelegten BASIC-Variablen bzw. gibt genau genommen den dadurch belegten Speicherplatz sowie sonstige von BASIC benutzte Bereiche (z.B. den Stapelspeicher) wieder frei und und schließt eventuell offene Ein-/Ausgabekanäle (siehe OPEN).
Die Funktion ist auch impliziter Bestandteil des RUN-Befehls.
Als parameterloser Befehl führen etwaige dem Befehl folgende Angaben zu einem ?SYNTAX ERROR.

Konkret werden alle Variablen, Felder (siehe DIM), die aktuelle DATA-Zeile, definierte Funktionen (siehe DEF FN), Sprungadressen von Unterprogrammen (siehe GOSUB) und Schleifenvariablen (siehe FOR und NEXT) gelöscht, indem deren interne Datenstrukturen (Stapelspeicher, String-Stapel, String-Heap etc. des Basic-Interpreters auf einen initialen Stand zurückgesetzt werden. Damit steht wieder mehr RAM-Speicher, entsprechend dem Zustand nach dem Laden eines Programms, zur Verfügung. Ein manuell oder mittels STOP angehaltenes Programm lässt sich dann auch nicht mehr mittels CONT fortsetzen.
Außerdem geht der Zugriff auf geöffnete Dateien von Datenträgern wie Diskette und Datasette verloren, da der entsprechende Datenpuffer und der Status zur Datei verloren geht, auch wenn die Datei nicht geschlossen wurde. Es hängt dann vom jeweiligen Gerät ab, wie mit nicht sauber abgeschlossenen Dateien verfahren wird.

Beispiele

10 A=64 : B$="COMMODORE" : C%=128
20 D$ = B$ + STR$(A)
30 PRINT D$ " UND " B$ C% ; FRE(0)+65536
40 CLR
50 PRINT : PRINT B$ A " UND " B$ C% ; FRE(0)+65536