1. A computer program product comprising one or more computer-readable hardware storage device having thereon computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, causes the computing system to instantiate and operate a language service provider framework that comprises: an application context generation component configured to generate an application context of a dynamic language program being authored, the application context including one or more specific locations in the dynamic language program, a description of the dynamic language program, and runtime environment information corresponding to operation of the dynamic language program; a language service provider port component configured to hold one or more language service providers; and a management component configured to 1) receive the application context from the application context generation component, 2) provide the application context to a language service provider held by the language service provider port component, and 3) receive a set of available symbols corresponding to each of at least one of the one or more specific locations from the language service provider.
1. A computer program product comprising one or more computer-readable hardware storage device having thereon computer-executable instructions that are structured such that, when executed by one or more processors of a computing system, causes the computing system to instantiate and operate a language service provider framework that comprises: an application context generation component configured to generate an application context of a dynamic language program being authored, the application context including one or more specific locations in the dynamic language program, a description of the dynamic language program, and runtime environment information corresponding to operation of the dynamic language program; a language service provider port component configured to hold one or more language service providers; and a management component configured to 1) receive the application context from the application context generation component, 2) provide the application context to a language service provider held by the language service provider port component, and 3) receive a set of available symbols corresponding to each of at least one of the one or more specific locations from the language service provider. 10. The computer program product in accordance with claim 1 , wherein the management component is further configured to cause the dynamic language program to be rewritten in cases in which the available symbol set fails to be returned or in cases in which the available symbol set is delayed.