IP Library Granted Patent US 7,146,601
Granted Patent B2
US 7,146,601 · App. 09/977,717 · Granted Dec 5, 2006

Method and apparatus for deriving functions from other functions in a programming language

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,146,601
App. No.
09/977,717
Granted
Dec 5, 2006
Kind
B2
Abstract

The present invention provides a method and apparatus by which functions may be derived from other functions in a programming language. A function is essentially processed as a class, except that the object is automatically destructed after the final line of code is executed. In one or more embodiments of the present invention, a function has the ability to inherit from a superfunction. Inheritance in this context means that all functions in the hierarchy execute in order from the lowest level superfunction to the derived function invoked by the calling statement. Further, the derived function has access to all nonprivate methods and variables defined in the superfunctions. All functions in the hierarchy remain instantiated until the derived function has executed. At this point, the functions are destructed in reverse hierarchical order. If a function in the hierarchy enters an error condition, the execution process is halted.

Claims (26)

1. A method for executing multiple functions, comprising:

defining a superfunction;

defining a derived function,wherein said superfunction is explicitly specified and said derived function inherits from said superfunction;

calling said derived function, comprising transparently executing said superfunction and then executing said derived function after said superfunction has been executed,

wherein arguments of said superfunction and said derived function are the same.

2. The method of claim 1 , further comprising:

destructing said derived function and then said superfunction.

3. The method of claim 2 , further comprising:

halting the executing process when any function exits in an error condition.

4. The method of claim 1 , further comprising:

accessing a table to determine if an inheritance relationship exists between said superfunction and said derived function.

5. The method of claim 4 , wherein said table is stored in a random access memory.

6. A computer program product comprising:

a computer usable medium having computer readable program code embodied therein configured to execute multiple functions, said computer program product comprising:

computer readable code configured to cause a computer to define a superfunction;

computer readable code configured to cause a computer to define a derived function, wherein said superfunction is explicitly specified and said derived function inherits from said superfunction; and

computer readable code configured to cause a computer to call said derived function, comprising:

computer readable code configured to cause a computer to transparently execute said superfunction and then execute said derive function after said superfunction has been executed,

wherein arguments of said superfunction and said derived function are the same.

7. The computer program product of claim 6 , further comprising:

computer readable code configured to cause a computer to destruct said derived function and then said superfunction.

8. The computer program product of claim 7 , further comprising:

computer readable code configured to cause a computer to halt the executing process when any function exits in an error condition.

9. The computer program product of claim 6 , further comprising:

computer readable code configured to cause a computer to access a table to determine if an inheritance relationship exists between said superfunction and said derived function.

10. The method of claim 9 , wherein said table is stored in a random access memory.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Dec 16, 2015
From: ORACLE USA, INC.; SUN MICROSYSTEMS, INC.; ORACLE AMERICA, INC.
To: ORACLE AMERICA, INC.
Reel/Frame 037302/0683 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2001
From: ALLISON, DAVID S.
To: SUN MICROSYSTEMS, INC.
Reel/Frame 012267/0444 →