1. A computer-implemented method for invoking a sequence of calculations in a spreadsheet application comprising: a. accepting the sequence of calculations as a function in the spreadsheet application; b. storing the function as a function definition in a first worksheet of the spreadsheet application; c. associating a moniker with the function definition; d. invoking the function in a cell of a second worksheet by inserting the moniker associated with the function definition into the cell of the second worksheet in the spreadsheet application; e. scanning at least one input to the sequence of calculations in the function definition; f. scanning at least one output from the sequence of calculations in the function definition; g. determining the inputs that each output is dependent on in order to calculate the output; h. generating a dependency graph for the sequence of calculations in the function definition; i. receiving an output node for an output in the dependency graph; j. determining if the output node needs to be calculated; k. positioning the output node onto the top of a stack based on a positive determination that the output node needs to be calculated; l. determining if any of the input values for the output node need to be calculated before generating the value of the output node; m. calculating the input value based on a positive determination that the input value needs to be calculated; n. repeating steps (l)-(m) for each input value for the output node; and o. calculating the output node.