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.

Changes between Initial Version and Version 1 of ObjectIndexedSerialization


Ignore:
Timestamp:
Feb 27, 2009, 9:41:57 AM (16 years ago)
Author:
Víctor de Buen Remiro
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • ObjectIndexedSerialization

    v1 v1  
     1= OIS =
     2
     3OIS 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.
     4
     5Aunque 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.
     6
     7Por 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.
     8En 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
     9{{{
     10  Real x = FileDelete("fichero.txt");
     11}}}
     12Cuando 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.
     13
     14Para más información consulte los siguientes documentos:
     15
     16    * [https://www.tol-project.org/export/HEAD/tolp/trunk/doc/kernel/OIS/OIS.Introduccion.pps Introducción a OIS]
     17    * [https://www.tol-project.org/export/HEAD/tolp/trunk/doc/kernel/OIS/OIS.ManualDeUsuario.pdf Manual de usuario de OIS]