null
US
Sign In
Sign Up for Free
Sign Up
We have detected that Javascript is not enabled in your browser. The dynamic nature of our site means that Javascript must be enabled to function properly. Please read our
terms and conditions
for more information.
Next up
Copy and Edit
You need to log in to complete this action!
Register for Free
19254993
Creación de tipos y clases de tipos en Haskell
Description
Mapa mental con la descripción de como realizar y crear nuestro propios tipos y clases de tipos
No tags specified
functional programming
Mind Map by
VAQUIRO PERDOMO FREDY LEONEL
, updated more than 1 year ago
More
Less
Created by
VAQUIRO PERDOMO FREDY LEONEL
over 6 years ago
1
0
0
Resource summary
Creación de tipos y clases de tipos en Haskell
partes: ej. data Bool = True | False
podemos hacer ajuste de patrones en los constructores
La declaración del tipo puede devolver un valor
lado derecho: define el constructor del tipo de dato
los constructores son funciones como todo lo demás
Podemos abstraer la figura
los parámetros se pueden definir con un tipo de dato
los campos definidos en el constructor son parametros
Para poder ver la definición colocamos "deriving (show)"
Con esto podremos ver la difinición por consola
lado izquierdo: define el tipo de dato
podemos definir funciones a partir de estos tipos
Ver la definición del tipo de datos al final del constructos usamos "deriving (Show)"
podemos Mapear los constructores
Podemos exportar las las Funciones y tipos creando un modulo con siguiendo la estrutura
las definiciones debe estar jerarquizadas de acuerdo su uso
Cuando en el modulo se exporte el constructor se debe colocar (..)
Constructor y DataTypes
Podemos combinar los DataTypes en los Constructores
Podemos extender y hacer DataTypes más robustos
Permite que el patron se pueda transformar para que sea más legible
Nos permite declarar DataTypes y situarlas en los módulos
Sintaxis de registgro
Podemos construir una estructura de describa algún tipo ej: una persona
Podriamos definir un dataType sencillo
Pero podemos definir su estructura de una forma más optima
DataType Parameter
Nos permite pasar Tipos y con base de este generar otro tipo
Los tipos dentro del tipo deben estar plenamente definidos
Instancias Derivadas
permite crear a partir de una interfaceun comportamiento para un tipo
Permite hacer operaciones para validar un tipo con otro
Estructuras de datos Recursivas
Podemos aplicar la sintaxis de registros
Funcionamiento
Conclusión
Podemos definir funciones infijas
Definición
infixr (Definición por la derecha)
nivel de precedencia de 0 a 9, de menor a mayor
Simbolo de la función creada
Tipo de asociatividad
infixl(Definición por la izquierda)
Árbol Binario
Caracteristicas para el árbol binario de búsqeuda
No Lineal
Recursiva
Jerarquica
Auto-Contenida
No permite duplicados
Notation de orden Logaritmica
Estructura general
el nodo principal es el padre y en el nivel 0 es la raiz
los descendientes son hijos o subárbol
Tiene niveles
los nodos del mismo nivel adyacente son hermanos
Los nodos finales son hojas y no tienen hijos
Tienes caminos que son la conexión con nodos adyascentes
las ramos son las conexiones entre un nodo y otro
La altura se mide por la cantidad de niveles que posea el arbol
Definición, Ejemploo:
Debe ser Homogeneo
Puede estar vacio
Puede ser un nodo seguido de distintos tipos de datos (Hijo izquierdo y derecho)
Puede escribirse por consoloa, leido y equiparado
Está autocontenido
Clases de tipo propios
Son contratos igual que las interfaces en los lenguajes de programación con C#, Python o Java
Define un comportamiento, el comportamiento se condigue mediante la definición de sus funciones o tipos que después se implementas
Si un tipo una instancia de una clase de tipo, podemos usar sus funciones
cuando se define una clase:
Inician con primera letra en mayúscula
La variable representa el tipo a través de us instancia de la clase
No es obligatorio implementar las métodos de la clase, pero deben estar declaradas
Usa el patron de diseño
"Class" es para definir Clases de tipos
"instance": es para que nuestros tipos tengan una instancia
HACER QUE OBTENGAMOS POLIMORFISMO AL CREARLAS
Media attachments
Funciontipodato (binary/octet-stream)
Llamado1 (binary/octet-stream)
Deriving Show (binary/octet-stream)
Deriving Show1 (binary/octet-stream)
Data Typey Constructor (binary/octet-stream)
Data Typey Constructor1 (binary/octet-stream)
Sintaxis Registro (binary/octet-stream)
Sintaxis Registro12 (binary/octet-stream)
Data Typey Modulos (binary/octet-stream)
Data Type Parameter (binary/octet-stream)
Instancias (binary/octet-stream)
Edr1 (binary/octet-stream)
Edr2 (binary/octet-stream)
Edr3 (binary/octet-stream)
Inf1 (binary/octet-stream)
Inf2 (binary/octet-stream)
Inf3 (binary/octet-stream)
Arb1 (binary/octet-stream)
Arb2 (binary/octet-stream)
Arb3 (binary/octet-stream)
Arb4 (binary/octet-stream)
Arb5 (binary/octet-stream)
Ttd1 (binary/octet-stream)
Ddt2 (binary/octet-stream)
Ddt3 (binary/octet-stream)
Ddt4 (binary/octet-stream)
Ddt5 (binary/octet-stream)
Show full summary
Hide full summary
Want to create your own
Mind Maps
for
free
with GoConqr?
Learn more
.
Similar
Módulos Haskell
Daniel Jimenez
Browse Library