fun DMFP(project,motivation) = | DMFP(,motivation) = motivation | DMFP(ML(proj)::rest, motivation) = let val typeErrs = compile(proj) val time = estimatedTime(proj)*estimatedTime(proj) in DMFP(rest,motivation - time*typeErrs) end | DMFP(DiscreteMath(proof)::rest, motivation) = let val baseCase = hd(proof) val inductiveCase = tl(proof) val totalProof = DMFP(DiscreteMath(baseCase::inductiveCase), motivation - difficulty(baseCase)) in DMFP(rest,totalProof) end;
The life of a VanDruid is devoted to understanding this code and optimizing the input for the highest possible output, which is said to represent the excitement at solving a problem. Interestingly, studies have been conducted proving that the length of the output is inversely proportional to the length of the input, so that, for most programmers, the most optimized input possible is
where k is a constant representing the most satisfaction with programming the user is capable of feeling.
The VanDruids, however, train their minds and have actually managed to reverse this generality, so that larger projects can produce greater satisfaction and higher motivation to start new projects.