6.4. Types¶
- 6.4.1. Data types with no constructors
- 6.4.2. Data type contexts
- 6.4.3. Infix type constructors, classes, and type variables
- 6.4.4. Type operators
- 6.4.5. Liberalised type synonyms
- 6.4.6. Type variable defaulting
- 6.4.7. Existentially quantified data constructors
- 6.4.8. Declaring data types with explicit constructor signatures
- 6.4.9. Generalised Algebraic Data Types (GADTs)
- 6.4.10. Type families
- 6.4.11. Datatype promotion
- 6.4.12. Unique syntax for type-level lists and tuples
- 6.4.13. Type-level data declarations
- 6.4.14. Kind polymorphism
- 6.4.15. Representation polymorphism
- 6.4.16. Type-Level Literals
- 6.4.17. Visible type application
- 6.4.18. Type abstractions
- 6.4.19. Required type arguments
- 6.4.20. Arbitrary-rank polymorphism
- 6.4.21. Impredicative polymorphism
- 6.4.22. Linear types
- 6.4.23. Custom compile-time errors
- 6.4.24. Deferring type errors to runtime
- 6.4.25. Roles