Use LEFT and RIGHT arrow keys to navigate between flashcards;
Use UP and DOWN arrow keys to flip the card;
H to show hint;
A reads text to speech;
9 Cards in this Set
- Front
- Back
Immutable |
It makes sharing and aliasing irrelevant |
|
Function Binding |
Syntax: fun x0 (x1 : t1) = e;
Type Checking: we type check the body e in a static env that maps x1 to t1
Evaluation: a function is a value |
|
Recursive: |
A function definition that can use itself |
|
Type Inference |
Automatic deduction of a data type in a function |
|
Function Calls |
Syntax: e0(e1...,en)
Type Checking: e0 has a type that looks like t1* tn -> t
Evaluation Rules: en to vn then v0 must be a function and maps the arguments to the current env
|
|
ML tuples |
A pair that allows multiple parts, fixed length could use different data types
EX: 3 - tuples has type int * int * int (2, 8, 7)
|
|
ML Lists |
Must contain the same data type and has a flexible length []
|
|
Scope of a Binding |
Where it can be used |
|
ML Let Expressions |
Syntax: let b1 b2... bn in e end
Semantics: Eval each binding in turn creating a larger env for the subsequent bindings. We can use earlier binding for later ones
Type Checking: The type of e is the type for the entire let expression. |