Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Tipos básicos y definiciones en Haskell.

Enviado por   •  15 de Enero de 2018  •  671 Palabras (3 Páginas)  •  387 Visitas

Página 1 de 3

...

Float y Double

Las operaciones sobre estos tipos son las estandar (aritm´eticas, trigonom´etricas, etc)[pic 25]

Hay funciones de conversio´n hacia y desde los enteros.[pic 26]

ceiling :: Float → Integer floor :: Float → Integer round :: Float → Integer

fromInteger :: Integer → Float fromIntegral :: Int → Float

---------------------------------------------------------------

Es posible definir funciones a trav´es de ecuaciones con condiciones.[pic 27]

min x y | x ™ y = x

| otherwise = y

donde otherwise es una condicio´n que siempre es verdadera.

Las condiciones se evaluan en secuencia y se escoge el primer caso cuya condicio´n sea verdadera.[pic 28]

Una forma alternativa es mediante el uso de if then else min x y = if x ™ y then x else y[pic 29][pic 30][pic 31]

Si todas las condiciones fallan, entonces da error. Por ejemplo, llamar mint 4 3.[pic 32]

mint x y | x ™ y = x

---------------------------------------------------------------

Otro ejemplo:[pic 33]

checkVal x y | x y = 1

| x > y = −1

| x == y = 0

En la u´ltima ecuacio´n podr´ıamos haber usado otherwise:[pic 34]

checkVal x y | x y = 1

| x > y = −1

| otherwise = 0

---------------------------------------------------------------

En Haskell es posible definir m´odulos.[pic 35]

Cada m´odulo va a tener un nombre y va a contener un conjunto de definiciones.[pic 36]

module A where

square :: Integer → Integer square x = x ∗ x

double :: Integer → Integer double x = 2 ∗ x

Como es habitual, m´odulos pueden importar otros m´odulos:[pic 37]

module Quad where import A

quad :: Integer → Integer

quad x = double (double x )

---------------------------------------------------------------

Podemos redefinir una definicio´n que est´a siendo importada de otro m´odulo.[pic 38]

module Quad where import A hiding (double)

double :: Integer → Integer double x = x ∗ x

quad :: Integer → Integer

quad x = double (double x )

...

Descargar como  txt (5.2 Kb)   pdf (127.5 Kb)   docx (572.2 Kb)  
Leer 2 páginas más »
Disponible sólo en Essays.club