Quick Overview: HM type inference of `let` expressions led to type schemes, which enabled polymorphism. Add mutability, though, could lead to a ... Compilers translate code from one language to another. Interpreters execute code. Virtual machines and just-in-time compilation ... The semantics of `let` uses a notion of substitution, but, how should that be defined? These examples lend intuition. Textbook: ...
Closures Ocaml Programming Chapter 9 - Detailed Overview & Context
HM type inference of `let` expressions led to type schemes, which enabled polymorphism. Add mutability, though, could lead to a ... Compilers translate code from one language to another. Interpreters execute code. Virtual machines and just-in-time compilation ... The semantics of `let` uses a notion of substitution, but, how should that be defined? These examples lend intuition. Textbook: ... What happens when HM type inference is over? Either a "principal type" is found, or a type error has been detected. Textbook: ... An example of how environment-model evaluation works. Substitution-model evaluation is list-like; environment-model, tree-like. How to infer the type of function applications in HM type inference Textbook:
A comparison of big-step vs. small-step semantics, and substitution model vs. environment model Textbook: ... Achieving polymorphism for `let` expressions in HM type inference leads to "type schemes", which universally quantify over type ... Small- and big-step evaluation relations are themselves related: the big-step is an abstraction of the small-step Textbook: ... How to infer the types of constants and names in HM type inference Textbook: Implementing the type checker for a simple language: constants, variables, and binary operators Textbook: ... The environment-model semantics of functions requires careful attention to scope Textbook: