OpenLLM-France/wikimedia huggingface dataset:
# Láadan/Carrusel

La frase del día para hoy 37º miércoles del año es:
bud 9
* Índice ·
* Introducción ·
* Información ·
* Enlaces
* Percepción ·
* Relaciones ·
* Lecturas ·
* Gramática
* Curso ·
* Ejercicios ·
* Vocabulario ·
* Oraciones básicas ·
* Material adicional
# Láadan/Gramática

* Reglas gramaticales
* El alfabeto
* Sonidos y pronunciación
* Pronombres
* Pronombres interrogativos
* Género y número
* El artículo
* Conjunciones
* Preposiciones
* El verbo
* Conjugación
* Los tiempos compuestos
* Numerales
* Composición de palabras
* Signos de puntuación
* Diccionario gramatical
Gramática Esta página contiene todo el texto del capítulo de «Gramática» Texto completo de este capítulo Esta página contiene todo el texto del capítulo de «Gramática»
* Índice ·
* Introducción ·
* Información ·
* Enlaces
* Percepción ·
* Relaciones ·
* Lecturas ·
* Gramática
* Curso ·
* Ejercicios ·
* Vocabulario ·
* Oraciones básicas ·
* Material adicional
# Láadan/Desarrollo

* Índice ·
* Introducción ·
* Información ·
* Enlaces
* Percepción ·
* Relaciones ·
* Lecturas ·
* Gramática
* Curso ·
* Ejercicios ·
* Vocabulario ·
* Oraciones básicas ·
* Material adicional
# Notas sobre Sistemas Operativos
## Contenido

* Introducción e Historia de Sistemas Operativos
* Conceptos de Sistemas Operativos
* Procesos y Threads
* CPU Scheduling
* Sincronización
* ToDo (iremos agregando los próximos días)

## Referencias

* Notas sobre Sistemas Operativos nació basado en un conjunto de apuntes recolectados durante el dictado de este matería en la Universidad Argentina de la Empresa por Matías Alejo García en 2003. El formato original de este curso está en http://www.nits.com.ar/uadeclasses/index.html

## Desarrolladores

* Matías Alejo García 02:38 6 mar 2008 (UTC)
# Nueva constitución de Chile

La Convención constitucional de Chile está terminando el borrador de nueva constitución para el país. En este wikilibro se presenta y explica el borrador, realizando un intento por exponer en forma simple y en un lenguaje fácil de comprender.

# Comisiones
## Comisión 1

COMISIÓN 1 SISTEMA POLÍTICO, GOBIERNO, PODER LEGISLATIVO Y SISTEMA ELECTORAL

## Comisión 2

COMISIÓN 2 SOBRE PRINCIPIOS CONSTITUCIONALES, DEMOCRACIA, NACIONALIDAD Y CIUDADANÍA

## Comisión 3

* COMISIÓN 3 FORMA DE ESTADO, ORDENAMIENTO, AUTONOMÍA, DESCENTRALIZACIÓN, EQUIDAD, JUSTICIA TERRITORIAL, GOBIERNOS LOCALES Y ORGANIZACIÓN FISCAL

## Comisión 4

* COMISIÓN 4 DERECHOS FUNDAMENTALES

## Comisión 5

* COMISIÓN 5 MEDIO AMBIENTE, DERECHOS DE LA NATURALEZA, BIENES NATURALES COMUNES Y MODELO ECONÓMICO

## Comisión 6

* COMISIÓN 6 SISTEMA DE JUSTICIA, ÓRGANOS AUTÓNOMOS DE CONTROL Y REFORMA CONSTITUCIONAL

## Comisión 7

* COMISIÓN 7 SISTEMAS DE CONOCIMIENTOS, CULTURAS, CIENCIA, TECNOLOGÍA, ARTES Y PATRIMONIOS

## Comisión 8

* COMISIÓN 8 PARTICIPACIÓN POPULAR

## Comisión 9

* COMISIÓN 9 DERECHOS DE LOS PUEBLOS INDÍGENAS Y PLURINACIONAL

# Pirámides de influencia

Pirámides de influencia

# Actores

Actores
# Nuestra Guía para Alemania

Idea general: Estamos en Construcción de Nuestra Guía para Alemania
Guía extensa, pedagógica y colaborativa para nuevos inmigrantes venezolanos e hispanoparlantes en Alemania. Los temas de la guia podrían ser muy diversos: gastronomía, guarderías, diligencias y otras muchas cosas pero siempre con información oficial y referencias, para instruirnos, ayudarnos y referirnos a organismos y oficinas oficiales o especializadas. Cada quien aportará lo que sabe y como puede. Proyecto parte de la iniciativa de la comunidad venezolana en Alemania.
Lugar de almacenamiento:
Respaldo en GoogleDoc y Aquí en Wikilibros.
Idioma y Estilo:
Tener en cuenta que muchos no hablarán todavía Alemán. Por ello, siempre utilizar los conceptos y palabras en Alemán. Estilo: Al usar un término Alemán escribirlo en cursiva con su traducción, género y plural entre paréntesis. Por ejemplo: “Existe en Alemana una forma de cuidadoras que es muy especial: Tagesmutter (literal: madre del/para el dia, f, ü)”
Colaboración:
Sí, cada quien aporta lo que sabe y puede. Pero de forma ordenada y con una revisión posterior para corregir los posibles errores usando Estilo Wikipedia. !Con discusiones pero sin peleas! !Aprendamos de nuestros estimados amigos alemanes la cultura de la crítica, SIN tomar las cosas de forma personal y pasional!
Compartir y Uso:
La idea es compartir Nuestra Guía para Alemania de forma online y en formato CC CreativeCommons, para que todos tengan acceso libre y sin costo.

## Contenido

* Llegar a Alemania, los primeros meses
* Alemania con Niños 1
Tenemos tal vez un desafío como padres inmigrantes. Pero los niños se adaptan y aprenden mucho más rápido que nosotros. En esta sección explicaremos diversos temas relacionados con niños.
** Nacimiento en Alemania 1.1
** Procedimientos y diligencias después del nacimiento 1.2
** Tips para nuevos papás y mamás 1.3
** Productos para bebés 1.4
** Guarderías y Jardines de Infancia 1.5
** Salud: Escuela 1.6
** Actividades Extracurriculares 1.7
** Salud: Pediatras y Hospitales 1.8
** Salud: Pediatras y Hospitales 1.9
* Gastronomía en Alemania 2
En esta sección explicaremos todo lo relacionado a la gastronomía y responderemos preguntas fundamentales y urgentes: Dónde consigo Hojas de Plátano y Onoto para las Hallacas (Sí se consigue casi todo, y sí se puede hacer nuestras Hallacas en Alemania) =)
** Dónde conseguir nuestros ingredientes típicos 2.1
** Productos en Alemania similares o parecidos: Tabla. Nombre en Alemán y en Espanol. 2.2
*** Cortes de carne vacuna y porcina 2.2.1
*** Vegetales 2.2.2
** Tips de cocina y recetas 2.3
* Aprender Alemán3
En esta sección hablaremos sobre la importancia del idioma para poder trabajar e integrarse. También daremos consejos y herramientas para aprenderlo y mejorarlo.
# Curso de alemán para avanzados con audio/Lección 026

    índice
    Lección 025 ← Lección 026 → Lección 027
Bildbeschreibung (Teil 6)
    índice
    Lección 025 ← Lección 026 → Lección 027
# Curso de alemán para avanzados con audio/Lección 027

    índice
    Lección 026 ← Lección 027 → Lección 028
Bildbeschreibung (Teil 7)
    índice
    Lección 026 ← Lección 027 → Lección 028
# Curso de alemán para avanzados con audio/Lección 028

    índice
    Lección 027 ← Lección 028 → Lección 029
Bildbeschreibung (Teil 8)
    índice
    Lección 027 ← Lección 028 → Lección 029
# Curso de alemán para avanzados con audio/Lección 025

    índice
    Lección 024 ← Lección 025 → Lección 026
Bildbeschreibung (Teil 5)
    índice
    Lección 024 ← Lección 025 → Lección 026
# Patología de la edificación/Estructuras de hormigón

Estructuras de hormigón
* A. Problemática
* B. Lesiones
* C. Causas funcionales y materiales del deterioro
* D. Causas Operativas: Planificación, fabricación, ejecución y uso
* E. Inspección y control
* F. Reparación
* G. Prevención
* H. Prevención en Forjados de Hormigón
* I. Bibliografía
# Patología de la edificación/Estructuras de hormigón/Bibliografía

Carles Broto: ENCICLOPEDIA BROTO DE PATOLOGÍAS DE LA CONSTRUCCIÓN. Barcelona 2005. Biblioteca ETSAM: 69.059 bro-enc 1-6
M.Fernández Cánovas: PATOLOGÍA Y TERAPEÚTICA DEL HORMIGÓN ARMADO. Colegio de Ingenieros de Caminos, Canales y Puertos, Madrid, 1994. Biblioteca ETSAM: 691.3 FER pat
Edgard B.Grunau: LESIONES EN EL HORMIGÓN. Ceac, Barcelona, 1988. Biblioteca ETSAM: 691.3 GRU les
J. Calavera: CALCULO, CONSTRUCCIÓN Y PATOLOGÍAS DE FORJADOS EDIFICACIÓN. Intemac. 1988 Biblioteca ETSAM: 624.012 cal cal
AA.VV. (1984): CURSO DE REHABILITACIÓN. TOMO 5. LA ESTRUCTURA. Colegio Oficial de Arquitectos; Madrid, 1984. ISBN 84-85572-70-X.
AA.VV. (2000): MANUAL DE DIAGNOSIS E INTERVENCIÓN EN ESTRUCTURAS DE HORMIGÓN ARMADO. Ed. C.A. i A.T. B., Barcelona, 2000. ISBN 84-87104-43-6.
AA.VV. (2006): ENCICLOPEDIA BROTO DE PATOLOGÍAS DE LA CONSTRUCCIÓN. ELEMENTOS CONSTRUCTIVOS II. TOMO 5. Ed. Broto y Comerma, Barcelona, 2006.
Fernández Gómez et. al. (2002): EVALUACIÓN DE LA CAPACIDAD RESISTENTE DE ESTRUCTURAS DE HORMIGÓN. ENSAYOS NO DESTRUCTIVOS Y PRUEBAS DE CARGA. Ed. INTEMAC, Madrid, 2002. ISBN 84-88764-12-X.
Carbonell de Masy, M. (1995): PROTECCIÓN Y REPARACIÓN DE ESTRUCTURAS DE HORMIGÓN. EDIFICIOS, OBRAS HIDRÁULICAS Y VIALES. Ed. Omega, S.A., Barcelona, 1996. ISBN 84-282-1066-7.
Abásolo, A. (1996): APEOS. APEOS Y GRIETAS EN LA EDIFICACIÓN. Ed. Munilla-Lería, Madrid, 1996.
NTE ESTRUCTURAS. Dirección General de Vivienda y Urbanismo 1995.
NTE REVESTIMIENTOS. Dirección General de Vivienda y Urbanismo 1995.
GUÍA DE APLICACIÓN DE LA INSTRUCCIÓN DE HORMIGÓN ESTRUCTURAL, EDIFICACIÓN. Comisión permanente del hormigón. Ministerio de Fomento 2002.
Arthur H. Nilson/George Winter: DISEÑO DE ESTRUCTURAS DE CONCRETO. Ed. Mc Graw-Hill, 1994
# MySQL/Configuración

* MySQL
* Información - Índice - Enlaces
* Introducción - Configuración - Diseño - Gestión - Seguridad - Optimización

## Índice del capítulo de Configuración de MySQL

* Instalación de MySQL
* Configuración de MySQL
* Aplicaciones servidor
* Aplicaciones cliente
** Ayuda en línea
Texto completo de Configuración de MySQL Esta página contiene todo el texto del capítulo «Configuración de MySQL»
# Etapa conceptual

En esta etapa se obtiene una estructura de la información de la futura Base de Datos independiente de la tecnología que hay que emplear. No se tiene en cuenta todavía que tipo de Base de Datos se utilizará -relacional, orientada a objetos, jerárquica, etc.-; en consecuencia, tampoco se tiene en cuenta con qué SGBD ni con qué lenguaje concreto se implementará la Base de Datos. Así pues, la etapa del diseño conceptual nos permite concentrarnos únicamente en la problemática de la estructuración de la información, sin tener que preocuparnos al mismo tiempo de resolver cuestiones tecnológicas.
El resultado de la etapa del diseño conceptual se expresa mediante algún modelo de datos de alto nivel. Uno de los más empleados es el modelo entidad-relación (entity-relationship), que abreviaremos con la sigla ER.

## Modelo Entidad-Relación (Modelo ER)

En primer lugar, antes de comenzar a desarrollar en que consiste el Modelo ER; es importante que nos familiarizemos con algunos conceptos que nos van a resultar imprescindibles y que son muy importantes para que la base de datos cumpla nuestras expectativas.
* Entidad: Se considera entidad a cualquier elemento del tipo (nombre, persona, lugar, cosa o evento). Cada entidad tiene su propia tabla. El nombre de las tablas se escribe en mayúsculas seguido y entre paréntesis de los nombres de las columnas.
* Atributos: Es cada propiedad que tiene cada una de las entidades. Los atributos son las columnas de cada tabla. El nombre de las columnas que forman una tabla se indica entre paréntesis después del nombre de la tabla.
* Relación: Llamamos relación a la asociación entre entidades. puede haber una relación entidad-entidad o entidad-entidades, o entidades-entidades. Las relaciones comunes se llevan a cabo entre columnas idénticas en tablas distintas.
* Dependencia funcional: Determinamos que existe una dependencia funcional entre las columnas A y B, cuando A depende funcionalmente de B. Es decir que B determina A.
* Clave Primaria: Es el identificador único de la tabla. Es el dato que sólo con él sabríamos la tabla. Por ejemplo, el DNI de un cliente.
Una vez ya familizarizados todos los conceptos, para poder desarrollar nuestro Modelo ER de nuestra Base de Datos es necesario identificar los tres elementos principales del modelo (Entidad, Atributos, Relaciones). Para ello será necesario mantener un contacto directo con el cliente. Él nos explicará sus necesidades y los usos que hace de la información. En las reuniones buscaremos respuestas a preguntas como éstas: ¿Qué entidades intervienen?, ¿Qué atributos posee cada entidad? Seguir página 155

# Etapa lógica

MySQL/Diseño/Etapa lógica

# Etapa física

MySQL/Diseño/Etapa física
# MySQL/Enlaces

* Página oficial de MySQL
* Descripción de la interfaz de programación de aplicaciones (API) de MySQL
# MySQL/Configuración/Instalación
## Instalación de MySQL

Teniendo en consideración un estudio previo de la realidad que queremos plasmar en la base de datos, la planificación de la misma en el modelo relacional e identificadas las necesidades sobre los datos que queremos cubrir, ahora es cuando pasamos a manejar el programa en sí. Para empezar a utilizar MySQL, primero tenemos que obtenerlo e instalarlo.

### ¿Funcionará MySQL en mi S.O. actual?

Debemos considerar el Sistema Operativo en el que trabajamos antes de comenzar la instalación. Podemos consultar las plataformas que cubren distintas ersiones de MySQL en su página oficial.

### Elegir la versión a instalar

Existen varias versiones de MySQL disponibles en múltiples distribuciones.
# MySQL/Diseño

* MySQL
* Información - Índice - Enlaces
* Introducción - Configuración - Diseño - Gestión - Seguridad - Optimización

## Índice del capítulo de Diseño de la base de datos

* Etapa conceptual
* Etapa lógica
* Etapa física
Texto completo de Diseño de la base de datos Esta página contiene todo el texto del capítulo «Diseño de la base de datos»
# Programación en Ada/Tipos abstractos de datos
## Tipos abstractos de datos (tipos privados)

Una de las principales contribuciones de los lenguajes de alto nivel es que el programador no tiene que preocuparse de cómo se representan físicamente los datos en el computador. De esta idea surge el concepto de tipo de datos. Una extensión del mismo es el tipo abstracto de datos. Su implementación es de nuevo desconocida para el programador, esta vez no porque desconozca la arquitectura del computador subyacente, sino porque es encapsulado en un módulo que no permite el acceso directo a los detalles de su implementación. En su lugar, se proporciona al programador operaciones sobre el tipo que son invocaciones a entradas del módulo que lo encapsula.
Por ejemplo, consideremos la utilización de un tipo abstracto de datos que represente a un número complejo:
De este modo, el usuario debe conocer los detalles de la implementación y sabe que se utiliza una representación cartesiana. Además, el usuario está obligado a hacer uso de la representación.
Para impedir el uso del conocimiento de la representación con vistas, por ejemplo, a poder cambiar ésta posteriormente, se puede hacer uso de los tipos privados definiéndolos mediante la palabra reservada private:
Ahora, se ha definido TComplejo como tipo privado y se resguardan los detalles de su implementación en la parte no visible del paquete después de la palabra reservada private y hasta el fin de la especificación del paquete. En la parte visible (desde el comienzo de la especificación hasta private), se da la información disponible fuera del paquete.
Las únicas operaciones disponibles son la asignación, la igualdad y la desigualdad, aparte de las añadidas en el paquete.
Nótese que el valor de I no se puede dar pues no se conocen todavía los detalles de la implementación, se declara como constante y se le asigna después un valor en la parte privada.
Las funciones Construir_complejo, Parte_imaginaria y Parte_real son ahora necesarias pues el usuario ya no conoce la estructura del tipo TComplejo y se necesita realizar dicha interfaz para poder manejar objetos del tipo privado.
El cuerpo se podría implementar de la siguiente manera:
Y podría ser utilizado transparentemente, por ejemplo, dentro de un bloque como:
Si ahora se quisiera cambiar la implementación del tipo TComplejo y representarlo en forma polar, no sería necesario cambiar la parte visible de la especificación, por lo que todas las unidades que utilicen dicho paquete no tienen la necesidad de actualizarse. La interfaz exportada no ha cambiado y, por tanto, los programas que la utilizarán pueden seguir haciéndolo. Por ejemplo, ahora se podría representar en la parte privada de la especificación del paquete como:
Lo único que se necesitaría sería reescribir el cuerpo del paquete y recompilarlo.

## Enlaces externos

* Ejemplos de TADs

### Manual de referencia de Ada

* 7.3 Private Types and Private Extensions
# Programación en Ada/Unidades de biblioteca

Una unidad de biblioteca puede ser una especificación de subprograma o una especificación de paquete; a los cuerpos correspondientes se les denomina unidades secundarias. Se puede compilar especificación y cuerpo juntos, pero es conveniente hacerlo separadamente con el fin de mejorar la accesibilidad y el mantenimiento de los programas.
Cuando se compila una unidad, ésta se almacena dentro de la biblioteca de programas. Una vez que se incluye en la biblioteca, una unidad puede ser usada por cualquier otra unidad que se compile a continuación, esta dependencia se indica con la cláusula with.
Si el cuerpo de un subprograma es por sí mismo suficiente para definir un subprograma completo. Es entonces cuando se le clasifica como una unidad de biblioteca, en vez de tratarlo como una subunidad.
Si la especificación y el cuerpo se compilan por separado, entonces, el cuerpo debe compilarse después de la especificación, es decir, el cuerpo es dependiente de la especificación. Sin embargo, toda unidad que utilice el paquete es dependiente únicamente de la especificación, aspecto destacable de Ada. Con ello, aunque cambie el cuerpo del paquete, si no se cambia la especificación (interfaz con el exterior), no es necesario volver a recompilar las unidades que estaban utilizando dicho paquete. Se puede apreciar que la compilación separada de especificación y cuerpo simplifica el mantenimiento de los programas.
Como es obvio, las unidades de biblioteca no pueden sobrecargarse ni pueden ser operadores.

## Manual de referencia de Ada

* 10.1.1 Compilation Units - Library Units
# Programación en Ada/Unidades predefinidas

El estándar de Ada incluye una serie de unidades predefinidas útiles para muchas tareas comunes de programación y que ha de proporcionar todo compilador de Ada.
Algunas de estas unidades son:
    Paquete Standard
       Paquete System
          Paquete System.Address_To_Access_Conversions
          Paquete System.Machine_Code
          Paquete System.RPC
          Paquete System.Storage_Elements
          Paquete System.Storage_Pools
       Paquete Ada
          Paquete Ada.Command_Line
          Paquete Ada.Exceptions
          Paquete Ada.Numerics
             Paquete Ada.Numerics.Complex_Elementary_Functions - G.1.2
             Paquete Ada.Numerics.Complex_Types - G.1.1
             Paquete Ada.Numerics.Discrete_Random - A.5.2
             Paquete Ada.Numerics.Elementary_Functions - A.5.1
             Paquete Ada.Numerics.Float_Random - A.5.2
             Paquete Ada.Numerics.Generic_Complex_Elementary_Functions - G.1.2
             Paquete Ada.Numerics.Generic_Complex_Types - G.1.1
             Paquete Ada.Numerics.Generic_Elementary_Functions - A.5.1
          Paquete Ada.Real_Time
          Paquete Ada.Strings
             Paquete Ada.Strings.Fixed
             Paquete Ada.Strings.Bounded
             Paquete Ada.Strings.Unbounded
          Paquete Ada.Text_IO
             Paquete Ada.Text_IO.Editing
          Paquete Ada.Float_Text_IO
          Paquete Ada.Integer_Text_IO
          Paquete Ada.Sequential_IO
          Función genérica Ada.Unchecked_Conversion
          Procedimiento genérico Ada.Unchecked_Deallocation
       Paquete Interfaces
          Paquete Interfaces.C
             Paquete Interfaces.C.Strings
             Paquete Interfaces.C.Pointers
          Paquete Interfaces.COBOL
          Paquete Interfaces.Fortran

## Manual de refencia de Ada

* Annex A: Predefined Language Environment
# Programación en Ada/Tipos/Strings

En Ada los strings son un tipo especial de array que está implicitamente definido en el paquete Standard como:
Que el rango se defina sobre el subtipo Positive implica que ningún string de Ada puede empezar en 0. Esta es una diferencia con los strings de C/C++, la otra es que un string de Ada no tiene por qué terminar en NUL (carácter de código 0), de hecho puede tener caracteres NUL intercalados. Esto es así porque los arrays de Ada siempre llevan asociados los límites (atributos 'First y 'Last).
Los literales de tipo String se encierran entre comillas.
Al ser String un array no restringido no podemos definir variables de ese tipo sin definir explícitamente o implícitamente los límites del array.
El operador & está definido para concatenar strings entre sí y caracteres con strings.
Puesto que hay dos tipos de caracteres, hay también dos tipos de strings: String y Wide_String que es un array de Wide_Character. En Ada 2005 aparece también el tipo Wide_Wide_String cuyos elementos son Wide_Wide_Character.
Para facilitar el uso de los strings hay varios paquetes predefinidos para su manejo:
* Ada.Strings.Fixed: para strings de tamaño fijo.
* Ada.Strings.Bounded: para strings con longitud variable y un limite superior definido.
* Ada.Strings.Unbounded: para strings con longitud variable y sin límites de tamaño.
Para manejo de Wide_Strings existen otros tres paquetes predefinidos que se nombran anteponiendo Wide_ a cada uno.

## Manual de refencia de Ada

* 2.6 String Literals
* 3.6.3 String Types
* A.4.3 Fixed-Length String Handling
* A.4.4 Bounded-Length String Handling
* A.4.5 Unbounded-Length String Handling
# Programación en Ada/Tipos derivados

Hay ocasiones en las que es útil introducir un tipo nuevo que es similar en la mayoría de los aspectos a uno ya existente, pero que es un tipo distinto. Con la siguiente sentencia, se dice que S es un tipo derivado de T:

## Características

Los aspectos que definen a un tipo son su conjunto de valores y su conjunto de operaciones. El conjunto de valores de un tipo derivado es una copia del conjunto de valores del progenitor y, al ser copia, no pueden asignarse entre ambos. El conjunto de operaciones aplicables a un tipo derivado son:
* Los atributos son los mismos.
* A no ser que el tipo progenitor sea limitado, posee la asignación, igualdad y desigualdad predefinidas.
* El tipo derivado heredará los subprogramas primitivos del tipo progenitor, es decir, los subprogramas que tengan algún parámetro o un resultado de dicho tipo, y bien sean predefinidos o estén definidos en el mismo paquete que el tipo progenitor.
Estas operaciones heredadas, a efectos de uso, es como si estuvieran definidas en la misma región declarativa que el tipo derivado.

## Ejemplo

Por ejemplo, si se tiene type TEnteroNuevo is new Integer, entonces el tipo derivado TEnteroNuevo heredará los subprogramas predefinidos como "+", "-", "abs", etc. y los atributos como First o Last.
Así, por ejemplo, se puede escribir:
Como puede observarse, se hace uso del operador "+" predefinido para el tipo Integer.

## Tipos derivados frente a subtipos

¿Cuándo crear un tipo derivado en vez de un subtipo? Cuando queremos tener un nuevo tipo cuyos valores no deseamos que se confundan con los del tipo original pero queremos que posea las mismas operaciones y la misma representación que el tipo base. Por ejemplo:
Nota para programadores de C/C++: typedef realmente no define un tipo, sino que define un nuevo nombre para un mismo tipo, algo parecido al subtype, pero nada que ver con el type S is new T.

## Manual de referencia de Ada

* 3.2.3 Classification of Operations
* 3.4 Derived Types and Classes
# Programación en Ada/Tipos limitados
## Tipos privados limitados

Cuando se define un tipo privado, se predefinen inherentemente las operaciones de asignación, igualdad y desigualdad. Si no se quiere que exista ninguna operación, sino únicamente las definidas en el paquete, se debe emplear el tipo privado limitado.
Como consecuencia de no tener operador de asignación, la declaración de un objeto de dicho tipo no puede incluir un valor inicial. Esto también tiene la consecuencia de que no pueden existir constantes de un tipo privado limitado.
La ventaja es que el programador de la unidad que contenga un tipo privado limitado se asegura el control absoluto sobre los objetos de dicho tipo.
Para indicarlo, se define el tipo como limited private. Por ejemplo, implementado un tipo abstracto de datos pila:
La función "=" se implementa para comprobar que dos pilas tienen el mismo número de elementos y cada uno de ellos en el mismo orden deber ser iguales. Por eso, se ha optado por un tipo privado limitado.

## Manual de referencia de Ada

* 7.5 Limited Types