Patent ID: 8806451

Claim:
One or more computer-storage media storing computer-useable instructions that, when executed by a computing device, perform a method for using monads to facilitate data mining tasks, comprising: obtaining a plurality of functions in a relational language; transforming, by a processor, the plurality of functions to monadic form; arranging the plurality of transformed function monads to create a data mining workflow; converting an input data source to a monadic form; performing, by a processor, the data mining workflow on the converted input data source, including identifying a workflow computation that is repeated in a plurality of transformed function monads within the data mining workflow, the workflow computation being performed on at least a portion of the converted input data source; performing a single instance of the repeated workflow computation on the at least a portion of the converted input data source to generate an output from repeated workflow computation; and associating the output from the repeated workflow computation with the plurality of transformed function monads containing the repeated workflow computation; and storing the output from the data mining workflow.