2.6. Primitive Operations - JulTob/Ada GitHub Wiki

Se dice que una operación opera sobre un tipo, T, si produce un valor de tipo T o tiene un parámetro que, o es de tipo T, o es un access a objetos de tipo T (el parámetro debe, en este caso estar declarado como "access T", no de un tipo que sea "access T"). Los operadores y demás operaciones predefinidas en el lenguaje que operen sobre el tipo T, se dice que son "operaciones predefinidas del tipo T". El conjunto de operaciones primitivas de un tipo está constituido por sus operaciones predefinidas junto con los subprogramas primitivos definidos por el programador.

Son subprogramas primitivos de un tipo: Los operadores predefinidos del tipo. Los subprogramas heredados de sus ancestros, si es un tipo derivado. Si el tipo es enumerado, sus literales, que se consideran funciones sin parámetros.

Para un tipo declarado en un package specification, cualquier subprograma declarado en el mismo package specification que opere sobre el tipo. Cualquier otro subprograma declarado explícitamente en la misma región de declaraciones que el tipo y que sustituya a un subprograma primitivo del tipo declarado implícitamente. Un subprograma primitivo cuyo nombre es un símbolo de operador es un operador primitivo.