Mind map
Make our own Types and Typeclasses

Map content
Make our own Types and Typeclasses
Word "data"
- Allow us to define a new data type
- Syntaxis
- data "data_name" = "values" | "value2"
- The "|" is an or
- Both the type name and the value constructors have to be capital cased.
- Value constructors
- Are functions that return some data type
- data "data_name" = "value_constructor_name" "parameter1" "parametern" | "value_constructor_name" "parameter1" "parametern"
- We can operate over a value consctructor because is a function
- Define the parameter of a type more generic, allow us to make the parameter of any type
- Are functions that return some data type
- data "data_name" = "values" | "value2"
- Syntaxis
- Allow us to define a new data type
Defining types and typeclasses in a module
- We define types like
- "data_name"(..)
- We can omit some value constructors
- "data_name"
- Import some specifics values constructors
- "data_name"("value1", "valueN")
- We define types like
Record syntax
- Allow us to define a "name" to all the values of a type
- Allow us to define a "name" to all the values of a type
Type parameters
Deriving
- Make our data type inherit some behaviour of some typeclass
Type synonym
- GIve other name to any data type
- type "name" = "data_type_name"
- type "name" = "data_type_name"
- GIve other name to any data type
Recurisive data structures
- We can define value constructors that can have the same data type that we are defining
Make typeclasses
- Syntax
- class 'Typeclass_name' 'type_value' where
- The 'type_value' has to be a concrete type
- class 'Typeclass_name' 'type_value' where
- Functor typeclass
- Things that can be mapped over
- Syntax
Images and files in the map
Information
- Description
- Ingeniería Mind Map on Make our own Types and Typeclasses, created by WILLIAM SANTIAGO FONSECA MORA on 24/09/2021.
- Created by
- WILLIAM SANTIAGO FONSECA MORA
- Views
- 0
- Rating
More on Data Types and Typeclasses


