#summary Explanation of purity and impurity. #labels Glossary = Purity = A pure [Expression expression] is an expression that has no [SideEffect side-effects]. An expression is pure if and only if all sub-expressions are pure. [Quotation Quotations] and [Literal literals] are always pure. A quotation may be impure if evaluated. A pure function is a function which consists of only pure expressions. A pure expression is [ReferentialTransparency referentially transparent]. Pure functions have a type expressed as: `(Consumption -> Production)` where as impure functions have a type expressed as `(Consumption ~> Production)`. A language is pure if only pure expressions can be expressed using it. The subset of Cat consisting of only [Level Level0] and [Level Level1] [Primitives primitives] is pure.