reasons for shadow variables
- there are no assignment statements
- expressions are evaluated “eagerly”, the expression producing the value is irrelevant afterwards
functions
tuples vs list list can have any number of elements tuples commit to specific numbers
parts of a language
- syntax - how to write
- semantics - evaluation rules
- idioms - typical patterns for using language features to express computation
- libraries
- tools - repl, debugger, code formatter