I1M-0.0.1: Code for the Haskell course taught at the University od Seville.

LicenseCreative Commons
MaintainerJosé A. Alonso
Safe HaskellSafe
LanguageHaskell2010

I1M.Tabla

Description

TAD (tipo abstracto de datos) de las tablas.

Este módulo contiene el código del TAD de las tablas estudiado en el tema 18 del curso.

En los ejemplos se usarán las siguientes tablas:

t1 = tabla [(i,f i) | i <- [1..6] ] 
     where f x | x < 3     = x
               | otherwise = 3-x
t2 = tabla [(4,89), (1,90), (2,67)]
Synopsis

Documentation

data Tabla i v Source #

El tipo de las tablas.

Instances
(Eq i, Eq v) => Eq (Tabla i v) Source # 
Instance details

Defined in I1M.Tabla

Methods

(==) :: Tabla i v -> Tabla i v -> Bool #

(/=) :: Tabla i v -> Tabla i v -> Bool #

(Show i, Show v) => Show (Tabla i v) Source # 
Instance details

Defined in I1M.Tabla

Methods

showsPrec :: Int -> Tabla i v -> ShowS #

show :: Tabla i v -> String #

showList :: [Tabla i v] -> ShowS #

tabla :: Eq i => [(i, v)] -> Tabla i v Source #

(tabla ivs) es la tabla correspondiente a la lista de asociación ivs (que es una lista de pares formados por los índices y los valores). Por ejemplo,

tabla [(4,89), (1,90), (2,67)]  ==  Tbl [(4,89),(1,90),(2,67)]

valor :: Eq i => Tabla i v -> i -> v Source #

(valor t i) es el valor del índice i en la tabla t. Por ejemplo,

valor t1 6  ==  -3
valor t2 2  ==  67
valor t2 5  ==  *** Exception: fuera de rango

modifica :: Eq i => (i, v) -> Tabla i v -> Tabla i v Source #

(modifica (i,x) t) es la tabla obtenida modificando en la tabla t el valor de i por x. Por ejemplo,

valor t1 6                   ==  -3
valor (modifica (6,9) t1) 6  ==  9