Tag
This blog post argues that type inference in programming languages, while widely adopted, can cause usability problems by increasing cognitive load and hindering code comprehension.
The article demonstrates a trick to implement dependent if-expressions without dependent types using Church encoding and rebindable syntax in Haskell, proving it works with simple type inference.
In an interview, OCaml creator Xavier Leroy discusses the design advantages of OCaml, comparisons with Rust and JavaScript, type inference principles, and the learning difficulty of functional programming.
This blog post explores parsing ambiguities in C23 involving `auto` as a type inference specifier or storage-class specifier, showing how GCC and Clang disagree on parsing declarations like `auto x = 67;` when `x` is a typedef, and how attributes complicate the situation.
This post mechanizes Mitchell Wand's 1991 type inference algorithm for biased record concatenation, providing declarative and algorithmic semantics and a Haskell reference implementation to advance type checking for Nix and other languages.
A tutorial on type inference covering the Damas-Hindley-Milner type system, unification, and related concepts, with OCaml code examples.
The article explains the basics of type inference for anonymous records in statically typed languages, using type theory notation and Haskell as the implementation language.
The author argues that the resurgence of static typing in the 2010s was due to improved type systems (e.g., TypeScript, Haskell, Rust) that offer nullable type handling, sum types, and type inference, contrasting with poor static typing in earlier languages like Java and C++98.