Definition
Functions are central construct
Functions are regular values
passed around
returned
composed
(partially) applied
No variables but binding of values
all variables are immutable
Taxonomy
Group functional languages across several axis:
Statically typed / Dynamically typed
Strong typing / Weak typing
Lazy / Eager
Single paradigm / Multi paradigm
Features
Read Eval Print Loop (REPL)
Type inference (var on steroids)
Pattern matching
Algabraic data types
Function composition
Anonymous functions (lambda expressions)
Closure