Appeal No. 1997-2467 Page 2 Application No. 08/509,753 taken at runtime that could not be accomplished with a static language. Common Lisp (CL) is a dynamic language. It features three types of functional objects: generic functions, ordinary functions, and methods. An ordinary function cannot be added to a generic function. A method cannot be invoked outside a generic function, except in the very restricted context of method combination, and then only using specialized syntax. Besides these restrictions, however, ordinary functions and methods provide the same functionality to a user. The distinction therebetween complicates CL. The appellants’ invention aims to allow a functional object in a dynamic language to be used as both a directly- invoked ordinary function and as a method in a generic function. Their method object contiguously comprises a header, a method-information field, a function prolog field, and a method body. When called as a component of a generic function, an entry point is at the method body or at the method-information section. When called directly, another entry point exists at the function prolog field. By combiningPage: Previous 1 2 3 4 5 6 7 8 9 10 11 NextLast modified: November 3, 2007