como eliminar una variable global en System Rpl ?


hola adictos
esta vez vengo con una pregunta talvez paresca sencilla, pero yo me estoy haciendo mucho lio
si creo una variable global con el comando SAFESTO
por ejemplo el siguente codigo
::
%2 %3 x+
ID X SAFESTO
;
como eliminar la variable X?
intenten asi
::
%2 %3 %+
ID X SAFESTO
ID X xPURGE
;
pero se evalua el valor de X, lo cual arroja error al trata de eliminarlo estoy usando el DEBUG4X
Otros temas de interes

Para colocar siempre un nombre global en la pila (y no su contenido) debes colocar el símbolo ' antes del nombre global.
De esta manera:
' ID X
------------
Por lo tanto:
En User RPL se escribe:
'X'
En System RPL se escribe:
' ID X


Hola!, Riboflavina:
Prueba, con ...
::
{
ID X1
ID X2
ID X3
}
xPURGE
;
@
Esto se refiere a tres variables globales creadas, con sus respectivos valores.
No uso Debug4x, pero con EMACS 2.11, es cómo lo indiqué.
Es probable que Debug4x, no utilize a ... @

Como dice Jorge debes usar el comando Quote ' antes de la variable, esto es porque en system, al usar un objeto identificador como ID X, lo que se hace es ejecutar esta variable (su contenido). Si la variable ID X contiene un programa, se ejecuta el programa, si contiene un real, se deja el número en la pila. El comando Quote ' hace que se deje en la pila el siguiente objeto del programa que creaste, que en este caso es la variable ID X, luego haces el xPURGE.
Una acotación, como estas usando SysRPL, no es necesario usar xPURGE, que es un comando UserPRL. Para saber como borrar una variable en system, verifica en el manual de Kalinowsky o también descompila el comando xPURGE con Emacs o Jazz 50g y sabrás como trabaja.
Jorge, te quedan dos monedas por transferir.






como siempre me dan solución a mis preguntas, gracias a todos ustedes
Riboflavina aprendiendo el SYSTEM RPL/Arequipa-Peru