Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Contenido
El Lenguaje Haskell ....................................................................................................................... 2 Elementos del Lenguajes............................................................................................................... 2 Caractersticas: .......................................................................................................................... 2 Estructura del Programa: ........................................................................................................... 2 Funciones: ................................................................................................................................. 2 Sintaxis de una Funcin: .........................................................................................................3 Declaracin ............................................................................................................................3 Cuerpo....................................................................................................................................3 Tipo de Datos: ............................................................................................................................3 Operadores: .............................................................................................................................. 4 Ejemplos Vistos en Clase ............................................................................................................... 4
Paradigmas y Lenguajes
Bolilla 3
Pagina 1
El Lenguaje Haskell
Haskell es un lenguaje de programacin perteneciente al paradigma Declarativo Funcional, el cual consiste en la expresin de funciones, las cuales se ejecutaran tomando el o los argumentos y retornara un resultado. Por ejemplo en un lenguaje imperativo la funcin matemtica f(x)=2x+2, se resolver como una secuencia de pasos, en cambio en el declarativo se evaluara la expresin f(x).
Imperativo Declarativo Funcional
F::int->int F::x=2*x +1
F(x)=2x+2
Lo ms cercano a este paradigma que utilizamos en nuestra vida diaria son las frmulas de las Hojas Calculo. Para las clases prcticas se utilizara WinHugh.
Funciones:
Una funciones es una relacin o procedimiento que recibe argumentos para procesarlos y producir un resultado nico, ciertas funciones matemticas devuelven mas de una valor, en Paradigmas y Lenguajes Bolilla 3 Pagina 2
otras palabras se define una ecuacin formada por el nombre de la funcin, los tipos de datos de los argumentos y el cuerpo que especifica como realizara el calculo a partir del valor los argumentos. Ejemplo de funcin Incremental: f(x)=x+1 En Haskell seria asi: Incremental :: Int -> Int Incremental x=x+1 Sintaxis de una Funcin: La funcin consta de dos partes: Su declaracin (o cabeza) y su cuerpo.
Declaracin
Nombre_de_la_funcion :: Tipo_de_dato -> Tipo_de_dato (argumento) (resultado) En este punto no es necesario declarar el nombre de las variables a utilizar solo su tipo de dato. Nombre_de_la_funcion variable_retorno= expresin
Cuerpo
Tipo de Datos:
Tipos de Datos Primitivos o Char: caracteres a,A,1,- o String: cadena de Caracteres Alumnos o Int/Integer: entero de 32 bit con signo -1000,2,200 o Float/Double: Coma flotante -1.44,22.456
Cuando definamos las variables dentro de las funciones las mismas deben ser en minsculas. Tipos de Datos Compuestos o Listas: coleccin de elementos del mismo tipo separados por coma. Se representan con corchetes. [1,3,4,5,6] o Funciones para el manejo de listas
head [1, 2, 3, 4, 5] resultado 1 retorna el primer valor de la lista tail [1, 2, 3, 4, 5] resultado [2, 3, 4, 5] retona un lista de todos los valores salvo
el primero take 3 [1, 2, 3, 4, 5] resultado [1, 2, 3] retorna una lista con los primeros n valores drop 3 [1, 2, 3, 4, 5] resultado [4, 5] retorna una lista con el resto de los valores seleccionados length [2, 4, 5] resultado 3 retorna el tamao de la lista
Paradigmas y Lenguajes
Bolilla 3
Pagina 3
reverse [1, 2, 3, 4, 5] resultado [5, 4, 3, 2, 1] retorna una lista con los valores
invertidos
Operadores:
Matematicos: o + suma o resta o * multiplicacin o / divisin o ^ potencia Logicos: o && And o || Or o < Menor o <= Menor o Igual o == Igual o /= Distinto o >= Mayor o Igual o > Mayor
F(x,y)=x^y
Paradigmas y Lenguajes
de una Lista Eleva al cuadrado todos los valores de la lista Ordena de mayor a menor
Paradigmas y Lenguajes
Bolilla 3
Pagina 5