Philosophy

Purity

Running a program has no side-effects

Determinism

Running a program on the same input will always produce the same output

Reliability

No runtime errors, once parsed a program will always run

Flow

Code should be written left to right