1. A method for instructing a programmable computer, the method comprising: receiving from a user through a user interface, an adjustment input to move an icon on a screen to a position in which the icon is touching one or more other icons to form a first grouping, the first grouping comprises an icon of a first data indication predicate touching an icon of a first action predicate, and the first data indication predicate is positive or negative based on a position of a game character relative to an object in a computer game; a declarative specification for controlling the game character in the computer game as a function of the first grouping, wherein the first grouping is a logical implication in which the game character performs a respective action identified by the icon of the first action predicate when the first data indication predicate is positive and the game character does not perform the respective action identified by the icon of the first action predicate when the first data indication predicate is negative; and during the computer game, in response to the declarative specification, allowing the game character to perform the respective action identified by the icon of the first action predicate when the first data indication predicate is positive and not allowing the game character to perform the respective action identified by the icon of the first action predicate when the first data indication predicate is negative; wherein: one section of the screen comprises a declarative specification area, the adjustment input is received via the declarative specification area and displays the icon of the first data indication predicate and the icon of the first action predicate; and another section of the screen provides a view of a real time execution of the declarative specification, showing in real time, an effect of the adjustment input on the computer game as the declarative specification is altered.