An Implementation of Bubbling
  Non-determinism is of great importance in functional logic programming. It provides expressiveness and efficiency to functional logic computations. In this paper we describe an implementation of the multi-paradigm functional logic language Curry. The evaluation strategy employed by the implementation is based on definitional trees and needed narrowing for deterministic operations, while non-deterministic operations will depend on the graph transformation, bubbling. Bubbling preserves the completeness of non-deterministic operations and avoids unnecessary large-scale reconstruction of expressions done by other approaches. 
Abdulla Alqaddoumi and Enrico Pontelli
cs.PL