1. A computer-based method comprising at least: evaluating input program code that includes at least one rule that is syntactically consistent with a procedural programming language, wherein the at least one rule wraps a first function defined by the procedural programming language; identifying at least one input and at least one output to the first function; building a dependency graph that relates the first function to at least a second function, based on one of the input or the output to the first function; analyzing the dependency graph, and further comprising marking as out of date at least one cached output of at least the second function, in response to detecting that the at least one input to at least the second function has changed value; delaying evaluation of the first function, in response to the rule, until an occurrence of at least one triggering event; and evaluating at least the first function to produce at least one output in response to the triggering event, wherein the first function relates to a geometric design of at least one object.