NameBlock


El tamaño de los programas en Tol ha estado creciendo durante los últimos años, y al mismo ritmo que ha aumentado el número de lineas de código, han proliferado también el número de funciones y variables, casi todas ellas en el ámbito global. El resultado de este crecimiento incontrolado es un concurrido ámbito global que complica el nombrado de los elementos de Tol y disminuye la organización de los programas.

Con el objetivo de evitar esta tendencia se ha desarrollado en Tol un nuevo tipo de datos NameBlock que dé las funcionalidades típicas de los espacios de nombres (namespace) como el de C++, por ejemplo, aunque con ciertas diferencias pues no se trata tan sólo de un ámbito de nombres sino también de un contenedor de objetos que pueden ser privados ó públicos.

Esta característica está disponible desde la versión 1.1.6, aunque se presenta aún como sistema en pruebas y no será definitivamente oficial hasta la 1.1.7, momento en el que se recomendará su uso intensivo.

Definiciones

  • Un bloque de nombres o NameBlock es un tipo de datos especial que se crea partiendo de un conjunto al que llamaremos base del NameBlock, y que implica un ámbito de localización de objetos.
  • A sus elementos les llamaremos miembros y pueden ser tanto variables como funciones o estructuras.
  • Los habrá que permanezcan ocultos fuera del ámbito y les llamaremos miembros privados.
  • El resto, llamados miembros públicos, podrán ser accesibles desde el exterior, a pesar de ser siempre todos locales por construcción, sin necesidad de explicitar las llaves {...}.