16. A system for compiling a natural language software application based on a set of programming constructs utilized to model semantics of a natural language, the system comprising: a computer readable storage medium to store instructions comprising: a programming language comprising a set of programming constructs for facilitating programming of natural language software applications, the set of programming constructs including a plurality of types that correspond to declarative linguistic elements of a linguistic object model, each type of the plurality of types being independent of a particular spoken language, the plurality of types comprising: an entity type derived from an entity base class having data members, properties, and methods, the entity type adapted to model noun phrases and adjective phrases; a frame type derived from a frame base class and adapted to model semantic events including verbs and nouns; a restriction type derived from a restriction base class and adapted to model oblique arguments, modifiers, and other semantic elements, the restriction type to define semantic relationships between entities and constraints on objects derived from the plurality of types, the restriction type adapted to normalize relationship semantics across syntactic representations; a denoter representing a privileged data member to map entity objects instantiated from the entity type to natural language words; and a framework including a plurality of clauses associated with each of the plurality of types, the plurality of clauses including a begin clause, a success clause, and a fail clause to resolve the existence of each of the plurality of types at runtime; and a compiler adapted to take source code containing instances of the set of programming constructs and the framework and to generate computer readable machine code and declarative schema; and a processor having access to the computer readable storage medium, the processor adapted to receive a set of instructions including selected constructs from the set of programming constructs and the framework, the processor adapted to execute the compiler to compile the set of instructions into a natural language software application.
16. A system for compiling a natural language software application based on a set of programming constructs utilized to model semantics of a natural language, the system comprising: a computer readable storage medium to store instructions comprising: a programming language comprising a set of programming constructs for facilitating programming of natural language software applications, the set of programming constructs including a plurality of types that correspond to declarative linguistic elements of a linguistic object model, each type of the plurality of types being independent of a particular spoken language, the plurality of types comprising: an entity type derived from an entity base class having data members, properties, and methods, the entity type adapted to model noun phrases and adjective phrases; a frame type derived from a frame base class and adapted to model semantic events including verbs and nouns; a restriction type derived from a restriction base class and adapted to model oblique arguments, modifiers, and other semantic elements, the restriction type to define semantic relationships between entities and constraints on objects derived from the plurality of types, the restriction type adapted to normalize relationship semantics across syntactic representations; a denoter representing a privileged data member to map entity objects instantiated from the entity type to natural language words; and a framework including a plurality of clauses associated with each of the plurality of types, the plurality of clauses including a begin clause, a success clause, and a fail clause to resolve the existence of each of the plurality of types at runtime; and a compiler adapted to take source code containing instances of the set of programming constructs and the framework and to generate computer readable machine code and declarative schema; and a processor having access to the computer readable storage medium, the processor adapted to receive a set of instructions including selected constructs from the set of programming constructs and the framework, the processor adapted to execute the compiler to compile the set of instructions into a natural language software application. 17. The system of claim 16 wherein the programming language further comprises: primitive types for modeling the semantics of the natural language.