A method of creating a user-defined function in a spreadsheet application
is provided. The user-defined function is callable by a calling label in
the spreadsheet application. A formula is received in the spreadsheet
application. The formula is transferred to a function sheet of the
spreadsheet application to define at least a portion of a function body.
An interface is defined by identifying the calling label, an input
parameter and a result parameter of the user-defined function. The
function body operates on an argument corresponding to the input
parameter and generates a result corresponding to the result parameter.
The interface is stored in association with the function body to create
the user-defined function.