Media Summary: HM type inference of `let` expressions led to type schemes, which enabled polymorphism. Add mutability, though, could lead to a ... How to implement a function that counts up with every invocation, using references Textbook: Achieving polymorphism for `let` expressions in HM type inference leads to "type schemes", which universally quantify over type ...
The Value Restriction Ocaml Programming - Detailed Analysis & Overview
HM type inference of `let` expressions led to type schemes, which enabled polymorphism. Add mutability, though, could lead to a ... How to implement a function that counts up with every invocation, using references Textbook: Achieving polymorphism for `let` expressions in HM type inference leads to "type schemes", which universally quantify over type ... A notion of "behavioral equality" is at the heart of reasoning about the correctness of functional programs Textbook: ... Lex Fridman Podcast full episode: Thank you for listening ❤ Check out our ... How to make variants be recursive, and how to parameterize them on other types. Textbook:
How `let` expressions create scope and shadowing. Textbook: Proof by induction of correctness of a function that computes the summation of an integer sequence Textbook: ... How to infer the type of anonymous functions (lambdas) in HM type inference Textbook: How to handle exceptions with `try` and pattern matching. Textbook: A "closure" is a data structure containing the code for a function, as well as the environment that "closes" off its free variables. The `option` type, which represents optional data. It's a principled way to avoid the plague of `null`. Textbook: ...
Functors, which is a funny name for an elegant concept: functions on modules Textbook: