Church is a lazy, strongly typed, polymorphic programming language based on the lambda calculus.