close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

OIS

OIS son las siglas en inglés de Object Indexed Serialization, es decir, la serialización indexada de objetos TOL que pretende dotar a este lenguaje de programación de un mecanismo de almacenamiento externo permanente de funciones y objetos TOL previamente evaluados, que posteriormente pueden ser recargados de forma independiente en ulteriores sesiones de TOL.

Aunque no es la única, la principal utilidad de OIS es la de almacenar paquetes de código TOL con los que crear librerías semi-compiladas en formato binario de carga instantánea, sin necesidad de volver a crear las variables y funciones cada vez que se recargan.

Por decirlo en un lenguaje más coloquial OIS hace fotos de las cosas como estén en ese momento y las guarda. Cuando cargues la foto estará lo dejaste ni más ni menos. No puedes esperar que OIS siga ejecutando órdenes como el := ya que ese no es su cometido, es sólo un almacén. En un fichero TOL que va a ser utilizado como módulo OIS debería haber sólo creación pura de objetos y funciones, nunca modificación de los mismos ni efectos secundarios, si es que se quiere reproducir dicho comportamiento. Por ejemplo, si en un fichero TOL pones

  Real x = FileDelete("fichero.txt");

Cuando lo compilas la primera vez esa órden borrará el fichero si existe y devolverá True o False según lo consiga o no. El resultado que sea se almacenará en OIS y cuando lo cargues posteriormente el valor de x seguirá siendo el mismo pero no puedes esperar que ejecute otra vez la orden de FileDelete e intente borrar de nuevo el fichero. Si OIS se dedicara a hacer eso entonces no tendría ninguna gracia porque le costaría el mismo tiempo que compilar el TOL de nuevo.

Para más información consulte los siguientes documentos:

Last modified 16 years ago Last modified on Feb 27, 2009, 9:41:57 AM