The Magma language is an interpreted, strongly-typed language built for algebraic computation. It provides user-defined functions, procedures, iterators, and a rich system of built-in types. Control flow, recursion, and introspection are all first-class features.