la teoría de tipos es el estudio de sistemas de tipos

Upload: anonymous-l1ezjs

Post on 08-Mar-2016

4 views

Category:

Documents


0 download

DESCRIPTION

La Teoría de Tipos Es El Estudio de Siste

TRANSCRIPT

La Teora de tipos es el estudio de sistemas de tipos, que son "mtodos sintcticos tratables para proveer la ausencia de ciertos comportamientos de programa mediante la clasificacin de frases segn los tipos de valores que computan." (Types and Programming Languages, MIT Press, 2002). Muchos lenguajes de programacin se distinguen por las caractersticas de sus sistemas de tipos.Los tipos se infieren, es decir se comprueban, de forma esttica, en tiempo de compilacin.En los lenguajesde programacin condisciplina de tipos, cada tipo representa una coleccin de valores o datos similares. El conocer los tipos de las funciones ayuda a documentar los programas y evitar erroresen tiempo deejecucin.Un lenguaje tiene disciplina de tipos si los errores de tipos se detectan siempre es necesario determinar los tipos de todos los operandos, ya sea en tiempo de compilacin o de ejecucin Pascal Cercano a tener disciplina de tipos pero no realiza comprobacin de tipos en los registros variantes (incluso puede omitirse la etiqueta discriminatoria en dichos registros) Ada Resuelve el problema de los registros variantes realizando comprobacin dinmica de tipos (slo en este caso) Tiene una funcin de biblioteca que permite extraer un valor de una variable de cualquier tipo (como una cadena de bits) y usarlo como un tipo diferente (no es una conversin de tipos) se trata de una suspensin temporal de la comprobacin de tipos C No tiene disciplina de tipos por: No se realiza comprobacin de tipos sobre las uniones Permite funciones con parmetros sobre los que no se realiza comprobacin de tipos Java Tiene disciplina de tipos (no hay uniones) ML y Haskell Poseen disciplina de tipos Los tipos de los parmetros de las funciones (y de estas mismas) se conocen en tiempo de compilacin (ya sea por declaracin del usuario o por inferencia de tipos)Haskell y otros lenguajes funcionales utilizan el sistema de tipos de Milner, que tiene dos caractersticas fundamentales: Disciplina esttica de tipos: Los programas bien tipados se pueden conocer en tiempo de compilacin. Un programa bien tipado se puede utilizar sin efectuar comprobaciones de tipo en tiempo de ejecucin, estando garantizado que no se producirn errores de tipo durante el computo. Polimorfismo: Permite que una misma funcin se pueda aplicar a parmetros de diferentes tipos, dependiendo del contexto en el que la funcin se utilice.TIPOS DE DATOS Tipos de Datos En lenguajes de programacin un tipo de dato es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar.Los Tipos de Datos En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores. Casi todos los lenguajes de programacin explcitamente incluyen la notacin del tipo de datos, aunque lenguajes diferentes pueden usar terminologa diferente. La mayor parte de los lenguajes de programacin permiten al programador definir tipos de datos adicionales, normalmente combinando mltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que especifica que el dato interpretado como Persona incluir un nombre y una fecha de nacimiento.

1.5 TIPOS DE DATOSEn lenguajes de programacin un tipo de dato es un atributo de una parte de los datos que indica al ordenador (y/o al programador) algo sobre la clase de datos sobre los que se va a procesar.

En un sentido amplio, un tipo de datos define un conjunto de valores y las operaciones sobre estos valores. Casi todos los lenguajes de programacin explcitamente incluyen la notacin del tipo de datos, aunque lenguajes diferentes pueden usar terminologa diferente. La mayor parte de los lenguajes de programacin permiten al programador definir tipos de datos adicionales, normalmente combinando mltiples elementos de otros tipos y definiendo las operaciones del nuevo tipo de dato. Por ejemplo, un programador puede crear un nuevo tipo de dato llamado "Persona" que especifica que el dato interpretado como Persona incluir un nombre y una fecha de nacimiento.

Un tipo de dato entero en computacin es un tipo de dato que puede representar un subconjunto finito de los nmeros enteros. El nmero mayor que puede representar depende del tamao del espacio usado por el dato y la posibilidad (o no) de representar nmeros negativos. Los tipos de dato entero disponibles y su tamao dependen del lenguaje de programacin usado as como la arquitectura en cuestin. Por ejemplo, si para almacenar un nmero entero disponemos de 4 bytes de memoria tememos que:4 Bytes = 4x8 = 32 bits Con 32 bits se pueden representar 232=4294967296 valores: Slo positivos: del 0 al 4294967295 Positivos y negativos: del -2147483648 al 2147483647

Tipos de datos en coma flotante Se usan para representar nmeros con partes fraccionarias. Hay dos tipos de coma flotante: float y double. El primero reserva almacenamiento para un nmero de precisin simple de 4 bytes y el segundo lo hace para un numero de precisin doble de 8 bytes.Tipo:float4 Bytes (32 bits)double8 Bytes (64 bits)

Tipo de dato carcter (Char)Es cualquier signo tipogrfico, puede ser una letra, un nmero, un signo de puntuacin o un espacio. Este trmino se usa mucho en computacin.Un valor de tipo carcter es cualquier carcter que se encuentre dentro del conjunto ASCII ampliado, el cual est formado por los 128 caracteres del ASCII ms los 128 caracteres especiales que presenta, en este caso, IBM.

Los valores ordinales del cdigo ASCII ampliado se encuentran en el rango de 0 a 255. Dichos valores pueden representarse escribiendo el carcter correspondiente encerrado entre comillas simples (apstrofos).As, podemos escribir:'A' < 'aQue significa: "El valor ordinal de A es menor que el de a" o "A est antes que a"Un valor de tipo carcter (char en ingls) se guarda en un byte de memoria.La nica operacin (adems de las relacionales) que podemos hacer con caracteres es la concatenacin concatenando dos caracteres, por ejemplo 'a' y 'X' obtendramos la cadena "aX".

Tipo de dato lgico El tipo de dato lgico o booleano es en computacin aquel que puede representar valores de lgica binaria, esto es, valores que representen falso o verdadero. Se utiliza normalmente en programacin, estadstica, electrnica, matemticas (lgebra booleana), etc...Para generar un dato o valor lgico a partir de otros tipos de datos, tpicamente, se emplean los operadores relacionales (u operadores de relacin), por ejemplo: 0 es igual a falso y 1 es igual a verdadero(3>2)= 1 = verdadero(7>9)= 0 = falso

Palabra reservada una palabra reservada es una palabra que tiene un significado Gramatical especial para ese lenguaje y no puede ser utilizada como un identificador en ese lenguaje.

Por ejemplo, en SQL, un usuario no puede ser llamado "group", porque la palabra group es usada para indicar que un identificador se refiere a un grupo, no a un usuario. Al tratarse de una palabra clave su uso queda restringido.Ocasionalmente la especificacin de un lenguaje de programacin puede tener palabras reservadas que estn previstas para un posible uso en futuras versiones. En Java const y goto son palabras reservadas no tienen significado en Java, pero tampoco pueden ser usadas como identificadores. Al reservar los trminos pueden ser implementados en futuras versiones de Java, si se desea, sin que el cdigo fuente ms antiguo escrito en Java deje de funcionar.