From Object Calculus to Java with Passing and Extraction of Methods

Higher order programming is considered a good methodology for program 
design and specification, furthermore it is fundamental for rapid prototyping. The paper is devoted to higher order programming in Java and, more in general, 
in the OO programming paradigm. It extends \cite{high2} and discusses introspection to support higher order programming and compares this technique with other different, interesting approaches, including function emulation and function integration. Finally, it addresses the problem of embedding, in the OO paradigm, 
suitable mechanisms for method passing and method extraction: It exemplifies the use in OO programming and discusses language definition techniques.