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