A strongly-typed functional programming language