Media Summary: How to infer the type of `if` expressions in HM type inference Textbook: A "closure" is a data structure containing the code for a function, as well as the environment that "closes" off its free variables. How to infer the type of anonymous functions (lambdas) in HM type inference Textbook:

Let Polymorphism Ocaml Programming Chapter 9 Video 48 - Detailed Analysis & Overview

How to infer the type of `if` expressions in HM type inference Textbook: A "closure" is a data structure containing the code for a function, as well as the environment that "closes" off its free variables. How to infer the type of anonymous functions (lambdas) in HM type inference Textbook: What happens when HM type inference is over? Either a "principal type" is found, or a type error has been detected. Textbook: ... How to infer the type of function applications in HM type inference Textbook: How to infer the types of constants and names in HM type inference Textbook:

Implementing the type checker for a simple language: ` Using pattern matching to access the pieces of a variant. Textbook: Examples of pattern matching with lists, records, and tuples. Textbook: Comparing the difference between `open` and `include` in modules Textbook: In this tutorial, I will show the basic ideas of immutable lists (cons lists), as well as What looks like mutability in the toplevel is not -- it's really just a consequence of scope. Textbook: ...

Application of functions to "too few" of arguments, and syntactic sugar. Textbook: Modifying the parser and AST to incorporate type annotations on ` A substitution-model semantics for functions requires a notion of how to substitute inside the body of a function. Getting that right is ...

Photo Gallery

Let Polymorphism | OCaml Programming | Chapter 9 Video 48
The Value Restriction | OCaml Programming | Chapter 9 Video 49
Naive Inference of Let | OCaml Programming | Chapter 9 Video 47
Inference of Ifs | OCaml Programming | Chapter 9 Video 40
Closures | OCaml Programming | Chapter 9 Video 27
Inference of Functions | OCaml Programming | Chapter 9 Video 41
Finishing Type Inference | OCaml Programming | Chapter 9 Video 46
Inference of Applications | OCaml Programming | Chapter 9 Video 42
Inference of Constants and Names | OCaml Programming | Chapter 9 Video 39
SimPL Type Checker Part 2 | OCaml Programming | Chapter 9 Video 35
Pattern Matching with Variants Part 1 | OCaml Programming | Chapter 3 Video 14
Pattern Matching | OCaml Programming | Chapter 3 Video 7
View Detailed Profile
Let Polymorphism | OCaml Programming | Chapter 9 Video 48

Let Polymorphism | OCaml Programming | Chapter 9 Video 48

Achieving

The Value Restriction | OCaml Programming | Chapter 9 Video 49

The Value Restriction | OCaml Programming | Chapter 9 Video 49

HM type inference of `

Naive Inference of Let | OCaml Programming | Chapter 9 Video 47

Naive Inference of Let | OCaml Programming | Chapter 9 Video 47

How to add inference of `

Inference of Ifs | OCaml Programming | Chapter 9 Video 40

Inference of Ifs | OCaml Programming | Chapter 9 Video 40

How to infer the type of `if` expressions in HM type inference Textbook: https://cs3110.github.io/textbook.

Closures | OCaml Programming | Chapter 9 Video 27

Closures | OCaml Programming | Chapter 9 Video 27

A "closure" is a data structure containing the code for a function, as well as the environment that "closes" off its free variables.

Inference of Functions | OCaml Programming | Chapter 9 Video 41

Inference of Functions | OCaml Programming | Chapter 9 Video 41

How to infer the type of anonymous functions (lambdas) in HM type inference Textbook: https://cs3110.github.io/textbook.

Finishing Type Inference | OCaml Programming | Chapter 9 Video 46

Finishing Type Inference | OCaml Programming | Chapter 9 Video 46

What happens when HM type inference is over? Either a "principal type" is found, or a type error has been detected. Textbook: ...

Inference of Applications | OCaml Programming | Chapter 9 Video 42

Inference of Applications | OCaml Programming | Chapter 9 Video 42

How to infer the type of function applications in HM type inference Textbook: https://cs3110.github.io/textbook.

Inference of Constants and Names | OCaml Programming | Chapter 9 Video 39

Inference of Constants and Names | OCaml Programming | Chapter 9 Video 39

How to infer the types of constants and names in HM type inference Textbook: https://cs3110.github.io/textbook.

SimPL Type Checker Part 2 | OCaml Programming | Chapter 9 Video 35

SimPL Type Checker Part 2 | OCaml Programming | Chapter 9 Video 35

Implementing the type checker for a simple language: `

Pattern Matching with Variants Part 1 | OCaml Programming | Chapter 3 Video 14

Pattern Matching with Variants Part 1 | OCaml Programming | Chapter 3 Video 14

Using pattern matching to access the pieces of a variant. Textbook: https://cs3110.github.io/textbook.

Pattern Matching | OCaml Programming | Chapter 3 Video 7

Pattern Matching | OCaml Programming | Chapter 3 Video 7

Examples of pattern matching with lists, records, and tuples. Textbook: https://cs3110.github.io/textbook.

Include vs Open | OCaml Programming | Chapter 5 Video 16

Include vs Open | OCaml Programming | Chapter 5 Video 16

Comparing the difference between `open` and `include` in modules Textbook: https://cs3110.github.io/textbook.

OCaml Tutorial: Getting started with OCaml. Part 3 - Lists and Polymorphic Functions

OCaml Tutorial: Getting started with OCaml. Part 3 - Lists and Polymorphic Functions

In this tutorial, I will show the basic ideas of immutable lists (cons lists), as well as

Scope and the Toplevel | OCaml Programming | Chapter 2 Video 7

Scope and the Toplevel | OCaml Programming | Chapter 2 Video 7

What looks like mutability in the toplevel is not -- it's really just a consequence of scope. Textbook: ...

cs321 let polymorphism

cs321 let polymorphism

This lecture is about lead

Partial Application | OCaml Programming | Chapter 2 Video 14

Partial Application | OCaml Programming | Chapter 2 Video 14

Application of functions to "too few" of arguments, and syntactic sugar. Textbook: https://cs3110.github.io/textbook.

Adding Types to SimPL Interpreter | OCaml Programming | Chapter 9 Video 33

Adding Types to SimPL Interpreter | OCaml Programming | Chapter 9 Video 33

Modifying the parser and AST to incorporate type annotations on `

Substitution in Functions | OCaml Programming | Chapter 9 Video 22

Substitution in Functions | OCaml Programming | Chapter 9 Video 22

A substitution-model semantics for functions requires a notion of how to substitute inside the body of a function. Getting that right is ...