A functional programming language