Syntax and Semantic:
- Syntax: how to write something
- Semantic: the meaning of what have been written
- Static : compile
Dynamic: run-time - Type-checking : before programs run
Evaluation: as programs run - Binding: immutation
Assignment: mutation
Function :
- first-class: a function is a value
- environment: when the function is defined
List and Tuple:
- Pair: two values that construct a pair
- Tuple: fixed number of values which have different types
- List: any number of values which have the same type
Scope:
where a binding is in the environment
Let-expression:
local bindings
Option:
- NONE
- SOME e
- valueOf
Boolean operations:
- andalso
- orelse
- not