-
Draft
URust Type Systems
Understanding Structural vs Nominal Typing in Rust
Discover the differences between structural and nominal typing in Rust, using examples to illustrate how Rust's type system impacts programming safety and flexibility. Compare Rust's approach to typing with Elm's, Roc's, and TypeScript's type systems, highlighting the unique aspects of each. This post offers an in-depth exploration of Rust's type system, equipping developers with insights into how different typing strategies can influence code design.
Read more -
Draft
TRust Type Systems
The Cardinal Rules of Rust - Understanding Type Cardinality for Flawless Data Models
Algebraic data types (ADTs) are a cornerstone of type theory in programming, providing a powerful framework for constructing and manipulating complex data structures. This post delves into the algebraic nature of Rust's type system, emphasizing the critical role of understanding a type's cardinality — that is, the total number of values a type can represent. This understanding is crucial for selecting the most appropriate data model, one that ensures impossible states are inherently unrepresentable. We explore the concepts of sum and product types, and highlight the intriguing way in which functions can be seen as exponentials within this algebraic framework.
Read more -
Draft
TRust Data Modeling
The Hidden Costs of Booleans
Discover the hidden costs of using Boolean values in programming when business logic changes demand a third state. This blog post explores the extensive efforts needed for refactoring — from database migrations to frontend logic adjustments — and highlights the importance of correct data modeling with enums to maintain efficient software.
Read more