The definition and implementation of a computer programming language based on constraints - Steele, Guy Lewis (1980)