1. A system for providing a computer language with which to write rules, the system comprising: a rules container; a rules classes container that provides a code library of rules and unit tests from which to inherit; a rules graphical user interface (“GUI”), wherein the rules GUI comprises: a code field window, which accepts code of a rule, said code field window comprising: an editable name field that accepts code corresponding to a name of a rule; an editable narrative field that accepts code corresponding to a description of the rule; an editable rule field that accepts code corresponding to a logic of the rule; an editable unit test field that accepts code corresponding at least one unit test corresponding to the logic of the rule; a documentation presentation window, displayed side by side with the code window, which displays documentation corresponding to the name field and the narrative field, said documentation comprising: the name of the rule displayed in a non-editable format; and the narrative of the rule displayed in a non-editable format; the logic of the rule displayed in a non-editable format; the at least one unit test displayed in a non-editable format; upon receipt of code a rule in the code window, the system is configured to check if the rule, included in the code window, contains a name in the name field and a narrative in the narrative field, and: in the event that the narrative field contain a minimum number of characters, a minimum number of words and a minimum number of sentences, the system is configured to save the rule into the rules container; in the event that the narrative field contains less than the minimum number of characters, less than the minimum number of words or less than the minimum number of sentences, the system is configured to provide an incomplete message to a user and disable the user's ability to save the rule.