Why is F# code so robust and reliable?
published on 2024/09/24
- Immutability by default
- Discriminated unions with exhaustive check
- No nulls by default
- No exceptions in the business logic
- Strict dependency order
- Warnings on unused expression results
- Typed primitives
- Explicit conversions
- Functional approach to concurrency
- Explicit dependency injection