Course: Paradigms of Computer Programming @ edX
- confluency - if you have a large program built
out of functions that are composed together, we can evaluate in any order
and get the same result.
referential transparency - replacing equals by equals.
functional language - LISP, Scheme, ML, Haskell, OCaml..
Logic languages - SQL, constraint programming, Prolog ..
combinations XSL (formatting), XSLT (transforming)..
- constraint programming
declarative versus imperative - properties versus commands, stateless versus stateful.
The scope of an identifier occurrence can be determined by inspecting the program text. We do not need to execute. So this is called lexical scoping, or static scoping.