The Basic Scheme for the Evaluation of Functional Logic Programs