9.Β Basic Types
Lean includes a number of built-in types that are specially supported by the compiler.
Some, such as Nat
, additionally have special support in the kernel.
Other types don't have special compiler support per se, but rely in important ways on the internal representation of types for performance reasons.
- 9.1. Natural Numbers
- 9.2. Integers
- 9.3. Finite Natural Numbers
- 9.4. Fixed-Precision Integer Types
- 9.5. Bitvectors
- 9.6. Floating-Point Numbers
- 9.7. Characters
-
9.8. Strings
- 9.8.1. Logical Model
- 9.8.2. Run-Time Representation
- 9.8.3. Syntax
-
9.8.4. API Reference
- 9.8.4.1. Constructing
- 9.8.4.2. Conversions
- 9.8.4.3. Properties
- 9.8.4.4. Positions
- 9.8.4.5. Lookups and Modifications
- 9.8.4.6. Folds and Aggregation
- 9.8.4.7. Comparisons
- 9.8.4.8. Manipulation
- 9.8.4.9. Iterators
- 9.8.4.10. Substrings
- 9.8.4.11. Proof Automation
- 9.8.4.12. Metaprogramming
- 9.8.4.13. Encodings
- 9.8.5. FFI
- 9.9. The Unit Type
- 9.10. The Empty Type
- 9.11. Booleans
- 9.12. Optional Values
- 9.13. Tuples
- 9.14. Sum Types
- 9.15. Linked Lists
-
9.16. Arrays
- 9.16.1. Logical Model
- 9.16.2. Run-Time Representation
- 9.16.3. Syntax
-
9.16.4. API Reference
- 9.16.4.1. Constructing Arrays
- 9.16.4.2. Size
- 9.16.4.3. Lookups
- 9.16.4.4. Conversions
- 9.16.4.5. Modification
- 9.16.4.6. Sorted Arrays
- 9.16.4.7. Iteration
- 9.16.4.8. Transformation
- 9.16.4.9. Filtering
- 9.16.4.10. Partitioning
- 9.16.4.11. Element Predicates
- 9.16.4.12. Comparisons
- 9.16.4.13. Termination Helpers
- 9.16.4.14. Proof Automation
- 9.16.5. Sub-Arrays
- 9.16.6. FFI
- 9.17. Subtypes
- 9.18. Lazy Computations
- 9.19. Tasks and Threads