Equational Programming in lambda-calculus