Cómo instanciar un tipo.

            El proceso de instanciación de un tipo es bien sencillo. Cuando vayamos a hacer uso de un tipo, ya sea en la definición de funciones o de variables, éste puede ser instanciado siempre y cuando posea genéricos.

            En ese caso bastará con escribir el nombre del tipo seguido de un paréntesis “(“ y una lista con los tipos y funciones con los que vamos a instanciar sus genéricos separados por comas “,”, y acabaremos cerrando el paréntesis “)”.

            Los elementos con los que vamos a instanciar deben cumplir una serie de condiciones que se van a exponer a continuación.

            -Si lo que vamos a instanciar es un Tipo Genérico, solo se podrá hacer con tipos declarados en la zona de dominios, que a su vez pueden ser tipos instanciables, o por tipos genéricos propios del TAD que se está definiendo actualmente.

            -Si lo que vamos a instanciar es una Función Genérica, sólo se podrá hacer con Funciones propias del tipo que estemos definiendo siempre y cuando estas hayan sido declaradas previamente. O bien con funciones Genéricas propias del tipo que se está definiendo actualmente.

            Un ejemplo de instanciación es el siguiente.

                        Pila(Lista(Natural),TMax)

            Como se ha dicho, tanto los tipos Pila, Lista y Natural deben de haber sido declarados en la zona de dominios. Y Tmax debe ser una función propia del tad que se está definiendo, ya sea genérica o no.