My way to functional programming
Procedural languages tend to keep track of state (using variables) and tend to execute as a sequence of steps.
Purely functional languages don't keep track of state, use immutable values, and tend to execute as a series of dependencies.