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. Existentially quantified data constructors
- 6.4.7. Declaring data types with explicit constructor signatures
- 6.4.8. Generalised Algebraic Data Types (GADTs)
- 6.4.9. Type families
- 6.4.10. Datatype promotion
- 6.4.11. Type-level data declarations
- 6.4.12. Kind polymorphism
- 6.4.13. Representation polymorphism
- 6.4.14. Type-Level Literals
- 6.4.15. Visible type application
- 6.4.16. Type abstractions
- 6.4.17. Arbitrary-rank polymorphism
- 6.4.18. Impredicative polymorphism
- 6.4.19. Linear types
- 6.4.20. Custom compile-time errors
- 6.4.21. Deferring type errors to runtime
- 6.4.22. Roles