Tag
This article explains why mutable data types cannot be subtypes of immutable types in programming languages, using the Liskov substitution principle and pairs as an example to highlight type safety and immutability contracts.
An introduction to functional programming in the hica language, covering expressions, immutability, pure functions, closures, and higher-order functions like map, filter, and fold.
Spectre is a new programming language for safe, contract-based low-level systems programming, enforcing immutability by default and compile-time/runtime contract checking. It compiles via QBE IR and includes a feature to translate C code to Spectre.