ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Tipos básicos y definiciones en Haskell.


Enviado por   •  3 de Abril de 2016  •  Ensayo  •  832 Palabras (4 Páginas)  •  271 Visitas

Página 1 de 4

[pic 2]

Programacio´n Funcional

Alberto Pardo        Marcos Viera

Instituto de Computaci´on, Facultad de Ingenier´ıa Universidad de la Repu´blica, Uruguay


Tipos b´asicos y definiciones en Haskell


El tipado juega un rol importante en la produccio´n de software confiable.[pic 3]

Ayuda a encontrar errores de formacio´n e impone restricciones que van mas all´a de aspectos sint´acticos.[pic 4]

Los tipos forman parte de la especificacio´n del sistema. Son asociados a las constantes, variables, operadores y funciones.[pic 5]

Tipado en Haskell:[pic 6]

tipado fuerte: toda expresio´n debe tener un tipo[pic 7]

type safety: al ejecutar, programas bien tipados no se trancan por errores de tipo (Well-typed programs cannot ”go wrong”)[pic 8]

chequeo de tipos est´atico: o sea, en tiempo de compilacio´n[pic 9]


Boolbooleanos Charcaracteres simples Stringcadena de caracteres

Intenteros acotados Integerenteros no acotados

Floatreales Doublereales

Nota: Los nombres de tipo en Haskell deben comenzar con mayu´scula.


Las constantes de tipo Bool son denotadas True y False[pic 10]

Las operaciones primitivas son las habituales: not, && (and),[pic 11]

|| (or).

(&&) :: Bool Bool Bool False && b = False

True  && b = b

False || b = b True || b = True

Los booleanos pueden ser comparados por igualdad: (==) :: Bool Bool Bool[pic 12]

(/=) :: Bool Bool Bool


Existen dos tipos de enteros: Int (enteros acotados) e Integer[pic 13]

(enteros no acotados).

Los operadores sobre enteros son los habituales:[pic 14]

+, , , ˆ, div , mod, abs, negate.

Usando backquotes es posible convertir una funcio´n prefija en infija. Por ejemplo, 5 mod 2 en lugar de mod 5 2.[pic 15]

Como es habitual, los enteros pueden ser comparados por operadores relacionales (<, >, , ==, /=, ...).[pic 16]

La conversio´n entre los dos tipos de enteros se debe hacer en forma expli´ıcita a trav´es de las funciones:

fromInteger :: Integer Int


Los caracteres son codificados por la tabla ASCII. Se escriben entre comillas simples: ’a’, ’H’, ’8’.[pic 17][pic 18]

Algunos caracteres especiales se representan de esta manera:[pic 19]

’\t’        tab

’\n’        newline

’\\’        backslash

’\’’        comilla simple

’\"’        comilla doble

La conversio´n entre un caracter y su codificacio´n se hace a trav´es de las siguientes funciones:[pic 20]

fromEnum :: Char Int toEnum        :: Int Char


El tipo String se define como lista de caracteres.[pic 21]

Constantes de tipo String se escriben entre comillas dobles: ”Funcional”,   "\tHaskell"\n[pic 22]

Las funciones show y read permiten convertir entre valores de otros tipos y String .[pic 23]

Por ejemplo,

show (4 + 3) ~ "7"

read "3" ~ 3


Existen 2 tipos que representan los reales en punto flotante:[pic 24]

...

Descargar como (para miembros actualizados) txt (5 Kb) pdf (226 Kb) docx (1 Mb)
Leer 3 páginas más »
Disponible sólo en Clubensayos.com